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
Whether the model uses complex fields.
Methods
- beta#
- n0#
- property complex_fields#
Whether the model uses complex fields.
- __hash__()#
Hash method.