SpECTRE  v2024.09.29
Particles::MonteCarlo::TimeStepMutator< EnergyBins, NeutrinoSpecies > Struct Template Reference

Mutator advancing neutrinos by a single step. More...

#include <TimeStepActions.hpp>

Public Types

using return_tags = tmpl::list< Particles::MonteCarlo::Tags::PacketsOnElement, Particles::MonteCarlo::Tags::RandomNumberGenerator, Particles::MonteCarlo::Tags::DesiredPacketEnergyAtEmission< 3 > >
 
using argument_tags = tmpl::list< ::Tags::TimeStepId, ::Tags::Next<::Tags::TimeStepId >, hydro::Tags::GrmhdEquationOfState, Particles::MonteCarlo::Tags::InteractionRatesTable< EnergyBins, NeutrinoSpecies >, hydro::Tags::ElectronFraction< DataVector >, hydro::Tags::RestMassDensity< DataVector >, hydro::Tags::Temperature< DataVector >, hydro::Tags::LorentzFactor< DataVector >, hydro::Tags::LowerSpatialFourVelocity< DataVector, Dim, Frame::Inertial >, gr::Tags::Lapse< DataVector >, gr::Tags::Shift< DataVector, Dim, Frame::Inertial >, ::Tags::deriv< gr::Tags::Lapse< DataVector >, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::deriv< gr::Tags::Shift< DataVector, Dim >, tmpl::size_t< Dim >, Frame::Inertial >, ::Tags::deriv< gr::Tags::InverseSpatialMetric< DataVector, Dim >, tmpl::size_t< Dim >, Frame::Inertial >, gr::Tags::SpatialMetric< DataVector, Dim, Frame::Inertial >, gr::Tags::InverseSpatialMetric< DataVector, Dim, Frame::Inertial >, gr::Tags::DetSpatialMetric< DataVector >, Particles::MonteCarlo::Tags::CellLightCrossingTime< DataVector >, evolution::dg::subcell::Tags::Mesh< Dim >, evolution::dg::subcell::Tags::Coordinates< Dim, Frame::ElementLogical >, domain::Tags::MeshVelocity< Dim >, evolution::dg::subcell::fd::Tags::InverseJacobianLogicalToInertial< Dim >, evolution::dg::subcell::fd::Tags::DetInverseJacobianLogicalToInertial, domain::Tags::InverseJacobian< Dim+1, Frame::Inertial, Frame::Fluid >, domain::Tags::Jacobian< Dim+1, Frame::Inertial, Frame::Fluid >, Particles::MonteCarlo::Tags::MortarDataTag< Dim > >
 

Static Public Member Functions

static void apply (const gsl::not_null< std::vector< Packet > * > packets, const gsl::not_null< std::mt19937 * > random_number_generator, const gsl::not_null< std::array< DataVector, NeutrinoSpecies > * > single_packet_energy, const TimeStepId &current_step_id, const TimeStepId &next_step_id, const EquationsOfState::EquationOfState< true, 3 > &equation_of_state, const NeutrinoInteractionTable< EnergyBins, NeutrinoSpecies > &interaction_table, const Scalar< DataVector > &electron_fraction, const Scalar< DataVector > &rest_mass_density, const Scalar< DataVector > &temperature, const Scalar< DataVector > &lorentz_factor, const tnsr::i< DataVector, Dim, Frame::Inertial > &lower_spatial_four_velocity, const Scalar< DataVector > &lapse, const tnsr::I< DataVector, Dim, Frame::Inertial > &shift, const tnsr::i< DataVector, Dim, Frame::Inertial > &d_lapse, const tnsr::iJ< DataVector, Dim, Frame::Inertial > &d_shift, const tnsr::iJJ< DataVector, Dim, Frame::Inertial > &d_inv_spatial_metric, const tnsr::ii< DataVector, Dim, Frame::Inertial > &spatial_metric, const tnsr::II< DataVector, Dim, Frame::Inertial > &inv_spatial_metric, const Scalar< DataVector > &determinant_spatial_metric, const Scalar< DataVector > &cell_light_crossing_time, const Mesh< Dim > &mesh, const tnsr::I< DataVector, Dim, Frame::ElementLogical > &mesh_coordinates, const std::optional< tnsr::I< DataVector, Dim, Frame::Inertial > > &mesh_velocity, const InverseJacobian< DataVector, Dim, Frame::ElementLogical, Frame::Inertial > &inverse_jacobian_logical_to_inertial, const Scalar< DataVector > &det_inverse_jacobian_logical_to_inertial, const InverseJacobian< DataVector, Dim+1, Frame::Inertial, Frame::Fluid > &inertial_to_fluid_inverse_jacobian, const Jacobian< DataVector, Dim+1, Frame::Inertial, Frame::Fluid > &inertial_to_fluid_jacobian, const MortarData< Dim > &mortar_data)
 

Static Public Attributes

static const size_t Dim = 3
 

Detailed Description

template<size_t EnergyBins, size_t NeutrinoSpecies>
struct Particles::MonteCarlo::TimeStepMutator< EnergyBins, NeutrinoSpecies >

Mutator advancing neutrinos by a single step.


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