3.6-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Classes | Public Member Functions | List of all members
Dumux::TwoPGridDataTransfer< TypeTag > Class Template Referenceabstract

Class performing the transfer of data on a grid from before to after adaptation. More...

#include <dumux/porousmediumflow/2p/griddatatransfer.hh>

Inheritance diagram for Dumux::TwoPGridDataTransfer< TypeTag >:

Description

template<class TypeTag>
class Dumux::TwoPGridDataTransfer< TypeTag >

Class performing the transfer of data on a grid from before to after adaptation.

Public Member Functions

 TwoPGridDataTransfer (std::shared_ptr< const Problem > problem, std::shared_ptr< GridGeometry > gridGeometry, std::shared_ptr< const GridVariables > gridVariables, SolutionVector &sol)
 Constructor. More...
 
void store (const Grid &grid) override
 Stores primary variables and additional data. More...
 
void reconstruct (const Grid &grid) override
 Reconstruct missing primary variables (where elements are created/deleted) More...
 
virtual void store (const GetPropType< TypeTag, Properties::Grid > &)=0
 store user data before grid adaption More...
 
virtual void reconstruct (const GetPropType< TypeTag, Properties::Grid > &)=0
 store user data after grid adaption More...
 

Constructor & Destructor Documentation

◆ TwoPGridDataTransfer()

template<class TypeTag >
Dumux::TwoPGridDataTransfer< TypeTag >::TwoPGridDataTransfer ( std::shared_ptr< const Problem >  problem,
std::shared_ptr< GridGeometry >  gridGeometry,
std::shared_ptr< const GridVariables >  gridVariables,
SolutionVector &  sol 
)
inline

Constructor.

Parameters
problemThe DuMuX problem to be solved
gridGeometryThe finite volume grid geometry
gridVariablesThe secondary variables on the grid
solThe solution (primary variables) on the grid

Member Function Documentation

◆ reconstruct() [1/2]

virtual void Dumux::GridDataTransfer< GetPropType< TypeTag, Properties::Grid > >::reconstruct ( const GetPropType< TypeTag, Properties::Grid > &  )
pure virtualinherited

store user data after grid adaption

◆ reconstruct() [2/2]

template<class TypeTag >
void Dumux::TwoPGridDataTransfer< TypeTag >::reconstruct ( const Grid &  grid)
inlineoverride

Reconstruct missing primary variables (where elements are created/deleted)

To reconstruct the solution in father elements, problem properties might need to be accessed. Starting from the lowest level, the old solution is mapped on the new grid: Where coarsened, new cells get information from old father element. Where refined, a new solution is reconstructed from the old father cell, and then a new son is created. That is then stored into the general data structure (AdaptedValues).

◆ store() [1/2]

virtual void Dumux::GridDataTransfer< GetPropType< TypeTag, Properties::Grid > >::store ( const GetPropType< TypeTag, Properties::Grid > &  )
pure virtualinherited

store user data before grid adaption

◆ store() [2/2]

template<class TypeTag >
void Dumux::TwoPGridDataTransfer< TypeTag >::store ( const Grid &  grid)
inlineoverride

Stores primary variables and additional data.

To reconstruct the solution in father elements, problem properties might need to be accessed. From upper level on downwards, the old solution is stored into a container object, before the grid is adapted. Father elements hold averaged information from the son cells for the case of the sons being coarsened.


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