# PLaSK User Manual

#### Page Contents

- `electrical`
  - Solver classes
  - Functions
  - Descriptions
    - Function Details
      - `ActiveCond2D()`
      - `ActiveCond3D()`
      - `ActiveCondCyl()`
      - `Diffusion2D()`
      - `Diffusion3D()`
      - `DiffusionCyl()`
      - `DriftDiffusion2D()`
      - `DriftDiffusionCyl()`
      - `OldDiffusion2D()`
      - `OldDiffusionCyl()`
      - `Shockley2D()`
      - `Shockley3D()`
      - `ShockleyCyl()`

# `electrical`

Electrical solvers.

This package combines all electrical solvers and helper functions that can create solver classes without a need to explicitly import the proper binary module.

Example

    >>> import electrical
    >>> electrical.OldDiffusionCyl('mysolver')
    <electrical.olddiffusion.OldDiffusionCyl at 0x42ac2b8>

## Solver classes

`ddm2d.DriftDiffusion2D`([name]) | Finite element drift-diffusion electrical solver for 2D Cartesian geometry.
`ddm2d.DriftDiffusionCyl`([name]) | Finite element drift-diffusion electrical solver for 2D cylindrical geometry.
`diffusion.Diffusion2D`([name]) | Calculates carrier pairs concentration in active region using FEM in two-dimensional Cartesian space
`diffusion.DiffusionCyl`([name]) | Calculates carrier pairs concentration in active region using FEM in two-dimensional cylindrical space
`diffusion.Diffusion3D`([name]) | Calculates carrier pairs concentration in active region using FEM in three-dimensional space
`olddiffusion.OldDiffusion2D`([name]) | Calculates carrier pairs concentration in active region using FEM in one-dimensional cartesian space
`olddiffusion.OldDiffusionCyl`([name]) | Calculates carrier pairs concentration in active region using FEM in one-dimensional cylindrical space
`shockley.Shockley2D`([name]) | Finite element thermal solver for 2D Cartesian geometry.
`shockley.ShockleyCyl`([name]) | Finite element thermal solver for 2D cylindrical geometry.
`shockley.Shockley3D`([name]) | Finite element thermal solver for 3D Cartesian geometry.
`shockley.ActiveCond2D`([name]) | Finite element thermal solver for 2D Cartesian geometry.
`shockley.ActiveCondCyl`([name]) | Finite element thermal solver for 2D cylindrical geometry.
`shockley.ActiveCond3D`([name]) | Finite element thermal solver for 3D Cartesian geometry.
`olddiffusion.OldDiffusion2D`([name]) | Calculates carrier pairs concentration in active region using FEM in one-dimensional cartesian space
`olddiffusion.OldDiffusionCyl`([name]) | Calculates carrier pairs concentration in active region using FEM in one-dimensional cylindrical space

## Functions

`ActiveCond2D`([name]) | Create ActiveCond2D solver.
`ActiveCond3D`([name]) | Create ActiveCond3D solver.
`ActiveCondCyl`([name]) | Create ActiveCondCyl solver.
`Diffusion2D`([name]) | Create Diffusion2D solver.
`Diffusion3D`([name]) | Create Diffusion3D solver.
`DiffusionCyl`([name]) | Create DiffusionCyl solver.
`DriftDiffusion2D`([name]) | Create DriftDiffusion2D solver.
`DriftDiffusionCyl`([name]) | Create DriftDiffusionCyl solver.
`OldDiffusion2D`([name]) | Create OldDiffusion2D solver.
`OldDiffusionCyl`([name]) | Create OldDiffusionCyl solver.
`Shockley2D`([name]) | Create Shockley2D solver.
`Shockley3D`([name]) | Create Shockley3D solver.
`ShockleyCyl`([name]) | Create ShockleyCyl solver.

## Descriptions

### Function Details

electrical.ActiveCond2D(name='')

  Create ActiveCond2D solver.

  This function automatically loads `shockley` submodule and creates `ActiveCond2D` class.

  Parameters:

    name (str) – Solver name.

electrical.ActiveCond3D(name='')

  Create ActiveCond3D solver.

  This function automatically loads `shockley` submodule and creates `ActiveCond3D` class.

  Parameters:

    name (str) – Solver name.

electrical.ActiveCondCyl(name='')

  Create ActiveCondCyl solver.

  This function automatically loads `shockley` submodule and creates `ActiveCondCyl` class.

  Parameters:

    name (str) – Solver name.

electrical.Diffusion2D(name='')

  Create Diffusion2D solver.

  This function automatically loads `diffusion` submodule and creates `Diffusion2D` class.

  Parameters:

    name (str) – Solver name.

electrical.Diffusion3D(name='')

  Create Diffusion3D solver.

  This function automatically loads `diffusion` submodule and creates `Diffusion3D` class.

  Parameters:

    name (str) – Solver name.

electrical.DiffusionCyl(name='')

  Create DiffusionCyl solver.

  This function automatically loads `diffusion` submodule and creates `DiffusionCyl` class.

  Parameters:

    name (str) – Solver name.

electrical.DriftDiffusion2D(name='')

  Create DriftDiffusion2D solver.

  This function automatically loads `ddm2d` submodule and creates `DriftDiffusion2D` class.

  Parameters:

    name (str) – Solver name.

electrical.DriftDiffusionCyl(name='')

  Create DriftDiffusionCyl solver.

  This function automatically loads `ddm2d` submodule and creates `DriftDiffusionCyl` class.

  Parameters:

    name (str) – Solver name.

electrical.OldDiffusion2D(name='')

  Create OldDiffusion2D solver.

  This function automatically loads `olddiffusion` submodule and creates `OldDiffusion2D` class.

  Parameters:

    name (str) – Solver name.

electrical.OldDiffusionCyl(name='')

  Create OldDiffusionCyl solver.

  This function automatically loads `olddiffusion` submodule and creates `OldDiffusionCyl` class.

  Parameters:

    name (str) – Solver name.

electrical.Shockley2D(name='')

  Create Shockley2D solver.

  This function automatically loads `shockley` submodule and creates `Shockley2D` class.

  Parameters:

    name (str) – Solver name.

electrical.Shockley3D(name='')

  Create Shockley3D solver.

  This function automatically loads `shockley` submodule and creates `Shockley3D` class.

  Parameters:

    name (str) – Solver name.

electrical.ShockleyCyl(name='')

  Create ShockleyCyl solver.

  This function automatically loads `shockley` submodule and creates `ShockleyCyl` class.

  Parameters:

    name (str) – Solver name.