![]() |
ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
|
#include <include/ryujin/interface/postprocessor.h>

Classes | |
| struct | Selection |
Public Member Functions | |
| virtual | ~Postprocessor ()=default |
| virtual Selection | prepare (const std::vector< std::string > &selected) const =0 |
| virtual std::vector< ScalarHostVector< Number > > | extract (const Selection &selection, const StateVector< Number > &state_vector) const =0 |
| virtual void | extract (const Selection &selection, const StateVector< Number > &state_vector, const unsigned int *indices, const unsigned int n_points, Number *values) const =0 |
The description-free interface of a Postprocessor: the extraction of selected (and postprocessed) components out of a state vector.
A component can be selected by any of its conserved, primitive, precomputed, initial-precomputed, or parabolic name. In addition, the following postprocessed quantities can be selected:
\[ q_i = \Big|\frac{1}{m_i}\sum_{j\in \mathcal{J}(i)} \mathbf{c}_{ij} u_j\Big|; \]
\[ \mathbf q_i = \frac{1}{m_i}\sum_{j\in \mathcal{J}(i)} \mathbf{c}_{ij} \times \mathbf{u}_j. \]
A single postprocessor serves several callers: every caller stores the selection returned by prepare() and passes it to extract().
Intended usage:
Definition at line 58 of file postprocessor.h.
|
virtualdefault |
Destructor.
|
pure virtual |
Look up the list of selected component names and return the corresponding selection.
Implemented in ryujin::Postprocessor< Description, dim, Number >, and ryujin::Postprocessor< HD, dim, double >.
|
pure virtual |
Extract all quantities of selection out of state_vector and return them as a vector of host vectors with one entry per selected quantity, in the order in which the quantities have been selected in prepare().
|
pure virtual |
Extract all quantities of selection at the degrees of freedom indices[p], p = 0, ..., n_points - 1, out of state_vector:
The extraction runs on the memory space selected_memory_space_t, and both pointers refer to it. Depending on the transfer policy of the individual vectors this either asserts that the memory space is resident, or triggers an implicit memory transfer.