Celeritas
0.5.0-86+4a8eea4
|
Calculate the Rayleigh MFP for a given set of material properties. More...
#include <RayleighMfpCalculator.hh>
Public Types | |
Type aliases | |
using | Energy = units::MevEnergy |
using | Grid = typename GenericCalculator::Grid |
Public Member Functions | |
CELER_FUNCTION | RayleighMfpCalculator (MaterialView const &material, ImportOpticalRayleigh const &rayleigh, ::celeritas::MaterialView const &core_material) |
Construct with defaults. | |
CELER_FUNCTION real_type | operator() (Energy) const |
Calculate the optical Rayleigh mean free path at the given energy. | |
CELER_FUNCTION Grid const & | grid () const |
Retrieve the underlying energy grid used to calculate the MFP. | |
Calculate the Rayleigh MFP for a given set of material properties.
Uses the Einstein-Smoluchowski formula to calculate the mean free path at a given energy. In Landau and Lifshitz Electrodynamics of Continuous Media, the mean free path is given by equation (120.2):
\[ l^{-1} = \frac{1}{6\pi} k^4 \rho k_B T \left(\frac{\partial \rho}{\partial P}\right)_T \left(\frac{\partial \varepsilon}{\partial \rho}\right)_T^2 \]
where we only consider density fluctations at constant temperature. The first partial derivative may be rewritten in terms of the isothermal compressibility \( \beta_T \):
\[ \left(\frac{\partial \rho}{\partial P}\right)_T = \rho \beta_T. \]
The latter partial derivative may be calculated via the Clausius-Mossetti equation
\[ \frac{\varepsilon - 1}{\varepsilon + 2} = A \rho \]
for constant \( A \), giving
\[ \left(\frac{\partial \varepsilon}{\partial \rho}\right)_T = \frac{(\varepsilon - 1)(\varepsilon + 2)}{3\rho}. \]
The final equation for the MFP in terms of energy:
\[ l^{-1} = \frac{k_B T \beta_T}{6\pi} \left(\frac{E}{\hbar c}\right)^4 \left[ \frac{(\varepsilon - 1)(\varepsilon + 2)}{3} \right]^2. \]
The scale factor is a unitless user customizable factor that's multiplied to the inverse MFP.