![]() |
ryujin 2.1.1 revision 9dcb748690310d6a540ebb8b066d1a0834fc7604
|
#include <source/solution_transfer.h>
Public Types | |
using | HyperbolicSystem = typename Description::HyperbolicSystem |
using | HyperbolicSystemView = typename Description::HyperbolicSystem::template View< dim, Number > |
using | state_type = typename HyperbolicSystemView::state_type |
using | scalar_type = typename OfflineData< dim, Number >::scalar_type |
using | vector_type = MultiComponentVector< Number, problem_dimension > |
Public Member Functions | |
SolutionTransfer (const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system) | |
void | prepare_for_interpolation (const vector_type &U) |
void | interpolate (vector_type &U) |
Static Public Attributes | |
static constexpr unsigned int | problem_dimension |
A solution transfer class that interpolates a given state U (in conserved variables) to a refined/coarsened mesh. The class first transforms the conserved state into primitive variables and then interpolates/restricts the primitive state field via deal.II's SolutionTransfer mechanism.
Definition at line 27 of file solution_transfer.h.
using ryujin::SolutionTransfer< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem |
Definition at line 33 of file solution_transfer.h.
using ryujin::SolutionTransfer< Description, dim, Number >::HyperbolicSystemView = typename Description::HyperbolicSystem::template View<dim, Number> |
Definition at line 38 of file solution_transfer.h.
using ryujin::SolutionTransfer< Description, dim, Number >::state_type = typename HyperbolicSystemView::state_type |
Definition at line 50 of file solution_transfer.h.
using ryujin::SolutionTransfer< Description, dim, Number >::scalar_type = typename OfflineData<dim, Number>::scalar_type |
Shorthand typedef for dealii::LinearAlgebra::distributed::Vector<Number>.
Definition at line 55 of file solution_transfer.h.
using ryujin::SolutionTransfer< Description, dim, Number >::vector_type = MultiComponentVector<Number, problem_dimension> |
Typedef for a MultiComponentVector storing the state U.
Definition at line 60 of file solution_transfer.h.
|
inline |
Constructor.
Definition at line 65 of file solution_transfer.h.
|
inline |
Read in a state vector (in conserved quantities). The function populates an auxiliary distributed vectors that store the given state in primitive variables and then calls the underlying deal.II SolutionTransfer::prepare_for_coarsening_and_refinement();
This function has to be called before the actual grid refinement.
Definition at line 81 of file solution_transfer.h.
References ryujin::MultiComponentVector< Number, n_comp, simd_length >::get_tensor(), and ryujin::SolutionTransfer< Description, dim, Number >::problem_dimension.
|
inline |
Finalize the state vector transfer by calling SolutionTransfer::interpolate() and repopulating the state vector (in conserved quantities).
This function has to be called after the actual grid refinement.
Definition at line 122 of file solution_transfer.h.
References ryujin::SolutionTransfer< Description, dim, Number >::problem_dimension, and ryujin::MultiComponentVector< Number, n_comp, simd_length >::write_tensor().
|
staticconstexpr |
Definition at line 44 of file solution_transfer.h.
Referenced by ryujin::SolutionTransfer< Description, dim, Number >::interpolate(), and ryujin::SolutionTransfer< Description, dim, Number >::prepare_for_interpolation().