sesame.solvers.default.solve_equilibrium

default.solve_equilibrium(system, guess=None, tol=1e-06, periodic_bcs=True, maxiter=300, verbose=True, iterative=False, inner_tol=1e-06, htp=1)

Solve the Poisson equation.

Parameters:

system: Builder :

The discretized system.

guess: numpy array of floats :

Contains the electrostatic potential.

tol: float :

Accepted error made by the Newton-Raphson scheme.

periodic_bcs: boolean :

Defines the choice of boundary conditions in the y-direction. True (False) corresponds to periodic (abrupt) boundary conditions.

maxiter: integer :

Maximum number of steps taken by the Newton-Raphson scheme.

verbose: boolean :

The solver returns the step number and the associated error at every step if set to True (default).

iterative: boolean :

Defines if an iterative method should be used to solve for the Newton correction instead of a direct method. Default is False.

inner_tol: float :

Error of the inner iterative solver when used.

htp: integer :

Number of homotopic Newton loops to perform.

Returns:

solution: dictionary with numpy arrays of floats :

Dictionary containing the one-dimensional arrays of the solution: the electron quasi-Fermi level (zeros), the hole quasi-Fermi level (zeros) and the electrostatic potential. Keys are ‘efn’, ‘efp’ and ‘v’. An exception is raised if no solution could be found.