tidy3d.KerrNonlinearity#

class KerrNonlinearity[source]#

Bases: NonlinearModel

Model for Kerr nonlinearity which gives an intensity-dependent refractive index of the form n=n0+n2I. 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

PNL=ε0c0n0Re(n0)n2|E|2E

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 n2=341ε0c0n0Re(n0)χ3. The additional factor of 34 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 PNL,x, we approximate |E|2|Ex|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

complex_fields

Whether the model uses complex fields.

Methods

n2#
n0#
property complex_fields#

Whether the model uses complex fields.

__hash__()#

Hash method.