documents/userguide/rayleigh.rst
Rayleigh scattering
========================
The cross section of Rayleigh scattering of gas from polarizability is expressed as
:math:`\sigma(\nu) = \frac{ 128 \pi^5 }{3} \nu^4 \alpha^2 F_k`
where
:math:`\alpha`
is polarizability and
:math:`F_k`
is the King factor.
In ExoJAX, the cross section can be computed using `spec.rayleigh.xsvector_rayleigh_gas <../exojax/exojax.spec.html#exojax.spec.rayleigh.xsvector_rayleigh_gas>`_ .
.. code:: ipython3
from exojax.atm.polarizability import polarizability
from exojax.atm.polarizability import king_correction_factor
from exojax.utils.grids import wavenumber_grid
nus, wav, res = wavenumber_grid(
3000.0, 3100.0, 128, xsmode="premodit", wavelength_order="descending", unit="nm"
)
sigma = xsvector_rayleigh_gas(nus, polarizability["CO"], king_correction_factor["CO"])
Lorentz - Lorenz relation
----------------------------
When you need the refractive index, the Lorentz-Lorenz relation `exojax.atm.lorentz_lorenz.refractive_index_Lorentz_Lorenz <../exojax/exojax.atm.html#exojax.atm.lorentz_lorenz.refractive_index_Lorentz_Lorenz>`_ is available. This formulae converts polarizability to refractive index.
Uses OpaRayleigh
-----------------------------
``OpaRayleigh`` is ``opa`` for Rayleigh scattering. It's easy to use.
.. code:: ipython3
N=1000
nu_grid, wav, res = wavenumber_grid(300, 40000.0, N, xsmode="premodit", unit="nm")
opa = OpaRayleigh(nu_grid,"N2")
xs = opa.xsvector()