sesame.solvers.default.solve

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

Solve the drift diffusion Poisson equation on a given discretized system out of equilibrium. If the equilibrium electrostatic potential is not yet computed, the routine will compute it and save it for further computations.

Parameters:

system: Builder :

The discretized system.

guess: dictionary of numpy arrays of floats :

Contains the one-dimensional arrays of the initial guesses for the electron quasi-Fermi level, the hole quasi-Fermi level and the electrostatic potential. Keys should be ‘efn’, ‘efp’ and ‘v’.

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 keys are the same as the ones for the guess. An exception is raised if no solution could be found.