Source code for tidy3d.components.tcad.bandgap_energy

from __future__ import annotations

from pydantic import Field, PositiveFloat

from tidy3d.components.base import Tidy3dBaseModel
from tidy3d.constants import ELECTRON_VOLT


[docs] class ConstantEnergyBandGap(Tidy3dBaseModel): """Constant Energy band gap""" eg: PositiveFloat = Field( title="Band Gap", description="Energy band gap", json_schema_extra={"units": ELECTRON_VOLT}, )
[docs] class VarshniEnergyBandGap(Tidy3dBaseModel): """ Models the temperature dependence of the energy band gap (Eg) using the Varshni formula. Notes ----- The model implements the following formula: .. math:: E_g(T) = E_g(0) - \\frac{\\alpha T^2}{T + \\beta} Example ------- >>> # Parameters for Silicon (Si) >>> si_model = VarshniEnergyBandGap( ... eg_0=1.17, ... alpha=4.73e-4, ... beta=636.0, ... ) References ---------- .. [1] Varshni, Y. P. (1967). Temperature dependence of the energy gap in semiconductors. Physica, 34(1), 149-154. """ eg_0: PositiveFloat = Field( title="Band Gap at 0 K", description="Energy band gap at absolute zero (0 Kelvin).", json_schema_extra={"units": ELECTRON_VOLT}, ) alpha: PositiveFloat = Field( title="Varshni Alpha Coefficient", description="Empirical Varshni coefficient (α).", json_schema_extra={"units": "eV/K"}, ) beta: PositiveFloat = Field( title="Varshni Beta Coefficient", description="Empirical Varshni coefficient (β), related to the Debye temperature.", json_schema_extra={"units": "K"}, )