Classes | Public Types | Static Public Member Functions | List of all members
NewtonianEuler::ComputeSources< InitialDataType > Struct Template Reference

Compute the source terms for the NewtonianEuler evolution using a problem-specific source. More...

#include <Sources.hpp>

Public Types

using return_tags = db::wrap_tags_in<::Tags::Source, typename source_term_type::sourced_variables >
 
using argument_tags = tmpl::push_front< typename source_term_type::argument_tags, Tags::SourceTerm< InitialDataType > >
 

Static Public Member Functions

template<class... Args>
static void apply (const Args &... args) noexcept
 

Detailed Description

template<typename InitialDataType>
struct NewtonianEuler::ComputeSources< InitialDataType >

Compute the source terms for the NewtonianEuler evolution using a problem-specific source.

Details

The source term type is fetched from the initial data, so any InitialDataType instance must have a type alias source_term_type. In turn, any source term type used by ComputeSources must hold type aliases sourced_variables and argument_tags, which are tmpl::lists of the variables whose equations of motion require a source term, and the arguments required to compute those source terms, respectively. The source term must also hold a public void member function apply whose arguments are gsl::not_null pointers to the variables storing the source terms, followed by the arguments required to compute them. See NewtonianEuler::Sources::UniformAcceleration for an example.

While most of physically relevant source terms for the Newtonian Euler equations do not add a source term for the mass density, this class allows for problems that source any set of conserved variables (at least one variable is required).


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