|
| UniformAcceleration (const UniformAcceleration &)=default |
|
UniformAcceleration & | operator= (const UniformAcceleration &)=default |
|
| UniformAcceleration (UniformAcceleration &&)=default |
|
UniformAcceleration & | operator= (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 |
|
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.