ryujin 2.5.0 revision 3a6c8d57210175dea14d8116e1fe878f349f8c1c
Loading...
Searching...
No Matches
List of all members
ryujin::Interface::SolutionTransfer< dim, Number > Class Template Referenceabstract

#include <include/ryujin/interface/solution_transfer.h>

Inheritance diagram for ryujin::Interface::SolutionTransfer< dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::Interface::SolutionTransfer< dim, Number >:
Collaboration graph
[legend]

Public Member Functions

Functions for solution transfer after mesh adaptation and

for serialization/deserialization

virtual void prepare_projection (const StateVector< Number > &old_state_vector)=0
 
virtual void project (StateVector< Number > &new_state_vector)=0
 

Information and statistics

unsigned int handle_
 
unsigned int get_handle () const
 
void set_handle (unsigned int handle)
 
void reset_handle ()
 
 SolutionTransfer (const std::string &subsection)
 

Detailed Description

template<int dim, typename Number = double>
class ryujin::Interface::SolutionTransfer< dim, Number >

The interface of a SolutionTransfer: it attaches the state to the triangulation before mesh adaptation or serialization, and projects the attached data into a new state vector afterwards.

The interface holds the handle of the data attached to the triangulation.

Definition at line 32 of file solution_transfer.h.

Constructor & Destructor Documentation

◆ SolutionTransfer()

template<int dim, typename Number = double>
ryujin::Interface::SolutionTransfer< dim, Number >::SolutionTransfer ( const std::string &  subsection)
inlineexplicitprotected

Constructor.

Definition at line 110 of file solution_transfer.h.

Member Function Documentation

◆ prepare_projection()

template<int dim, typename Number = double>
virtual void ryujin::Interface::SolutionTransfer< dim, Number >::prepare_projection ( const StateVector< Number > &  old_state_vector)
pure virtual

Prepare projection (and serialization) by attaching all necessary data to the triangulation to perform a projection after mesh adaptation, or a Triangulation::store()/load() operation.

Implemented in ryujin::SolutionTransfer< HyperbolicDescription, dim, Number >.

◆ project()

template<int dim, typename Number = double>
virtual void ryujin::Interface::SolutionTransfer< dim, Number >::project ( StateVector< Number > &  new_state_vector)
pure virtual

Project the data stored in the triangulation into a new state vector new_state_vector. The attached data either comes from a previous call to prepare_projection() prior to mesh adaptation or has been read back in from a checkpoint after a call to Triangulation::load().

Implemented in ryujin::SolutionTransfer< HyperbolicDescription, dim, Number >.

◆ get_handle()

template<int dim, typename Number = double>
unsigned int ryujin::Interface::SolutionTransfer< dim, Number >::get_handle ( ) const
inline

Return the handle associated with the call back that was set by prepare_projection() and the associated data attached to the triangulation.

Definition at line 69 of file solution_transfer.h.

References ryujin::Interface::SolutionTransfer< dim, Number >::handle_.

◆ set_handle()

template<int dim, typename Number = double>
void ryujin::Interface::SolutionTransfer< dim, Number >::set_handle ( unsigned int  handle)
inline

Set the handle associated data attached to the triangulation. This function has to be called after a Triangulation::load() operation and prior to project().

Definition at line 84 of file solution_transfer.h.

References ryujin::Interface::SolutionTransfer< dim, Number >::handle_.

◆ reset_handle()

template<int dim, typename Number = double>
void ryujin::Interface::SolutionTransfer< dim, Number >::reset_handle ( )
inline

Invalidate the currently stored handle. After a call to this function a new handle can be registered with prepare_projection(), or set_handle().

Definition at line 99 of file solution_transfer.h.

References ryujin::Interface::SolutionTransfer< dim, Number >::handle_.

Member Data Documentation

◆ handle_

template<int dim, typename Number = double>
unsigned int ryujin::Interface::SolutionTransfer< dim, Number >::handle_
protected

The handle of the data attached to the triangulation, or dealii::numbers::invalid_unsigned_int if no data is attached.

Note
A derived class sets it in prepare_projection(). The functions set_handle() and reset_handle() set it otherwise.

Definition at line 123 of file solution_transfer.h.

Referenced by ryujin::Interface::SolutionTransfer< dim, Number >::get_handle(), ryujin::Interface::SolutionTransfer< dim, Number >::reset_handle(), and ryujin::Interface::SolutionTransfer< dim, Number >::set_handle().


The documentation for this class was generated from the following file: