tidy3d.Simulation.epsilon

Simulation.epsilon(monitor=None, center=(0.0, 0.0, 0.0), size=(0.0, 0.0, 0.0), pec_val=- 1000000.0, pmc_val=- 3000000.0, frequency=None, syms=True)

Compute the complex relative permittivity inside a volume. The permittivity is returned at the Yee grid centers isnide the volume. For large simulations, this could be computationally heavy over the full simulation volume, so this function is ideally used over a sub-domain, e.g. a 2D cut. The volume size can be 0 in any dimension, in which case the single Yee grid center closest to the volume center in that dimension is taken.

Parameters
  • monitor (None or Monitor, optional) – If provided, overrides center and size, and the monitor volume is used.

  • center (array_like, optional) – (micron) 3D vector defining the center of the queried volume.

  • size (array_like, optional) – (micron) 3D vector defining the size of the queried volume.

  • pec_val (float) – Value to use for PEC material.

  • pmc_val (float) – Value to use for PMC material.

  • frequency (float or None, optional) – (Hz) frequency at which to query the permittivity. If None, the instantaneous \(\epsilon_\infty\) is returned.

  • syms (bool, optional) – If True, PEC/PMC boxes are overlaid as defined by the simulation symmetries, with values defined by pec_val and pmc_val.

Returns

  • epsilon (np.ndarray) – Array defining the (complex) relative permittivity at the center of each Yee cell inside the volume. For anisotropic materials, the components are averaged.

  • mesh (tuple of np.ndarray) – Three arrays defining the Cartesian grid of x, y, and z positions where the permittivity array is returned, such that epsilon.shape == (mesh[0].size, mesh[1].size, mesh[2].size).