Celeritas  0.5.0-86+4a8eea4
Public Member Functions | List of all members
celeritas::optical::RayleighMfpCalculator Class Reference

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.
 

Detailed Description

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.


The documentation for this class was generated from the following file: