Source code for tidy3d.components.eme.data.monitor_data

"""EME monitor data"""

from __future__ import annotations

from typing import Union

import pydantic.v1 as pd

from tidy3d.components.base_sim.data.monitor_data import AbstractMonitorData
from tidy3d.components.data.monitor_data import (
    ElectromagneticFieldData,
    MediumData,
    ModeSolverData,
    PermittivityData,
)
from tidy3d.components.eme.monitor import (
    EMECoefficientMonitor,
    EMEFieldMonitor,
    EMEModeSolverMonitor,
)

from .dataset import EMECoefficientDataset, EMEFieldDataset, EMEModeSolverDataset


[docs] class EMEModeSolverData(ElectromagneticFieldData, EMEModeSolverDataset): """Data associated with an EME mode solver monitor.""" monitor: EMEModeSolverMonitor = pd.Field( ..., title="EME Mode Solver Monitor", description="EME mode solver monitor associated with this data.", )
[docs] class EMEFieldData(ElectromagneticFieldData, EMEFieldDataset): """Data associated with an EME field monitor.""" monitor: EMEFieldMonitor = pd.Field( ..., title="EME Field Monitor", description="EME field monitor associated with this data." )
[docs] class EMECoefficientData(AbstractMonitorData, EMECoefficientDataset): """Data associated with an EME coefficient monitor.""" monitor: EMECoefficientMonitor = pd.Field( ..., title="EME Coefficient Monitor", description="EME coefficient monitor associated with this data.", )
EMEMonitorDataType = Union[ EMEModeSolverData, EMEFieldData, EMECoefficientData, ModeSolverData, PermittivityData, MediumData, ]