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,
]