Source code for tidy3d.components.base_sim.source

"""Abstract base for classes that define simulation sources."""
from __future__ import annotations
from abc import ABC, abstractmethod
import pydantic.v1 as pydantic

from ..base import Tidy3dBaseModel

from ..validators import validate_name_str
from ..viz import PlotParams


[docs] class AbstractSource(Tidy3dBaseModel, ABC): """Abstract base class for all sources.""" name: str = pydantic.Field(None, title="Name", description="Optional name for the source.")
[docs] @abstractmethod def plot_params(self) -> PlotParams: """Default parameters for plotting a Source object."""
_name_validator = validate_name_str()