tidy3d.components.material.tcad.charge.AbstractChargeMedium#

class AbstractChargeMedium[source]#

Bases: AbstractMedium

Abstract class for Charge specifications Currently, permittivity is treated as a constant.

Parameters:
  • name (Optional[str] = None) – Optional unique name for medium.

  • frequency_range (Optional[tuple[float, float]] = None) – [units = (Hz, Hz)]. Optional range of validity for the medium.

  • allow_gain (bool = False) – Allow the medium to be active. Caution: simulations with a 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.

  • nonlinear_spec (Optional[Union[NonlinearSpec, NonlinearSusceptibility]] = None) – Nonlinear spec applied on top of the base medium properties.

  • modulation_spec (Optional[ModulationSpec] = None) – Modulation spec applied on top of the base medium properties.

  • viz_spec (Optional[VisualizationSpec] = None) – Plotting specification for visualizing medium.

  • heat_spec (Optional[Union[FluidSpec, SolidSpec, SolidMedium, FluidMedium]] = None) – DEPRECATED: Use MultiPhysicsMedium. Specification of the medium heat properties. They are used for solving the heat equation via the HeatSimulation interface. Such simulations can beused for investigating the influence of heat propagation on the properties of optical systems. Once the temperature distribution in the system is found using HeatSimulation object, Simulation.perturbed_mediums_copy() can be used to convert mediums with perturbation models defined into spatially dependent custom mediums. Otherwise, the heat_spec does not directly affect the running of an optical Simulation.

  • permittivity (float = 1.0) – [units = None (relative permittivity)]. Relative permittivity.

Attributes

charge

This means that a charge medium has been defined inherently within this solver medium.

permittivity

name

frequency_range

allow_gain

nonlinear_spec

modulation_spec

viz_spec

heat_spec

Methods

eps_model(frequency)

Complex-valued permittivity as a function of frequency.

n_cfl()

To ensure a stable FDTD simulation, it is essential to select an appropriate time step size in accordance with the CFL condition.

permittivity#
property charge#

This means that a charge medium has been defined inherently within this solver medium. This provides interconnection with the MultiPhysicsMedium higher-dimensional classes.

eps_model(frequency)[source]#

Complex-valued permittivity as a function of frequency.

Parameters:

frequency (float) – Frequency to evaluate permittivity at (Hz).

Returns:

Complex-valued relative permittivity evaluated at frequency.

Return type:

complex

n_cfl()[source]#

To ensure a stable FDTD simulation, it is essential to select an appropriate time step size in accordance with the CFL condition. The maximal time step size is inversely proportional to the speed of light in the medium, and thus proportional to the index of refraction. However, for dispersive medium, anisotropic medium, and other more complicated media, there are complications in deciding on the choice of the index of refraction.

This property computes the index of refraction related to CFL condition, so that the FDTD with this medium is stable when the time step size that doesn’t take material factor into account is multiplied by n_cfl.