66import pydantic .v1 as pd
77
88from tidy3d .components .base import Tidy3dBaseModel
9- from tidy3d .constants import HBAR , K_B , M_E_EV
9+ from tidy3d .constants import HBAR , K_B , M_E_EV , PERCMCUBE
1010from tidy3d .exceptions import DataError
1111
1212um_3_to_cm_3 = 1e12 # conversion factor from micron^(-3) to cm^(-3)
@@ -33,7 +33,7 @@ class ConstantEffectiveDOS(EffectiveDOS):
3333 """Constant effective density of states model."""
3434
3535 N : pd .PositiveFloat = pd .Field (
36- ..., title = "Effective DOS" , description = "Effective density of states" , units = "cm^(-3)"
36+ ..., title = "Effective DOS" , description = "Effective density of states" , units = PERCMCUBE
3737 )
3838
3939 def calc_eff_dos (self , T : float ):
@@ -44,11 +44,13 @@ class IsotropicEffectiveDOS(EffectiveDOS):
4444 """Effective density of states model that assumes single valley and isotropic effective mass.
4545 The model assumes the standard equation for the 3D semiconductor with parabolic energy dispersion:
4646
47- .. math::
47+ Notes
48+ -----
49+
50+ .. math::
51+
52+ \\ mathbf{N_eff} = 2 * (\\ frac{m_eff * m_e * k_B T}{2 \\ pi \\ hbar^2})^(3/2)
4853
49- \\ begin{equation}
50- \\ mathbf{N_eff} = 2 * (\\ frac{m_eff * m_e * k_B T}{2 \\ pi \\ hbar^2})^(3/2)
51- \\ end{equation}
5254 """
5355
5456 m_eff : pd .PositiveFloat = pd .Field (
@@ -65,11 +67,13 @@ class MultiValleyEffectiveDOS(EffectiveDOS):
6567 """Effective density of states model that assumes multiple equivalent valleys and anisotropic effective mass.
6668 The model assumes the standard equation for the 3D semiconductor with parabolic energy dispersion:
6769
70+ Notes
71+ -----
72+
6873 .. math::
6974
70- \\ begin{equation}
71- \\ mathbf{N_eff} = 2 * N_valley * (m_{eff_long} * m_{eff_trans} * m_{eff_trans})^(1/2) *(\\ frac{m_e * k_B * T}{2 \\ pi * \\ hbar^2})^(3/2)
72- \\ end{equation}
75+ N_{\\ text{eff}} = 2 N_{\\ text{valley}} \\ left( m_{\\ text{eff,long}} m_{\\ text{eff,trans}}^2 \\ right)^{1/2} \\ left( \\ frac{m_e k_B T}{2 \\ pi \\ hbar^2} \\ right)^{3/2}
76+
7377 """
7478
7579 m_eff_long : pd .PositiveFloat = pd .Field (
@@ -101,11 +105,13 @@ class DualValleyEffectiveDOS(EffectiveDOS):
101105 """Effective density of states model that assumes combination of light holes and heavy holes with isotropic effective masses.
102106 The model assumes the standard equation for the 3D semiconductor with parabolic energy dispersion:
103107
108+ Notes
109+ -----
110+
104111 .. math::
105112
106- \\ begin{equation}
107- \\ mathbf{N_eff} = 2 * ( {\\ frac{m_{eff_lh} * m_e * k_B * T}{2 \\ pi \\ hbar^2})^(3/2) + (\\ frac{m_{eff_hh} * m_e * k_B * T}{2 \\ pi \\ hbar^2})^(3/2) )
108- \\ end{equation}
113+ N_{eff} = 2 \\ left( \\ frac{m_{\\ text{eff, lh}} m_e k_B T}{2 \\ pi \\ hbar^2} \\ right)^{3/2} + 2 \\ left( \\ frac{m_{\\ text{eff, hh}} m_e k_B T}{2 \\ pi \\ hbar^2} \\ right)^{3/2}
114+
109115 """
110116
111117 m_eff_lh : pd .PositiveFloat = pd .Field (
0 commit comments