# Shockley2D¶

<electrical solver="Shockley2D">

Corresponding Python class: electrical.shockley.Shockley2D.

Two-dimensional phenomenological solver in Cartesian geometry based on Shockley equation and using finite-element method.

Attributes: name (required) – Solver name.
Contents:
<geometry>

Geometry for use by this solver.

Attributes: ref (required) – Name of a Cartesian2D geometry defined in the  section.
<mesh>

Rectangular2D mesh used by this solver.

Attributes: ref (required) – Name of a Rectangular2D mesh defined in the  section. (mesh) include-empty – Should empty regions (e.g. air) be included into computation domain? (bool, default is ‘no’)
<voltage>

Voltage boundary conditions. See subsection Boundary conditions.

<loop>

Configuration of the self-consistent loop.

Attributes: maxerr – Maximum allowed current density error. (float [%], default 0.05 %)
<matrix>

Configuration of the matrix solver.

Attributes: algorithm – Algorithm used for solving set of linear positive-definite equations. (‘cholesky’, ‘gauss’, or ‘iterative’, default is ‘cholesky’) itererr – Maximum allowed residual error for the iterative algorithm. (float, default 1e-08) iterlim – Maximum number of iterations for the iterative algorithm. (int, default 10000) logfreq – Number of iterations after which the progress is logged. (int, default 500)
<junction>

Configuration of the effective model of p-n junction.

Attributes: beta# – Junction coefficients. This is an inverse of the junction thermal voltage. (float [1/V]) js# – Reverse bias current densities. (float [A/m2]) pnjcond – Initial vertical conductivity of the junctions. (float [S/m], default 5.0 S/m)
<contacts>

Properties of the contact layers.

Attributes: pcond – p-contact conductivity. (float [S/m], default 5.0 S/m) ncond – n-contact conductivity. (float [S/m], default 50.0 S/m)