tidy3d.SteadyChargeResidualMonitor

tidy3d.SteadyChargeResidualMonitor#

class SteadyChargeResidualMonitor[source]#

Bases: HeatChargeMonitor

Per-node residual monitor for Charge simulations (debug tool).

Parameters:
  • center (tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]] = (0.0, 0.0, 0.0)) – [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.

  • unstructured (Literal[True] = True) – Return data on the original unstructured grid.

  • conformal (bool = False) – If True the simulation mesh will conform to the monitor’s geometry. While this can be set for both Cartesian and unstructured monitors, it bears higher significance for the latter ones. Effectively, setting conformal = True for unstructured monitors (unstructured = True) ensures that returned values will not be obtained by interpolation during postprocessing but rather directly transferred from the computational grid. Note: if the simulation mesh uses remove_fragments=True, this option is ignored (treated as False). Deprecated: this field will be removed in version 2.12.

Notes

Records the per-node signed residual of each governing equation: \(R_\psi\) (Poisson), \(R_n\) (electron continuity), \(R_p\) (hole continuity), and \(R_T\) (heat) when the thermal solver is active. The electron and hole continuity equations express carrier conservation. The values are dimensionless and on the same scale as the simulation’s convergence tolerance, so the nodes with the largest \(|R|\) (those approaching or exceeding that tolerance) are where the solution least satisfies the equations (the least-converged regions). Available only through the accelerated solver.

Example

>>> import tidy3d as td
>>> residual_monitor = td.SteadyChargeResidualMonitor(
... center=(0, 0.14, 0), size=(0.6, 0.3, 0), name="residual_z0",
... )

Attributes

unstructured

conformal

name

size

center

unstructured#