submodule(specialmatrices_poisson2D) poisson2D_constructors use stdlib_optval, only: optval implicit none(type, external) contains module procedure initialize ! Grid spacing. real(dp) :: dx, dy A%nx = nx; A%ny = ny dx = optval(Lx, 1.0_dp)/(nx + 1); dy = optval(Ly, 1.0_dp)/(ny + 1) A%dx = dx; A%dy = dy end procedure initialize end submodule poisson2D_constructors