SpECTRE  v2024.04.12
VariableFixing::ParameterizedDeleptonization Class Reference

Adjust the electron fraction (Ye) based on rest mass density (rho). More...

#include <ParameterizedDeleptonization.hpp>

Classes

struct  ElectronFractionAtHighDensity
 Electron fraction of material when the rest mass density is above HighDensityScale. More...
 
struct  ElectronFractionAtLowDensity
 Electron fraction of material when the rest mass density is below LowDensityScale. More...
 
struct  ElectronFractionCorrectionScale
 Electron fraction correction term. The larger this value, the higher the Ye of matter at densities between LowDensityScale and HighDensityScale. More...
 
struct  Enable
 Use an analytic expression vs rest mass density profile. More...
 
struct  HighDensityScale
 Density near the center of the supernova at bounce, above which the central Ye is assumed. More...
 
struct  LowDensityScale
 Density near the Silicon-Oxygen interface, below which the lower Ye is assumed. More...
 

Public Types

using options = tmpl::list< Enable, HighDensityScale, LowDensityScale, ElectronFractionAtHighDensity, ElectronFractionAtLowDensity, ElectronFractionCorrectionScale >
 
using return_tags = tmpl::list< hydro::Tags::SpecificInternalEnergy< DataVector >, hydro::Tags::ElectronFraction< DataVector >, hydro::Tags::Pressure< DataVector >, hydro::Tags::Temperature< DataVector > >
 
using argument_tags = tmpl::list< hydro::Tags::RestMassDensity< DataVector >, hydro::Tags::EquationOfStateBase >
 

Public Member Functions

 ParameterizedDeleptonization (bool enable, double high_density_scale, double low_density_scale, double electron_fraction_at_high_density, double electron_fraction_at_low_density, double electron_fraction_correction_scale, const Options::Context &context={})
 
 ParameterizedDeleptonization (const ParameterizedDeleptonization &)=default
 
ParameterizedDeleptonizationoperator= (const ParameterizedDeleptonization &)=default
 
 ParameterizedDeleptonization (ParameterizedDeleptonization &&)=default
 
ParameterizedDeleptonizationoperator= (ParameterizedDeleptonization &&)=default
 
void pup (PUP::er &p)
 
template<size_t ThermodynamicDim>
void operator() (gsl::not_null< Scalar< DataVector > * > specific_internal_energy, gsl::not_null< Scalar< DataVector > * > electron_fraction, gsl::not_null< Scalar< DataVector > * > pressure, gsl::not_null< Scalar< DataVector > * > temperature, const Scalar< DataVector > &rest_mass_density, const EquationsOfState::EquationOfState< true, ThermodynamicDim > &equation_of_state) const
 

Static Public Attributes

static constexpr Options::String help
 

Friends

bool operator== (const ParameterizedDeleptonization &lhs, const ParameterizedDeleptonization &rhs)
 

Detailed Description

Adjust the electron fraction (Ye) based on rest mass density (rho).

Based on [117] spherically symmetric Boltzmann calculations, during the collapse phase just before a core-collapse supernova, the electron fraction naturally follows the rest mass density. Intuitively, the higher the density, the more electrons are captured onto protons, leading to neutrino production. As these neutrinos diffuse out of the center of the collapsing star, the total number of leptons near center of the CCSN drops—the process of deleptonization.

https://iopscience.iop.org/article/10.1086/466517

Member Data Documentation

◆ help

constexpr Options::String VariableFixing::ParameterizedDeleptonization::help
staticconstexpr
Initial value:
= {
"Set electron fraction based on rest mass density. "
"(Low/High)DensityScale sets the limits of the density, beyond which "
"the ElectronFractionAt(Low/High)Density is assumed. At intermediate "
"densities, the higher the ElectronFractionCorrectionScale, the higher "
"the Ye."}

The documentation for this class was generated from the following file: