Magritte is an open-source 3D NLTE line radiative transfer library. The basics of radiative transfer is given by the radiative transfer equation; the intensity in a specific direction changes because of material emitting or absorbing energy.
\hat{\boldsymbol{n}}\cdot \nabla I(x,\nu)=\eta(x,\nu)-\chi(x,\nu) I(x,\nu)
\text{In which } \hat{\boldsymbol{n}} \text{ is the direction, } I \text{ is the monochromatic specific intensity, } \eta \text{ is the total emissivity and } \chi \text{ is the total opacity.}
In line radiative transfer, a sharp frequency dependence is introduced, as light will be admitted/absorbed at specific frequencies, corresponding to energy transitions.
\eta_{ij}(x,\nu)=\frac{h\nu}{4\pi}n_i(x)A_{ij}\phi_{ij}(x, \nu)
\chi_{ij}(x,\nu)=\frac{h\nu}{4\pi}\left(n_j(x)B_{ji}-n_i(x)B_{ij}\right)\phi_{ij}(x, \nu)
\text{In which } \chi_{ij} \text{ is the line opacity, } \eta_{ij} \text{ is the line emissivity, } n_i \text{ are the populations of energy level i, } A_{ij}, B_{ij}, B_{ji} \text{ are the Einstein coefficients and } \phi_{ij} \text{ is the line profile function.}
In NLTE (non local thermodynamical equilibrium) radiative transfer, the radiation field influences the level populations ni as prescribed by the static equilibrium equations.
\sum_{j<i} \left(n_iA_{ij}-(n_jB_{ji}-n_iB_{ij})J_{ij}\right)\nonumber\\
-\sum_{j>i} \left(n_jA_{ji}-(n_iB_{ij}-n_jB_{ji})J_{ij}\right)\nonumber\\
+\sum_{j=1}^N \left(n_iC_{ij}-n_jC_{ji}\right)=0
\text{In which the mean line intensity } J_{ij} \text{ is given by } J_{ij}(\boldsymbol{x})=\oint_{\Omega}\int_0^{+\infty} I(\hat{\boldsymbol{n}},\boldsymbol{x},\nu)\phi_{ij}(\nu)\text{d}\Omega \text{d}\nu \text{.}
An iterative process is thus required for NLTE line radiative transfer computations, as the intensity field influences the level populations ni which influences the opacities/emissivities used for computing the intensity.
- Python api
- Online documentation
- Written in C++ for performance
- Automated testing procedure
Novel computational improvements
- Computing optical depths in high velocity gradients
- Adaptive Ng acceleration