tidy3d.KerrNonlinearity#
- class KerrNonlinearity[source]#
Bases:
NonlinearModel
Model for Kerr nonlinearity which gives an intensity-dependent refractive index of the form \(n = n_0 + n_2 I\). The expression for the nonlinear polarization is given below.
- Parameters:
n2 (Union[tidycomplex, ComplexNumber] = 0) – [units = um^2 / W]. Nonlinear refractive index in the Kerr nonlinearity.
n0 (Union[tidycomplex, ComplexNumber, NoneType] = None) – 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} = \varepsilon_0 c_0 n_0 \operatorname{Re}(n_0) n_2 |E|^2 E\]Note
The fields in this equation are complex-valued, allowing a direct implementation of the Kerr nonlinearity. In contrast, the model
NonlinearSusceptibility
implements a chi3 nonlinear susceptibility using real-valued fields, giving rise to Kerr nonlinearity as well as third-harmonic generation. The relationship between the parameters is given by \(n_2 = \frac{3}{4} \frac{1}{\varepsilon_0 c_0 n_0 \operatorname{Re}(n_0)} \chi_3\). The additional factor of \(\frac{3}{4}\) comes from the usage of complex-valued fields for the Kerr nonlinearity and real-valued fields for the nonlinear susceptibility.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.
Example
>>> kerr_model = KerrNonlinearity(n2=1)
Attributes
Whether the model uses complex fields.
Methods
- n2#
- n0#
- property complex_fields#
Whether the model uses complex fields.
- __hash__()#
Hash method.