SpECTRE  v2024.05.11
NewtonianEuler::Sources::UniformAcceleration< Dim > Class Template Reference

Source generated from an external uniform acceleration. More...

#include <UniformAcceleration.hpp>

Classes

struct  Acceleration
 The applied acceleration. More...
 

Public Types

using options = tmpl::list< Acceleration >
 

Public Member Functions

 UniformAcceleration (const UniformAcceleration &)=default
 
UniformAccelerationoperator= (const UniformAcceleration &)=default
 
 UniformAcceleration (UniformAcceleration &&)=default
 
UniformAccelerationoperator= (UniformAcceleration &&)=default
 
 UniformAcceleration (const std::array< double, Dim > &acceleration_field)
 
void pup (PUP::er &p) override
 
auto get_clone () const -> std::unique_ptr< Source< Dim > > override
 
void operator() (gsl::not_null< Scalar< DataVector > * > source_mass_density_cons, gsl::not_null< tnsr::I< DataVector, Dim > * > source_momentum_density, gsl::not_null< Scalar< DataVector > * > source_energy_density, const Scalar< DataVector > &mass_density_cons, const tnsr::I< DataVector, Dim > &momentum_density, const Scalar< DataVector > &energy_density, const tnsr::I< DataVector, Dim > &velocity, const Scalar< DataVector > &pressure, const Scalar< DataVector > &specific_internal_energy, const EquationsOfState::EquationOfState< false, 2 > &eos, const tnsr::I< DataVector, Dim > &coords, double time) const override
 
virtual auto get_clone () const -> std::unique_ptr< Source >=0
 
virtual void operator() (gsl::not_null< Scalar< DataVector > * > source_mass_density_cons, gsl::not_null< tnsr::I< DataVector, Dim > * > source_momentum_density, gsl::not_null< Scalar< DataVector > * > source_energy_density, const Scalar< DataVector > &mass_density_cons, const tnsr::I< DataVector, Dim > &momentum_density, const Scalar< DataVector > &energy_density, const tnsr::I< DataVector, Dim > &velocity, const Scalar< DataVector > &pressure, const Scalar< DataVector > &specific_internal_energy, const EquationsOfState::EquationOfState< false, 2 > &eos, const tnsr::I< DataVector, Dim > &coords, double time) const =0
 

Static Public Attributes

static constexpr Options::String help
 

Friends

template<size_t SpatialDim>
bool operator== (const UniformAcceleration< SpatialDim > &lhs, const UniformAcceleration< SpatialDim > &rhs)
 

Detailed Description

template<size_t Dim>
class NewtonianEuler::Sources::UniformAcceleration< Dim >

Source generated from an external uniform acceleration.

The NewtonianEuler system with source terms is written as

\begin{align*} \partial_t\rho + \partial_i F^i(\rho) &= S(\rho)\\ \partial_t S^i + \partial_j F^{j}(S^i) &= S(S^i)\\ \partial_t e + \partial_i F^i(e) &= S(e), \end{align*}

where \(F^i(u)\) is the volume flux of the conserved quantity \(u\) (see ComputeFluxes). For an external acceleration \(a^i\), one has

\begin{align*} S(\rho) &= 0\\ S(S^i) &= \rho a^i\\ S(e) &= S_ia^i, \end{align*}

where \(\rho\) is the mass density, \(S^i\) is the momentum density, and \(e\) is the energy density.

Member Function Documentation

◆ get_clone()

template<size_t Dim>
auto NewtonianEuler::Sources::UniformAcceleration< Dim >::get_clone ( ) const -> std::unique_ptr< Source< Dim > >
overridevirtual

◆ operator()()

template<size_t Dim>
void NewtonianEuler::Sources::UniformAcceleration< Dim >::operator() ( gsl::not_null< Scalar< DataVector > * >  source_mass_density_cons,
gsl::not_null< tnsr::I< DataVector, Dim > * >  source_momentum_density,
gsl::not_null< Scalar< DataVector > * >  source_energy_density,
const Scalar< DataVector > &  mass_density_cons,
const tnsr::I< DataVector, Dim > &  momentum_density,
const Scalar< DataVector > &  energy_density,
const tnsr::I< DataVector, Dim > &  velocity,
const Scalar< DataVector > &  pressure,
const Scalar< DataVector > &  specific_internal_energy,
const EquationsOfState::EquationOfState< false, 2 > &  eos,
const tnsr::I< DataVector, Dim > &  coords,
double  time 
) const
overridevirtual

Member Data Documentation

◆ help

template<size_t Dim>
constexpr Options::String NewtonianEuler::Sources::UniformAcceleration< Dim >::help
staticconstexpr
Initial value:
= {
"Source terms corresponding to a uniform acceleration."}

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