pyFLD is a module that implements time-dependent radiation transport in the flux-limited diffusion (FLD) approximation, written fully in Python.
Features include:
- Full
astropy.unitssupport, for ease of use without having to worry about unit conversions - Support for different geometries (1D, 2D, 3D) and coordinate systems (Cartesian, cylindrical, spherical)
- A fully implicit radiation solver with support for different methods and preconditioners
- Support for multiple dust and gas fluids, accounting for dust settling and gas hydrostatic equilibrium
- Viscous heating with variable viscosity
- Support for sublimation of each species under arbitrary user-defined conditions
- Frequency-dependent irradiation and self-consistent interpolators of frequency-dependent opacities for Rosseland and Planck mean opacities
- Support for frequency-dependent opacities computed using optool
- Seamless interface to RADMC-3D to produce synthetic images and spectra
It is available on GitHub. The documentation can be found here. If you want to learn more about the inner workings of the module, you can check out the FLD handbook, which includes detailed explanations of the physics and numerics behind the implementation.
