# Simple-drift-models

For the simple drift-diffusion model one can use several mobility models as well as several generation/recombination models. So far the following different options for the mobility model are implemented:
`- \$mobility-model-simba-0`
`- \$mobility-model-simba-1`
`- \$mobility-model-simba-2`
`- \$mobility-model-simba-3`
`- \$mobility-model-simba-4`
`- \$mobility-model-simba-5`
`- \$mobility-model-simba-0e ! `with perpendicular E field dependence (makes only sense in 2D and 3D)
`- \$mobility-model-simba-1e ! `with perpendicular E field dependence (makes only sense in 2D and 3D)
`- \$mobility-model-simba-2e ! `with perpendicular E field dependence (makes only sense in 2D and 3D)
`- \$mobility-model-simba-3e ! `with perpendicular E field dependence (makes only sense in 2D and 3D)
`- \$mobility-model-simba-4e ! `with perpendicular E field dependence (makes only sense in 2D and 3D)
`- \$mobility-model-simba-5e ! `with perpendicular E field dependence (makes only sense in 2D and 3D)
For Si we have two additional models:
```- \$mobility-model-lom      ! ```Lombardi                                          (makes only sense in 2D and 3D)``` - \$mobility-model-dar      ! ```Darwish                                            (makes only sense in 2D and 3D)
For undoped structures we have a constant mobility model:
```- \$mobility-model-constant ! ```for undoped structures only``` ```Further models are:
```- \$mobility-model-arora    ! ```phonon and impurity scattering``` - \$mobility-model-masetti  ! ```phonon and impurity scattering``` - \$mobility-model-minimos  ! ```phonon and impurity scattering```  ```

Three generation/recombination models are implemented: Shockley-Read-Hall (SRH), Auger and direct recombination.
To implement more see the "How to ?" section.

```!--------------------------------------------------------------! \$simple-drift-models                                  optional !  model-number                        integer          required !  current-model-numbers               integer_array    required !  mobility-model                      character        required !  charge-carriers                     character        optional !  SRH-recombination                   character        optional !  Auger-recombination                 character        optional !  direct-recombination                character        optional !  minimum-density-electrons           double           optional !  minimum-density-holes               double           optional ! \$end_simple-drift-models                              optional ! !--------------------------------------------------------------!```

## Syntax:

`model-number   = 1 `

Sequential number to label the certain model.

`current-model-numbers = 1`

Refers to` model-number `in``` \$current-models```.

`mobility-model = mobility-model-simba-0  ! ` no parallel E field dependence```                = mobility-model-simba-1  ! ``` temperature dependent peak E field```                = mobility-model-simba-2  ! ``` temperature dependent saturation velocity```                ``` ``` = mobility-model-simba-3  ! ``` temperature dependent peak E field```                = mobility-model-simba-4  ! ``` temperature dependent saturation velocity```                = mobility-model-simba-5  ! ``` temperature dependent peak E field```                = mobility-model-simba-0e ! ```with perpendicular E field dependence (makes only sense in 2D and 3D)```                = mobility-model-simba-1e ! ```with perpendicular E field dependence (makes only sense in 2D and 3D)```                = mobility-model-simba-2e ! ```with perpendicular E field dependence (makes only sense in 2D and 3D)```                = mobility-model-simba-3e ! ```with perpendicular E field dependence (makes only sense in 2D and 3D)```                = mobility-model-simba-4e ! ```with perpendicular E field dependence (makes only sense in 2D and 3D)```                = mobility-model-simba-5e ! ```with perpendicular E field dependence (makes only sense in 2D and 3D)```                = mobility-model-lom      ! ```Lombardi model, for Si only                (makes only sense in 2D and 3D)```                = mobility-model-dar      ! ```Darwish model,   for Si only               (makes only sense in 2D and 3D)
```               = mobility-model-constant ! ```for undoped structures only
```               = mobility-model-arora    ! ```phonon and impurity scattering
```               = mobility-model-masetti  ! ```phonon and impurity scattering```                = mobility-model-minimos  ! ```phonon and impurity scattering

Since it is possible to have more than one mobility model one can specify a model that has to be declared in the database under keyword```  \$mobility-model-simba    ``` or
` \$mobility-model-lom      `or
` \$mobility-model-dar      `or
` \$mobility-model-constant `or
``` \$mobility-model-arora    ```or```  \$mobility-model-masetti  ```or```  \$mobility-model-minimos```.

```charge-carriers = electrons-and-holes ! ```(default)```                 = electrons-only      ! ```ignore convergence of hole Fermi level EF,p```                 ``````= holes-only          ! ```ignore convergence of electron Fermi level EF,n

To speed up the calculations, we allow for a simplified charge carrier model.
`- electrons-only`: The current is fully dominated by electrons.
`- holes-only`:         The current is fully dominated by holes.
This means that the convergence of the current-Poisson equation is already achieved, if for only one type of charge carrier (electrons or holes) the Fermi level has been converged.
The Poisson equation (i.e. the electrostatic potential) must have been converged in any case.

Note: For``` current-poisson-method = blockit ```(block-iterative), the Fermi levels for the charge carrier type that is excluded, is not calculated at all.

```SRH-recombination = yes                   = no```

Shockley-Read-Hall (SRH) recombination: Flag whether this generation/recombination process has to be used.

```Auger-recombination = yes                     = no```

Auger recombination: Flag whether this generation/recombination process has to be used.

`direct````-recombination = yes                      = no```

Direct recombination: Flag whether this generation/recombination process has to be used.

### Minimum density

``` minimum-density-electrons = 1d-10         ! [1/cm^3]  ```(default value:` 1d-10`)```  minimum-density-holes     = 1d-10         ! [1/cm^3]  ```(default value:` 1d-10`)``` ```improves condition number of current equation matrix``` ```choose as large as possible, but smaller than minimum density in converged result
Minimum charge carrier density (lower limit) for both electrons and holes that can appear in drift-diffusion current equations.
The minimum density might have to be increased in order to obtain convergence for the drift-diffusion current equations.
The minimum density should be as low as possible.
The minimum density can be chosen as large as possible but should be smaller than the minimum density in the converged result.
As the drift-diffusion current is proportional to the charge carrier density, this eventually also sets the lower limit of the current.
The minimum density is a useful flag for structures where regions are present that have almost no density (e.g. a barrier, or insulator).
If the density in such an insulator is below 1 - 103 cm-3, the product of 'mu n' in the drift-diffusion current equation varies over several orders of magnitude.
Consequently, the matrix used in the linear solver is not well conditioned.
Here, the current through these insulating regions is basically zero which has implications on the convergence behavior of the drift-diffusion current equations.
Increasing the minimum density will help in these cases.
A useful value for the minimum density of a certain material depends on the band gap because its intrinsic density also depends on the band gap.
A wide-band gap material has a much lower intrinsic density than a low-band gap material.

 If you need support, or input files that are not included in the installation folder, or if you have suggestions on how we can improve our website or tutorials, please submit a Support Ticket.