Source code for tidy3d.components.tcad.monitors.charge

"""Objects that define how data is recorded from simulation."""

from __future__ import annotations

from typing import Literal

import pydantic.v1 as pd

from tidy3d.components.tcad.monitors.abstract import HeatChargeMonitor


[docs] class SteadyPotentialMonitor(HeatChargeMonitor): """ Electric potential (:math:`\\psi`) monitor. Example ------- >>> import tidy3d as td >>> voltage_monitor_z0 = td.SteadyPotentialMonitor( ... center=(0, 0.14, 0), size=(0.6, 0.3, 0), name="voltage_z0", unstructured=True, ... ) """
[docs] class SteadyFreeCarrierMonitor(HeatChargeMonitor): """ Free-carrier monitor for Charge simulations. Example ------- >>> import tidy3d as td >>> voltage_monitor_z0 = td.SteadyFreeCarrierMonitor( ... center=(0, 0.14, 0), size=(0.6, 0.3, 0), name="voltage_z0", unstructured=True, ... ) """ # NOTE: for the time being supporting unstructured unstructured: Literal[True] = pd.Field( True, title="Unstructured Grid", description="Return data on the original unstructured grid.", )
class SteadyEnergyBandMonitor(HeatChargeMonitor): """ Energy bands monitor for Charge simulations. Example ------- >>> import tidy3d as td >>> energy_monitor_z0 = td.SteadyEnergyBandMonitor( ... center=(0, 0.14, 0), size=(0.6, 0.3, 0), name="bands_z0", unstructured=True, ... ) """ # NOTE: for the time being supporting unstructured unstructured: Literal[True] = pd.Field( True, title="Unstructured Grid", description="Return data on the original unstructured grid.", )
[docs] class SteadyCapacitanceMonitor(HeatChargeMonitor): """ Capacitance monitor associated with a charge simulation. Example ------- >>> import tidy3d as td >>> capacitance_global_mnt = td.SteadyCapacitanceMonitor( ... center=(0, 0.14, 0), size=(td.inf, td.inf, 0), name="capacitance_global_mnt", ... ) """ # NOTE: for the time being supporting unstructured unstructured: Literal[True] = pd.Field( True, title="Unstructured Grid", description="Return data on the original unstructured grid.", )
class SteadyElectricFieldMonitor(HeatChargeMonitor): """ Electric field monitor for Charge/Conduction simulations. Example ------- >>> import tidy3d as td >>> electric_field_monitor_z0 = td.SteadyElectricFieldMonitor( ... center=(0, 0.14, 0), size=(0.6, 0.3, 0), name="electric_field_z0", ... ) """ unstructured: Literal[True] = pd.Field( True, title="Unstructured Grid", description="Return data on the original unstructured grid.", ) class SteadyCurrentDensityMonitor(HeatChargeMonitor): """ Current density monitor for Charge/Conduction simulations. Example ------- >>> import tidy3d as td >>> current_density_monitor_z0 = td.SteadyCurrentDensityMonitor( ... center=(0, 0.14, 0), size=(0.6, 0.3, 0), name="current_density_z0", ... ) """ unstructured: Literal[True] = pd.Field( True, title="Unstructured Grid", description="Return data on the original unstructured grid.", )