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