tidy3d.NonlinearSpec#

class NonlinearSpec[source]#

Bases: ABC, Tidy3dBaseModel

Abstract specification for adding nonlinearities to a medium.

Parameters:
  • models (tuple[Union[NonlinearSusceptibility, TwoPhotonAbsorption, KerrNonlinearity], …] = ()) – The nonlinear models present in this nonlinear spec. Nonlinear models of different types are additive. Multiple nonlinear models of the same type are not allowed.

  • num_iters (PositiveInt = 5) – Number of iterations for solving nonlinear constitutive relation.

Note

The nonlinear constitutive relation is solved iteratively; it may not converge for strong nonlinearities. Increasing num_iters can help with convergence.

Example

>>> from tidy3d import Medium
>>> nonlinear_susceptibility = NonlinearSusceptibility(chi3=1)
>>> nonlinear_spec = NonlinearSpec(models=[nonlinear_susceptibility])
>>> medium = Medium(permittivity=2, nonlinear_spec=nonlinear_spec)

Attributes

aux_fields

List of available aux fields in all present models.

models

num_iters

models#
num_iters#
property aux_fields#

List of available aux fields in all present models.