Appearance
adam_flail_parameters
ADAM, FLAIL elliptic solver library: shared parameters (issue #84).
The boundary-condition kinds of the elliptic solvers, one per domain face, shared by the FFT solver, the multigrid solver and the FLAIL facade (a module of its own: the solvers cannot use the facade, which uses them).
FLAIL_BC_PERIODIC: both faces of the axis; the library's periodicity (grid%is_ijk_periodic).FLAIL_BC_DIRICHLET: the value at the face (homogeneous in the solvers:phi_ghost = -phi_boundary; second order: the wall at the face). The FFT solver extends the source odd about the face.FLAIL_BC_NEUMANN: the normal derivative at the face (homogeneous in the solvers:phi_ghost = phi_boundary). The FFT solver extends the source even about the face. Without a Dirichlet face anywhere the operator is singular: the solve drops the source mean, as on a periodic grid.FLAIL_BC_DIRICHLET_GHOST: the value at the centre of the first ghost cell (issue #87: the multigrid's coarsest level and its James step, where the ghost values are computed, not prescribed). The wall sits half a cell outside the domain, so as a prescribed condition it is first order; not for clients.FLAIL_BC_ZERO_GHOSTS: every ghost layer zero (issue #84, E2b): PRISM's elliptic Dirichlet face, which its D and G read the same way. With the compact operator it isFLAIL_BC_DIRICHLET_GHOST(the 7-point stencil reads one ghost layer); with the wide D(G) it is no reflection, and the FFT solver solves it by preconditioned CG.FLAIL_BC_FREE_GHOSTS: every ghost layer holds the continuum free-space potential of the source,-sum_y factor f(y) dV / (4 pi |x - y|)(issue #84, E3c): PRISM's exact/open face. The operator is the zero-ghost one (the two kinds mix on an axis), the ghost values enter the right-hand side; the FFT solver with the wide D(G) only. Rank 0 sums over the gathered source: the values do not depend on the decomposition.
Source: src/lib/common/adam_flail_parameters.F90
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
FLAIL_BC_PERIODIC | integer(kind=I4P) | parameter | Periodic (both faces of the axis). |
FLAIL_BC_DIRICHLET | integer(kind=I4P) | parameter | Value at the face. |
FLAIL_BC_NEUMANN | integer(kind=I4P) | parameter | Normal derivative at the face. |
FLAIL_BC_DIRICHLET_GHOST | integer(kind=I4P) | parameter | Value at the first ghost centre (issue #87, internal). |
FLAIL_BC_ZERO_GHOSTS | integer(kind=I4P) | parameter | Every ghost layer zero (PRISM's Dirichlet, E2b). |
FLAIL_BC_FREE_GHOSTS | integer(kind=I4P) | parameter | Ghosts: the free-space potential (PRISM's exact/open, E3c). |