tidy3d.SelberherrImpactIonization#

class SelberherrImpactIonization[source]#

Bases: Tidy3dBaseModel

This class defines the parameters for the Selberherr impact ionization model. Two formulations are available that depend on the driving field, as described in [1] (\(\| E \|\)) and [2] (\(E \cdot J_{\nu} / \| E \|\) for \(\nu = n,p\)).

Parameters:
  • attrs (dict = {}) โ€“ Dictionary storing arbitrary metadata for a Tidy3D object. This dictionary can be freely used by the user for storing data without affecting the operation of Tidy3D as it is not used internally. Note that, unlike regular Tidy3D fields, attrs are mutable. For example, the following is allowed for setting an attr obj.attrs['foo'] = bar. Also note that Tidy3D will raise a TypeError if attrs contain objects that can not be serialized. One can check if attrs are serializable by calling obj.json().

  • alpha_n_inf (PositiveFloat) โ€“ [units = 1/cm]. Electron ionization coefficient at infinite field.

  • alpha_p_inf (PositiveFloat) โ€“ [units = 1/cm]. Hole ionization coefficient at infinite field.

  • E_n_crit (PositiveFloat) โ€“ [units = V/cm]. Critical electric field for electrons.

  • E_p_crit (PositiveFloat) โ€“ [units = V/cm]. Critical electric field for holes.

  • beta_n (PositiveFloat) โ€“ Exponent for electrons.

  • beta_p (PositiveFloat) โ€“ Exponent for holes.

  • formulation (Literal['Selberherr', 'PQ'] = PQ) โ€“ Formulation used for impact ionization. Options are โ€˜Selberherrโ€™ or โ€˜PQโ€™ for Selberherr and Palankovski and Quay formulations, respectively.

Notes

The impact ionization rate \alpha_{\nu} (for \(\nu = p\) (holes) and \(\nu = n\) (electrons)) is defined by:

\[\alpha_{\nu} = \alpha_{\nu}^\infty \cdot \exp \left( - \left( \frac{E_{\nu}^{\text{crit}} \cdot |\mathbf{J}_{\nu}|}{E \cdot \mathbf{J}_{\nu}} \right)^{\beta_{\nu}} \right)\]

where \(\alpha_{\nu}^\infty\), \(E_{\nu}^{\text{crit}}\), and \(\beta_{\nu}\) are material-dependent parameters.

Example

>>> import tidy3d as td
>>> default_Si = td.SelberherrImpactIonization(
...   alpha_n_inf=7.03e5,
...   alpha_p_inf=1.582e6,
...   E_n_crit=1.23e6,
...   E_p_crit=2.03e6,
...   beta_n=1,
...   beta_p=1,
...   formulation='PQ'
... )

References

Attributes

Methods

Inherited Common Usage

alpha_n_inf#
alpha_p_inf#
E_n_crit#
E_p_crit#
beta_n#
beta_p#
formulation#
__hash__()#

Hash method.