# CustomLorentz

A spatially varying dispersive medium described by the Lorentz model. The frequency-dependence of the complex-valued permittivity is described by:

ϵ(f)=ϵ+iΔϵifi2fi22jfδif2\epsilon(f) = \epsilon_\infty + \sum_i\frac{\Delta\epsilon_i f_i^2}{f_i^2 - 2jf\delta_i - f^2}

# Name

name: Optional unique name for the medium.

# Frequency Range

frequency_range: Optional range of validity for the medium.

Type: floating-point number

  • Unit: Hz (default) or THz
  • Constraint: greater than 0
  • Default: None

# Interpolation Method

interp_method: Interpolation method to obtain permittivity values that are not supplied at the Yee grids.

For grids outside the range of the supplied data, extrapolation will be applied. When the extrapolated value is smaller (greater) than the minimal (maximal) of the supplied data, the extrapolated value will take the minimal (maximal) of the supplied data.

Options:

  • nearest
  • linear

Default: nearest

# Subpixel

subpixel: If True and simulation’s subpixel is also True, applies subpixel averaging of the permittivity on the interface of the structure, including exterior boundary and intersection interfaces with other structures.

Type: boolean

Default: False

# Epsilon at Infinity

eps_inf: Relative permittivity at infinite frequency (ϵ\epsilon_\infty). Click the Import Medium button to load the permittivity at infinite frequency dataset.

To generate a HDF5 dataset in a correct shape, create the medium using the Python interface and use the to_hdf5(filename) (opens new window) method. For details on creating a spatially varying medium, see this example (opens new window).

Type: SpatialDataArray

  • Unit: unitless

# Coefficients

coeffs: List of (Δϵi,fi,δi\Delta\epsilon_i, f_i, \delta_i) values for the model. Click the Import Medium button to load the coefficient dataset.

To generate a HDF5 dataset in a correct shape, create the medium using the Python interface and use the to_hdf5(filename) (opens new window) method. For details on creating a spatially varying medium, see this example (opens new window).

Type: SpatialDataArray

Δϵ\Delta\epsilon: floating-point number

  • Unit: unitless

ff: floating-point number

  • Unit: Hz

δ\delta: floating-point number

  • Unit: Hz

# Allow Gain

allow_gain: Allow the medium to be active. Caution: simulations with gain medium are unstable, and are likely to diverge. Simulations where allow_gain is set to True will still be charged even if diverged. Monitor data up to the divergence point will still be returned and can be useful in some cases.

Type: boolean

Default: False