tidy3d.AuxFieldTimeMonitor

tidy3d.AuxFieldTimeMonitor#

class AuxFieldTimeMonitor[source]#

Bases: AbstractAuxFieldMonitor, TimeMonitor

Monitor that records auxiliary fields in the time domain.

Parameters:
  • center (Optional[tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]]] = None) – [units = um]. Center of object in x, y, and z.

  • size (tuple[Union[NonNegativeFloat, autograd.tracer.Box], Union[NonNegativeFloat, autograd.tracer.Box], Union[NonNegativeFloat, autograd.tracer.Box]]) – [units = um]. Size in x, y, and z directions.

  • name (str) – Unique name for monitor.

  • interval_space (tuple[PositiveInt, PositiveInt, PositiveInt] = (1, 1, 1)) – Number of grid step intervals between monitor recordings. If equal to 1, there will be no downsampling. If greater than 1, the step will be applied, but the first and last point of the monitor grid are always included.

  • colocate (bool = True) – Toggle whether fields should be colocated to grid cell boundaries (i.e. primal grid nodes).

  • use_colocated_integration (Literal[True] = True) – Whether to use colocated fields for flux, dot products, and overlap integrals. Hard-coded to True for most monitor types. Can be toggled on field and overlap monitors.

  • start (NonNegativeFloat = 0.0) – [units = sec]. Time at which to start monitor recording.

  • stop (Optional[NonNegativeFloat] = None) – [units = sec]. Time at which to stop monitor recording. If not specified, record until end of simulation.

  • interval (Optional[PositiveInt] = None) – Sampling rate of the monitor: number of time steps between each measurement. Set interval to 1 for the highest possible resolution in time. Higher integer values downsample the data by measuring every interval time steps. This can be useful for reducing data storage as needed by the application.

  • fields (tuple[Literal['Nfx', 'Nfy', 'Nfz'], ...] = ()) – Collection of auxiliary field components to store in the monitor. Auxiliary fields which are not present in the simulation will be zero.

Notes

Auxiliary fields are used in certain nonlinear material models. TwoPhotonAbsorption uses Nfx, Nfy, and Nfz for the free-carrier density.

Example

>>> monitor = AuxFieldTimeMonitor(
...     center=(1,2,3),
...     size=(0,0,0),
...     fields=['Nfx'],
...     start=1e-13,
...     stop=5e-13,
...     interval=2,
...     colocate=True,
...     name='aux_monitor')

Attributes

fields

interval_space

colocate

start

stop

interval

use_colocated_integration

name

size

center

Methods

storage_size(num_cells, tmesh)

Size of monitor storage given the number of points after discretization.

storage_size(num_cells, tmesh)[source]#

Size of monitor storage given the number of points after discretization.