Open lroberts36 opened 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)
@brryan: Yep, that is exactly what I need. Thanks!
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:
FixFluxes
to operate on both number and energy moments (this requires splitting into separate functions for hydro and radiation, at least to minimize code duplication).ApplyFloors
to operate on both number and energy moments.MomentRedshiftingSource
task, which includes the extra RHS terms the number flux equation picks up due to redshifting. This requires calculating the expansion, acceleration, and shear of the fluid 4-velocity field. The expansion and acceleration also need to be included in the asymptotic flux expression.Choices that were made (and that maybe could be unmade):
PR Checklist
scripts/bash/format.sh
.