SpECTRE
v2025.03.17
|
Construct a homogeneous sphere of neutrino radiation. More...
#include <HomogeneousSphere.hpp>
Classes | |
struct | BoundaryRoundness |
BoundaryRoundness. More... | |
struct | EmissivityAndOpacity |
The emissivity and absorption opacity. More... | |
struct | OuterOpacity |
The absorption opacity of the exterior. More... | |
struct | Radius |
The sphere radius. More... | |
Public Types | |
using | options = implementation defined |
Public Member Functions | |
auto | get_clone () const -> std::unique_ptr< evolution::initial_data::InitialData > override |
HomogeneousSphere (double radius, double emissivity_and_opacity, double outer_opacity, double boundary_roundness) | |
template<typename Tag > | |
tuples::TaggedTuple< Tag > | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tag >) const |
Retrieve the metric variables. | |
template<typename... Tags> | |
tuples::TaggedTuple< Tags... > | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< Tags... >) const |
Retrieve a collection of variables. | |
void | pup (PUP::er &p) override |
virtual auto | get_clone () const -> std::unique_ptr< InitialData >=0 |
Static Public Attributes | |
static constexpr Options::String | help |
Friends | |
bool | operator== (const HomogeneousSphere &lhs, const HomogeneousSphere &rhs) |
template<typename NeutrinoSpecies > | |
auto | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< RadiationTransport::M1Grey::Tags::TildeE< Frame::Inertial, NeutrinoSpecies > >) const -> tuples::TaggedTuple< RadiationTransport::M1Grey::Tags::TildeE< Frame::Inertial, NeutrinoSpecies > > |
Retrieve fluid and neutrino variables. | |
template<typename NeutrinoSpecies > | |
auto | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< RadiationTransport::M1Grey::Tags::TildeS< Frame::Inertial, NeutrinoSpecies > >) const -> tuples::TaggedTuple< RadiationTransport::M1Grey::Tags::TildeS< Frame::Inertial, NeutrinoSpecies > > |
Retrieve fluid and neutrino variables. | |
template<typename NeutrinoSpecies > | |
auto | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< RadiationTransport::M1Grey::Tags::GreyEmissivity< NeutrinoSpecies > >) const -> tuples::TaggedTuple< RadiationTransport::M1Grey::Tags::GreyEmissivity< NeutrinoSpecies > > |
Retrieve fluid and neutrino variables. | |
template<typename NeutrinoSpecies > | |
auto | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< RadiationTransport::M1Grey::Tags::GreyAbsorptionOpacity< NeutrinoSpecies > >) const -> tuples::TaggedTuple< RadiationTransport::M1Grey::Tags::GreyAbsorptionOpacity< NeutrinoSpecies > > |
Retrieve fluid and neutrino variables. | |
template<typename NeutrinoSpecies > | |
auto | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< RadiationTransport::M1Grey::Tags::GreyScatteringOpacity< NeutrinoSpecies > >) const -> tuples::TaggedTuple< RadiationTransport::M1Grey::Tags::GreyScatteringOpacity< NeutrinoSpecies > > |
Retrieve fluid and neutrino variables. | |
static auto | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< hydro::Tags::LorentzFactor< DataVector > >) -> tuples::TaggedTuple< hydro::Tags::LorentzFactor< DataVector > > |
Retrieve fluid and neutrino variables. | |
static auto | variables (const tnsr::I< DataVector, 3 > &x, tmpl::list< hydro::Tags::SpatialVelocity< DataVector, 3 > >) -> tuples::TaggedTuple< hydro::Tags::SpatialVelocity< DataVector, 3 > > |
Retrieve fluid and neutrino variables. | |
Construct a homogeneous sphere of neutrino radiation.
We follow the homogeneous sphere test problem in Section 4.5 of [167]. The initial data has radius = 1, with equal emissivity and absorption
Note: To avoid sharp discontinuities, we round the edges of the energy profile with an arctangent function, instead of the step function, which has sharper features.
|
overridevirtual |
Implements evolution::initial_data::InitialData.
|
staticconstexpr |