5#ifndef DUNE_ALBERTAGRIDDATAHANDLE_HH
6#define DUNE_ALBERTAGRIDDATAHANDLE_HH
12#include <dune/grid/albertagrid/misc.hh>
13#include <dune/grid/albertagrid/albertaheader.hh>
25 template<
class Gr
id,
class RestrictPro
longOperator >
26 class AdaptRestrictProlongHandler
30 typedef typename Grid::template Codim< 0 >::Entity Entity;
32 typedef typename EntityObject::ImplementationType EntityImp;
34 typedef Alberta::ElementInfo< dimension > ElementInfo;
35 typedef Alberta::Patch< dimension > Patch;
38 RestrictProlongOperator &rpOp_;
42 AdaptRestrictProlongHandler ( Grid &grid, RestrictProlongOperator &rpOp )
45 father_( EntityImp( grid_ ) )
48 void restrictLocal (
const Patch &patch,
int i )
50 ElementInfo fatherInfo = patch.elementInfo( i, grid_.levelProvider() );
51 father_.impl().setElement( fatherInfo, 0 );
52 rpOp_.preCoarsening( (
const Entity &)father_ );
55 void prolongLocal (
const Patch &patch,
int i )
57 ElementInfo fatherInfo = patch.elementInfo( i, grid_.levelProvider() );
58 father_.impl().setElement( fatherInfo, 0 );
59 rpOp_.postRefinement( (
const Entity &)father_ );
static constexpr int dimension
The dimension of the grid.
Definition: grid.hh:387
Different resources needed by all grid implementations.
provides a wrapper for ALBERTA's refinement patches and the corners for geometryInFather
provides a wrapper for ALBERTA's el_info structure
Dune namespace.
Definition: alignedallocator.hh:13