![]() |
ryujin 2.1.1 revision 71cdc42292164f8095c0bd62c4ea75ebcfac58fa
|
#include <source/quantities.h>


Public Types | |
Typedefs and constexpr constants | |
| using | HyperbolicSystem = typename Description::HyperbolicSystem |
| using | ParabolicSystem = typename Description::ParabolicSystem |
| using | View = typename HyperbolicSystem::template View< dim, Number > |
| using | StateVector = typename View::StateVector |
| using | InitialPrecomputedVector = typename View::InitialPrecomputedVector |
Public Member Functions | |
Constructor and setup | |
| Quantities (const MPIEnsemble &mpi_ensemble, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const ParabolicSystem ¶bolic_system, const InitialPrecomputedVector &initial_precomputed, const std::string &subsection="/Quantities") | |
| void | prepare (const std::string &name) |
Functions for accumulating and writing out quantities | |
| void | accumulate (const StateVector &state_vector, const Number t) |
| void | write_out (const StateVector &state_vector, const Number t, unsigned int cycle) |
A postprocessor class for quantities of interest.
The class accumulates statistics of a user selected list of (conserved, primitive, precomputed, initial, or parabolic) quantities on level set defined interior and boundary manifolds. For every degree of freedom of a manifold the raw moments (up to a selectable order) of all selected quantities are stored and averaged in time (with a trapezoidal rule), and averaged in space (weighted by the lumped, or boundary mass). Raw moments are linear in the samples and can thus be accumulated exactly. They are converted to the mean and the central moments (variance, third and fourth central moment) on output.
All statistics are accumulated on the selected memory space (i.e., on the device if the state vector resides there) and are only transferred to the host for writing out.
Definition at line 47 of file quantities.h.
| using ryujin::Quantities< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem |
Definition at line 55 of file quantities.h.
| using ryujin::Quantities< Description, dim, Number >::ParabolicSystem = typename Description::ParabolicSystem |
Definition at line 56 of file quantities.h.
| using ryujin::Quantities< Description, dim, Number >::View = typename HyperbolicSystem::template View<dim, Number> |
Definition at line 58 of file quantities.h.
| using ryujin::Quantities< Description, dim, Number >::StateVector = typename View::StateVector |
Definition at line 60 of file quantities.h.
| using ryujin::Quantities< Description, dim, Number >::InitialPrecomputedVector = typename View::InitialPrecomputedVector |
Definition at line 61 of file quantities.h.
| ryujin::Quantities< Description, dim, Number >::Quantities | ( | const MPIEnsemble & | mpi_ensemble, |
| const OfflineData< dim, Number > & | offline_data, | ||
| const HyperbolicSystem & | hyperbolic_system, | ||
| const ParabolicSystem & | parabolic_system, | ||
| const InitialPrecomputedVector & | initial_precomputed, | ||
| const std::string & | subsection = "/Quantities< Description, dim, Number >" |
||
| ) |
Constructor.
Definition at line 56 of file quantities.template.h.
| void ryujin::Quantities< Description, dim, Number >::prepare | ( | const std::string & | name | ) |
Prepare evaluation. A call to prepare() allocates temporary storage and is necessary before accumulate() and write_out() can be called.
Calling prepare() allocates temporary storage for various boundary and interior maps. The storage requirement varies according to the supplied manifold descriptions.
The string parameter name is used as base name for output files.
Definition at line 117 of file quantities.template.h.
References ryujin::implicit_transfers.
| void ryujin::Quantities< Description, dim, Number >::accumulate | ( | const StateVector & | state_vector, |
| const Number | t | ||
| ) |
Takes a state vector U at time t (obtained at the end of a full Strang step) and accumulates statistics for quantities of interests for all defined manifolds.
Definition at line 343 of file quantities.template.h.
References RYUJIN_UNLIKELY.
| void ryujin::Quantities< Description, dim, Number >::write_out | ( | const StateVector & | state_vector, |
| const Number | t, | ||
| unsigned int | cycle | ||
| ) |
Write quantities of interest to designated output files.
Definition at line 416 of file quantities.template.h.