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.