lanl / phoebus

Phifty One Ergs Blows Up A Star
BSD 3-Clause "New" or "Revised" License
32 stars 0 forks source link

WIP: Number Moments #168

Open lroberts36 opened 1 year ago

lroberts36 commented 1 year ago

PR Summary

This PR implements the radiation number moment evolution equations. Previously, we just evolved the conserved energy and momentum of the radiation field for each species when using the moments. Now, if the parameter radiation/do_number_evolution is set, the conserved number density and a corresponding number flux are also evolved for each species. See the Phoebus notes for a description of the equations that are being implemented.

This PR also updates to the latest version of Parthenon and changes the type of the integrator to conform with changes made to the Parthenon integration infrastructure.

Things that still need to get done:

Choices that were made (and that maybe could be unmade):

PR Checklist

brryan commented 1 year ago
Update opacity function to get equilibrium number density. Does singularity provide this?

singularity-opac provides B = \int \frac{1}{h \nu} B_{\nu} d\Omega d\nu as ThermalNumberDistributionOfT; this is what you need right? Although that function will need to be wrapped by phoebus's Opacities class in src/microphysics/opac_phoebus/opac_phoebus.hpp (should work exactly like ThermalDistributionOfTNu without the nu argument). The frequency-dependent version of number distribution can of course just be calculated as ThermalDistributionOfTNu / (h nu)

lroberts36 commented 1 year ago

@brryan: Yep, that is exactly what I need. Thanks!