tidy3d.TwoPhotonAbsorption#

class TwoPhotonAbsorption[source]#

Bases: NonlinearModel

Model for two-photon absorption (TPA) nonlinearity which gives an intensity-dependent absorption of the form \(\alpha = \alpha_0 + \beta I\). The expression for the nonlinear polarization is given below.

Parameters:
  • beta (Attribute: beta) –

    Type

    Union[tidycomplex, ComplexNumber]

    Default

    = 0

    Units

    um / W

    Description

    Coefficient for two-photon absorption (TPA).

  • n0 (Attribute: n0) –

    Type

    Union[tidycomplex, ComplexNumber, NoneType]

    Default

    = None

    Description

    Complex linear refractive index of the medium, computed for instance using β€˜medium.nk_model’. If not provided, it is calculated automatically using the central frequencies of the simulation sources (as long as these are all equal).

Note

\[P_{NL} = -\frac{c_0^2 \varepsilon_0^2 n_0 \operatorname{Re}(n_0) \beta}{2 i \omega} |E|^2 E\]

Note

This frequency-domain equation is implemented in the time domain using complex-valued fields.

Note

Different field components do not interact nonlinearly. For example, when calculating \(P_{NL, x}\), we approximate \(|E|^2 \approx |E_x|^2\). This approximation is valid when the E field is predominantly polarized along one of the x, y, or z axes.

Note

The implementation is described in:

N. Suzuki, "FDTD Analysis of Two-Photon Absorption and Free-Carrier Absorption in Si
High-Index-Contrast Waveguides," J. Light. Technol. 25, 9 (2007).

Example

>>> tpa_model = TwoPhotonAbsorption(beta=1)

Attributes

complex_fields

Whether the model uses complex fields.

Methods

beta#
n0#
property complex_fields#

Whether the model uses complex fields.

__hash__()#

Hash method.