# IMPLICIT

References: BaniHashemian2016

Parameters for the implicit (generalized) Poisson solver. [Edit on GitHub]

Subsections

- DIELECTRIC
- DIRICHLET_BC

## Keywords

- BOUNDARY_CONDITIONS

- MAX_ITER

- NEUMANN_DIRECTIONS

- OR_PARAMETER

- TOL

- ZERO_INITIAL_GUESS

## Keyword descriptions

BOUNDARY_CONDITIONS: enum = PERIODIC

  Usage: BOUNDARY_CONDITIONS <bc_type>

  Valid values:

  - `PERIODIC` periodic boundary conditions

  - `MIXED` Dirichlet + homogeneous Neumann boundary conditions

  - `MIXED_PERIODIC` Dirichlet + periodic boundary conditions

  - `NEUMANN` homogeneous Neumann BC (zero-average solution)

  Specifies the type of boundary conditions. Dirichlet=fixed value, Neumann=zero normal deriv. Mixed and Neumann boundaries essentially requires FFTW3 so that all grid sizes are FFT-able. [Edit on GitHub]

MAX_ITER: integer = 30

  Usage: max_iter <integer>

  Maximum number of iterations. [Edit on GitHub]

NEUMANN_DIRECTIONS: enum = XYZ

  Usage: NEUMANN_DIRECTIONS <direction>

  Valid values:

  - `XYZ`

  - `XY`

  - `XZ`

  - `YZ`

  - `X`

  - `Y`

  - `Z`

  Directions in which homogeneous Neumann conditions are imposed. In the remaining directions periodic conditions will be enforced. Having specified MIXED or NEUMANN as BOUNDARY_CONDITIONS, the keyword is meant to be used to combine periodic and homogeneous Neumann conditions at the boundaries of the simulation cell. [Edit on GitHub]

OR_PARAMETER: real = 1.00000000E+000

  Aliases: OMEGA

  Usage: OR_PARAMETER <real>

  Over-relaxation parameter (large epsilon requires smaller omega ~0.1). [Edit on GitHub]

TOL: real = 1.00000000E-008

  Usage: tol <real>

  Stopping tolerance. [Edit on GitHub]

ZERO_INITIAL_GUESS: logical = F

  Lone keyword: `T`

  Usage: ZERO_INITIAL_GUESS <logical>

  Whether or not to use zero potential as initial guess. [Edit on GitHub]