tidy3d.NonlinearSpec#

class NonlinearSpec[source]#

Bases: ABC, Tidy3dBaseModel

Abstract specification for adding nonlinearities to a medium.

Parameters:
  • models (Attribute: models) –

    Type

    Tuple[Union[NonlinearSusceptibility, TwoPhotonAbsorption, KerrNonlinearity], …]

    Default

    = ()

    Description

    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 (Attribute: num_iters) –

    Type

    PositiveInt

    Default

    = 5

    Description

    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

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

Attributes

Methods

models#
num_iters#
__hash__()#

Hash method.