Source code for tidy3d.components.tcad.boundary.heat

"""Defines heat material specifications"""

from __future__ import annotations

import pydantic.v1 as pd

from tidy3d.components.tcad.boundary.abstract import HeatChargeBC
from tidy3d.constants import HEAT_FLUX, HEAT_TRANSFER_COEFF, KELVIN


[docs] class TemperatureBC(HeatChargeBC): """Constant temperature thermal boundary conditions. Example ------- >>> import tidy3d as td >>> bc = td.TemperatureBC(temperature=300) """ temperature: pd.PositiveFloat = pd.Field( title="Temperature", description=f"Temperature value in units of {KELVIN}.", units=KELVIN, )
[docs] class HeatFluxBC(HeatChargeBC): """Constant flux thermal boundary conditions. Example ------- >>> import tidy3d as td >>> bc = td.HeatFluxBC(flux=1) """ flux: float = pd.Field( title="Heat Flux", description=f"Heat flux value in units of {HEAT_FLUX}.", units=HEAT_FLUX, )
[docs] class ConvectionBC(HeatChargeBC): """Convective thermal boundary conditions. Example ------- >>> import tidy3d as td >>> bc = td.ConvectionBC(ambient_temperature=300, transfer_coeff=1) """ ambient_temperature: pd.PositiveFloat = pd.Field( title="Ambient Temperature", description=f"Ambient temperature value in units of {KELVIN}.", units=KELVIN, ) transfer_coeff: pd.NonNegativeFloat = pd.Field( title="Heat Transfer Coefficient", description=f"Heat flux value in units of {HEAT_TRANSFER_COEFF}.", units=HEAT_TRANSFER_COEFF, )