# PLaSK User Manual

#### Page Contents

- `gain`
  - Solver classes
  - Functions
  - Descriptions
    - Function Details
      - `FreeCarrier2D()`
      - `FreeCarrier3D()`
      - `FreeCarrierCyl()`
      - `WasiakNew2D()`
      - `WasiakNewCyl()`

# `gain`

Gain solvers.

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

Example

    >>> import gain
    >>> gain.WasiakNewCyl('mysolver')
    <gain.wasiak.WasiakNewCyl at 0x42ac2b8>

## Solver classes

`freecarrier.FreeCarrier2D`([name]) | Quantum-well gain using free-carrier approximation for two-dimensional Cartesian geometry.
`freecarrier.FreeCarrierCyl`([name]) | Quantum-well gain using free-carrier approximation for cylindrical geometry.
`freecarrier.FreeCarrier3D`([name]) | Quantum-well gain using free-carrier approximation for three-dimensional Cartesian geometry.
`wasiak.WasiakNew2D`([name]) | Gain solver based on Fermi Golden Rule for Cartesian 2D geometry.
`wasiak.WasiakNewCyl`([name]) | Gain solver based on Fermi Golden Rule for Cylindrical 2D geometry.

## Functions

`FreeCarrier2D`([name]) | Create FreeCarrier2D solver.
`FreeCarrier3D`([name]) | Create FreeCarrier3D solver.
`FreeCarrierCyl`([name]) | Create FreeCarrierCyl solver.
`WasiakNew2D`([name]) | Create WasiakNew2D solver.
`WasiakNewCyl`([name]) | Create WasiakNewCyl solver.

## Descriptions

### Function Details

gain.FreeCarrier2D(name='')

  Create FreeCarrier2D solver.

  This function automatically loads `freecarrier` submodule and creates `FreeCarrier2D` class.

  Parameters:

    name (str) – Solver name.

gain.FreeCarrier3D(name='')

  Create FreeCarrier3D solver.

  This function automatically loads `freecarrier` submodule and creates `FreeCarrier3D` class.

  Parameters:

    name (str) – Solver name.

gain.FreeCarrierCyl(name='')

  Create FreeCarrierCyl solver.

  This function automatically loads `freecarrier` submodule and creates `FreeCarrierCyl` class.

  Parameters:

    name (str) – Solver name.

gain.WasiakNew2D(name='')

  Create WasiakNew2D solver.

  This function automatically loads `wasiak` submodule and creates `WasiakNew2D` class.

  Parameters:

    name (str) – Solver name.

gain.WasiakNewCyl(name='')

  Create WasiakNewCyl solver.

  This function automatically loads `wasiak` submodule and creates `WasiakNewCyl` class.

  Parameters:

    name (str) – Solver name.