solve_Poisson is the function devoted to the solution of the Poisson equation. First argument must be a grid (both grid2D or grid3D) class, the second argument a interface class (both interface2D or interface3D).
The equation to be solved is described by the formula below
where (p-n) represents the free charge, ε the dielectric constant, φ the electrostatic potential and ρfix the fixed charge.
It can be either solved in the 2D as well as in the 3D domain. This is discriminated by the grid class. If the grid passed is grid2D class, then the
Poisson equation is solved along the 2D domain (and the second argument must be an interface2D class). Otherwise, if the grid passed is a grid3D class,
then the Poisson equation is solved along the 3D domain (and the second argument must be an interface3D class)
As input, solve_Poisson requires the free charge and the fixed charge to be passed in interface, and as output it returns the electrostatic potential stored in the attribute Phi of the class interface.
From a numerical point of view, the Newton-Raphson (NR) method is adopted, whose exit criterion is based on the evaluation of the norm-two of variation v of the potential computed at the i-th step. In particular, it stops if v<normpoisson, which is the attribute of interface.
Have a look at the tutorial on the solution of the NEGF and Poisson equation for more information as well as to the solve_self_consistent function to get an insight of the numerics.
Related tutorial: Tutorial 04.