|
SpECTRE
2021.08.02
|
Source generated from an external uniform acceleration. More...
#include <UniformAcceleration.hpp>
Public Types | |
| using | sourced_variables = tmpl::list< Tags::MomentumDensity< Dim >, Tags::EnergyDensity > |
| using | argument_tags = tmpl::list< Tags::MassDensityCons, Tags::MomentumDensity< Dim > > |
Public Member Functions | |
| UniformAcceleration (const UniformAcceleration &)=default | |
| UniformAcceleration & | operator= (const UniformAcceleration &)=default |
| UniformAcceleration (UniformAcceleration &&) noexcept=default | |
| UniformAcceleration & | operator= (UniformAcceleration &&) noexcept=default |
| UniformAcceleration (const std::array< double, Dim > &acceleration_field) noexcept | |
| void | pup (PUP::er &) noexcept |
| void | apply (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 noexcept |
Friends | |
| template<size_t SpatialDim> | |
| bool | operator== (const UniformAcceleration< SpatialDim > &lhs, const UniformAcceleration< SpatialDim > &rhs) noexcept |
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.