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


Public Types | |
Typedefs and constexpr constants | |
| using | HyperbolicSystem = typename HyperbolicDescription::HyperbolicSystem |
| using | View = typename HyperbolicSystem::template View< dim, Number > |
Public Member Functions | |
Constructor and setup | |
| Quantities (const MPIEnsemble &mpi_ensemble, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const Interface::ParabolicSystem ¶bolic_system, const MultiComponentVector< Number > &initial_precomputed, const std::string &subsection="/Quantities") | |
| void | prepare (const std::string &name) |
Functions for accumulating and writing out quantities | |
| void | accumulate (const StateVector< Number > &state_vector, const Number t) |
| void | write_out (const StateVector< Number > &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 49 of file quantities.h.
| using ryujin::Quantities< HyperbolicDescription, dim, Number >::HyperbolicSystem = typename HyperbolicDescription::HyperbolicSystem |
Definition at line 57 of file quantities.h.
| using ryujin::Quantities< HyperbolicDescription, dim, Number >::View = typename HyperbolicSystem::template View<dim, Number> |
Definition at line 59 of file quantities.h.
| ryujin::Quantities< HyperbolicDescription, dim, Number >::Quantities | ( | const MPIEnsemble & | mpi_ensemble, |
| const OfflineData< dim, Number > & | offline_data, | ||
| const HyperbolicSystem & | hyperbolic_system, | ||
| const Interface::ParabolicSystem & | parabolic_system, | ||
| const MultiComponentVector< Number > & | initial_precomputed, | ||
| const std::string & | subsection = "/Quantities< HyperbolicDescription, dim, Number >" |
||
| ) |
Constructor.
Definition at line 56 of file quantities.template.h.
| void ryujin::Quantities< HyperbolicDescription, 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 115 of file quantities.template.h.
References ryujin::implicit_transfers.
| void ryujin::Quantities< HyperbolicDescription, dim, Number >::accumulate | ( | const StateVector< Number > & | 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 342 of file quantities.template.h.
References RYUJIN_UNLIKELY.
| void ryujin::Quantities< HyperbolicDescription, dim, Number >::write_out | ( | const StateVector< Number > & | state_vector, |
| const Number | t, | ||
| unsigned int | cycle | ||
| ) |
Write quantities of interest to designated output files.
Definition at line 415 of file quantities.template.h.