sesame.solvers.default.solve

default.solve(system, compute='all', guess=None, tol=1e-06, periodic_bcs=True, maxiter=300, verbose=True, 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.

compute: string :

Set to ‘all’ to solve the full drift-diffusion-Poisson equations, or to ‘Poisson’ to only solve the Poisson equation. Default is set to ‘all’.

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).

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.