1 #ifndef DUNE_ALU3DGRIDDATAHANDLE_HH
2 #define DUNE_ALU3DGRIDDATAHANDLE_HH
8 #include <dune/common/version.hh>
10 #include <dune/grid/common/grid.hh>
11 #include <dune/grid/common/adaptcallback.hh>
23 template<
class Gr
idType,
class DataCollectorType,
int codim >
25 :
public GatherScatter
30 typedef typename GridType::template Codim<codim>::Entity
EntityType;
33 typedef typename GridType::MPICommunicatorType
Comm;
36 typedef typename ImplTraits::template Codim< dimension, codim >::ImplementationType
ImplElementType;
37 typedef typename ImplTraits::template Codim< dimension, codim >::InterfaceType
HElementType;
42 DataCollectorType &
dc_;
48 typedef typename DataCollectorType:: DataType
DataType;
50 using GatherScatter :: setData ;
51 using GatherScatter :: sendData ;
52 using GatherScatter :: recvData ;
53 using GatherScatter :: containsItem ;
74 return dc_.contains(dim,cd);
90 std::cerr <<
"DataHandle.contains called with non-matching dim and codim" << std::endl;
166 template <
class Gr
idType,
class DataCollectorType >
171 enum { dim = GridType::dimension };
173 typedef typename GridType::template Codim<0>::Entity
EntityType;
176 typedef typename GridType::MPICommunicatorType
Comm;
179 typedef typename ImplTraits::template Codim< dim, codim >::ImplementationType
ImplElementType;
180 typedef typename ImplTraits::template Codim< dim, codim >::InterfaceType
HElementType;
182 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType
HFaceType;
184 typedef typename ImplTraits::template Codim< dim, codim >::GhostInterfaceType
HGhostType;
185 typedef typename ImplTraits::template Codim< dim, codim >::GhostImplementationType
ImplGhostType;
201 using GatherScatter :: setData ;
202 using GatherScatter :: sendData ;
203 using GatherScatter :: recvData ;
207 using GatherScatter :: containsItem ;
219 return dc_.contains(dim,codim);
225 return elem.isLeafEntity();
297 size_t size =
dc_.size( en );
304 template<
class Gr
idType,
class DataCollectorType,
int codim >
308 enum { dim = GridType :: dimension };
311 typedef typename GridType::template Codim<codim>::Entity
EntityType;
312 typedef typename GridType::template Codim<codim>::EntityImp
RealEntityType;
314 typedef typename GridType::MPICommunicatorType
Comm;
317 typedef typename ImplTraits::template Codim< dim, codim >::ImplementationType IMPLElementType;
318 typedef typename ImplTraits::template Codim< dim, codim >::InterfaceType
HElementType;
320 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType;
322 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType HGhostType;
323 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType ImplGhostType;
325 typedef typename ImplTraits::PllElementType PllElementType;
341 if( (codim == dim) && dc.contains(dim,codim) )
345 grid.getLeafVertexList();
352 return (dim == 2 ? elem.is2d() :
true) && elem.isLeafEntity();
360 return ghost.isLeafEntity();
366 return (dim == 2 ? face.is2d() :
true) && face.isInteriorLeaf();
372 return (dim == 2 ? face.is2d() :
true) && pll.ghostLeaf();
383 template <
class Gr
idType,
class DataCollectorType ,
int codim >
387 enum { dim = GridType::dimension };
389 typedef typename GridType::template Codim<codim>::Entity
EntityType;
390 typedef typename GridType::template Codim<codim>::EntityImp
RealEntityType;
392 typedef typename GridType::MPICommunicatorType
Comm;
395 typedef typename ImplTraits::template Codim< dim, codim >::ImplementationType IMPLElementType;
396 typedef typename ImplTraits::template Codim< dim, codim >::InterfaceType
HElementType;
398 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType;
400 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType HGhostType;
401 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType ImplGhostType;
403 typedef typename ImplTraits::PllElementType PllElementType;
405 typedef typename GridType::LevelIndexSetImp LevelIndexSetImp;
407 const LevelIndexSetImp & levelSet_;
416 const LevelIndexSetImp & levelSet,
const int level)
417 :
BaseType(grid,en,realEntity,dc) , levelSet_(levelSet) , level_(level)
424 return (dim == 2 ? elem.is2d() :
true) && levelSet_.containsIndex(codim, elem.getIndex() );
437 template <
class Gr
idType,
class DataCollectorType ,
int codim >
441 enum { dim = GridType::dimension };
443 typedef typename GridType::template Codim<codim>::Entity
EntityType;
444 typedef typename GridType::template Codim<codim>::EntityImp
RealEntityType;
446 typedef typename GridType::MPICommunicatorType
Comm;
450 typedef typename ImplTraits::template Codim< 2, codim >::ImplementationType IMPLElementType;
451 typedef typename ImplTraits::template Codim< 2, codim >::InterfaceType
HElementType;
453 typedef typename ImplTraits::template Codim< 3, codim >::ImplementationType RealIMPLElementType;
454 typedef typename ImplTraits::template Codim< 3, codim >::InterfaceType RealHElementType;
456 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType;
458 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType HGhostType;
459 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType ImplGhostType;
461 typedef typename ImplTraits::PllElementType PllElementType;
463 typedef typename GridType::LevelIndexSetImp LevelIndexSetImp;
472 const LevelIndexSetImp & levelSet,
const int level)
516 template <
class Gr
idType,
class DataCollectorType>
521 enum { dim = GridType:: dimension };
523 typedef typename GridType::template Codim<codim>::Entity
EntityType;
524 typedef typename GridType::template Codim<codim>::EntityImp
RealEntityType;
526 typedef typename GridType::MPICommunicatorType
Comm;
529 typedef typename ImplTraits::template Codim< dim, codim >::ImplementationType IMPLElementType;
530 typedef typename ImplTraits::template Codim< dim, codim >::InterfaceType
HElementType;
532 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType
HFaceType;
534 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType
HGhostType;
535 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType
ImplGhostType;
539 typedef typename GridType::LevelIndexSetImp LevelIndexSetImp;
541 const LevelIndexSetImp & levelSet_;
547 const LevelIndexSetImp & levelSet,
const int level)
548 :
BaseType(grid,en,realEntity,dc) , levelSet_(levelSet) , level_(level) {}
553 return levelSet_.containsIndex(codim, elem.getIndex() );
567 if(face.level() != level_)
return false;
570 typedef Gitter::hbndseg_STI HBndSegType;
573 std::pair< HElementType *, HBndSegType * > p( (
HElementType *)0, (HBndSegType *)0 );
574 pll.getAttachedElement( p );
577 bool contained = (p.first->level() == level_);
586 if(face.level() != level_)
return false;
588 return (pll.ghostLevel() == level_);
598 template <
class Gr
idType,
class LoadBalanceHandleType,
bool useExternal>
602 typedef typename GridType::MPICommunicatorType
Comm;
605 typedef typename ImplTraits::template Codim< GridType::dimension, 0 >::InterfaceType
HElementType;
607 typedef typename GridType :: template Codim< 0 > :: Entity
EntityType ;
608 typedef typename GridType :: template Codim< 0 > :: EntityImp
EntityImpType ;
610 template <
bool useHandlerOpts,
typename D =
void>
614 std::set<int>& ranks )
const
616 return lb.importRanks( ranks );
629 template <
typename D>
633 std::set<int>& ranks )
const
669 LoadBalanceHandleType& ldb)
737 static const bool useWeights = std::is_same<LoadBalanceHandleType, GatherScatter> :: value == false ;
744 GridType::getRealImplementation(
entity_ ).setElement( elem );
767 template <
class Gr
idType,
class LoadBalanceHandleType,
class DataHandleImpl,
class Data,
bool useExternal>
779 template<
int codim >
785 typedef typename GridType::MPICommunicatorType
Comm;
793 template <
class DH,
bool>
796 static DataHandleImpl&
asImp( DH& dh ) {
return static_cast<DataHandleImpl &
> (dh); }
800 asImp( dataHandle ).reserveMemory( newElements );
804 asImp( dataHandle ).compress();
816 static const bool hasCompressAndReserve = std::is_base_of< LoadBalanceHandleWithReserveAndCompress, DataHandleImpl >::value;
835 int maxLevel =
grid_.maxLevel();
836 maxLevel =
grid_.comm().max( maxLevel );
837 return maxLevel ==
grid_.maxLevel();
843 LoadBalanceHandleType& ldb)
881 std::cerr <<
"DataHandle.contains called with non-matching dim and codim" << std::endl;
894 str.write(estimatedElements);
909 int newElements = 0 ;
910 str.read( newElements );
935 for(
HElementType* son = elem.down(); son ; son = son->next() )
944 elem.resetRefinedTag();
946 for(
HElementType* son = elem.down(); son ; son = son->next() )
955 inlineEntityData<0>( stream, element );
959 inlineCodimData< 1 >( stream, element );
960 inlineCodimData< 2 >( stream, element );
962 inlineCodimData< dimension >( stream, element );
970 xtractEntityData<0>( stream, element );
974 xtractCodimData< 1 >( stream, element );
975 xtractCodimData< 2 >( stream, element );
977 xtractCodimData< dimension >( stream, element );
983 return element.subEntities( codim );
986 template<
int codim >
991 const int numSubEntities = this->
template subEntities< codim >( element );
992 for(
int i = 0; i < numSubEntities; ++i )
994 inlineEntityData< codim >( stream, element.template subEntity< codim >( i ) );
999 template<
int codim >
1004 const int numSubEntities = this->
template subEntities< codim >( element );
1005 for(
int i = 0; i < numSubEntities; ++i )
1007 xtractEntityData< codim >( stream, element.template subEntity< codim >( i ) );
1012 template<
int codim >
1019 stream.write( size );
1024 template<
int codim >
1031 stream.read( size );
1042 template<
class Gr
idType,
class AdaptDataHandle >
1047 typedef typename GridType::template Codim<0>::Entity EntityType;
1048 typedef typename GridType::template Codim<0>::EntityImp RealEntityType;
1052 AdaptDataHandle &rp_;
1054 typedef typename GridType::MPICommunicatorType Comm;
1057 typedef typename ImplTraits::HElementType HElementType;
1058 typedef typename ImplTraits::HBndSegType HBndSegType;
1059 typedef typename ImplTraits::BNDFaceType BNDFaceType;
1067 AdaptDataHandle &rp )
1069 , entity_( RealEntityType() )
1081 grid_.getRealImplementation( entity_ ).setElement( father );
1082 rp_.preCoarsening( entity_ );
1085 father.resetRefinedTag();
1092 grid_.getRealImplementation( entity_ ).setElement( father );
1093 rp_.postRefinement( entity_ );
1096 father.resetRefinedTag();
1097 for( HElementType *son = father.down(); son ; son = son->next() )
1098 son->resetRefinedTag();
1113 template<
class Gr
idType,
class AdaptDataHandle,
class GlobalIdSetImp >
1118 GlobalIdSetImp & set_;
1119 typedef typename GridType::template Codim<0>::Entity EntityType;
1120 typedef typename GridType::template Codim<0>::EntityImp RealEntityType;
1122 typedef typename GridType::MPICommunicatorType Comm;
1125 typedef typename ImplTraits::HElementType HElementType;
1126 typedef typename ImplTraits::HBndSegType HBndSegType;
1128 using AdaptRestrictProlongType :: postRefinement ;
1129 using AdaptRestrictProlongType :: preCoarsening ;
1134 AdaptDataHandle &rp,
1135 GlobalIdSetImp & set )
1145 set_.postRefinement( elem );
1146 return BaseType :: postRefinement(elem );
#define alugrid_assert(EX)
Definition: alugrid_assert.hh:20
Definition: alu3dinclude.hh:50
Gitter::AdaptRestrictProlong AdaptRestrictProlongType
Definition: alu3dinclude.hh:52
Definition: alu3dinclude.hh:259
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:26
virtual void setElement(const HElementType &elem)=0
ImplTraits::template Codim< dimension, codim >::ImplementationType ImplElementType
Definition: datahandle.hh:36
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:33
const bool variableSize_
Definition: datahandle.hh:44
ImplTraits::template Codim< dimension, codim >::InterfaceType HElementType
Definition: datahandle.hh:37
GridType::template Codim< codim >::Entity EntityType
Definition: datahandle.hh:30
bool contains(int dim, int cd) const
Definition: datahandle.hh:68
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:35
EntityType & entity_
Definition: datahandle.hh:39
GatherScatter ::ObjectStreamType ObjectStreamType
Definition: datahandle.hh:46
RealEntityType & realEntity_
Definition: datahandle.hh:40
void recvData(ObjectStreamType &str, HElementType &elem)
read Data of one element from stream
Definition: datahandle.hh:136
void setData(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:102
DataCollectorType & dc_
Definition: datahandle.hh:42
GatherScatterBaseImpl(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Constructor.
Definition: datahandle.hh:57
GridType::template Codim< codim >::EntityImp RealEntityType
Definition: datahandle.hh:31
const GridType & grid_
Definition: datahandle.hh:29
DataCollectorType::DataType DataType
Definition: datahandle.hh:48
size_t getSize(ObjectStreamType &str, EntityType &en)
Definition: datahandle.hh:146
@ dimension
Definition: datahandle.hh:28
void sendData(ObjectStreamType &str, HElementType &elem)
write Data of one element to stream
Definition: datahandle.hh:119
virtual bool containsItem(const HElementType &elem) const =0
RealEntityType & realEntity_
Definition: datahandle.hh:190
GatherScatterBaseImpl(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Constructor.
Definition: datahandle.hh:210
size_t getSize(ObjectStreamType &str, EntityType &en)
Definition: datahandle.hh:280
const bool variableSize_
Definition: datahandle.hh:195
void sendData(ObjectStreamType &str, const HGhostType &ghost)
write Data of one ghost element to stream
Definition: datahandle.hh:244
const GridType & grid_
Definition: datahandle.hh:172
GridType::template Codim< 0 >::Entity EntityType
Definition: datahandle.hh:173
ImplTraits::template Codim< dim, codim >::GhostInterfaceType HGhostType
Definition: datahandle.hh:184
void recvData(ObjectStreamType &str, HGhostType &ghost)
read Data of one element from stream
Definition: datahandle.hh:268
ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType
Definition: datahandle.hh:182
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:178
virtual bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:223
EntityType & entity_
Definition: datahandle.hh:189
GridType::template Codim< 0 >::EntityImp RealEntityType
Definition: datahandle.hh:174
ImplTraits::PllElementType PllElementType
Definition: datahandle.hh:187
ImplTraits::template Codim< dim, codim >::ImplementationType ImplElementType
Definition: datahandle.hh:179
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:176
ImplTraits::template Codim< dim, codim >::InterfaceType HElementType
Definition: datahandle.hh:180
GatherScatter ::ObjectStreamType ObjectStreamType
Definition: datahandle.hh:198
virtual bool containsItem(const HGhostType &ghost) const =0
ImplTraits::template Codim< dim, codim >::GhostImplementationType ImplGhostType
Definition: datahandle.hh:185
void sendData(ObjectStreamType &str, const HElementType &elem)
write Data of one element to stream
Definition: datahandle.hh:232
void writeSize(ObjectStreamType &str, EntityType &en)
Definition: datahandle.hh:293
DataCollectorType & dc_
Definition: datahandle.hh:193
void recvData(ObjectStreamType &str, HElementType &elem)
read Data of one element from stream
Definition: datahandle.hh:258
bool contains(int dim, int codim) const
Definition: datahandle.hh:217
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:307
GatherScatterLeafData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Constructor.
Definition: datahandle.hh:333
bool containsItem(const HGhostType &ghost) const
Definition: datahandle.hh:356
bool containsInterior(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:364
bool containsGhost(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:370
void setElement(const HElementType &elem)
Definition: datahandle.hh:376
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:350
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:386
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:422
GatherScatterLevelData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc, const LevelIndexSetImp &levelSet, const int level)
Constructor.
Definition: datahandle.hh:414
void setElement(const HElementType &elem)
Definition: datahandle.hh:428
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:440
void setElement(const HElementType &elem)
Definition: datahandle.hh:497
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:485
GatherScatterNoData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Leaf Constructor.
Definition: datahandle.hh:478
GatherScatterNoData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc, const LevelIndexSetImp &levelSet, const int level)
Level Constructor.
Definition: datahandle.hh:470
void setElement(const RealHElementType &elem)
Definition: datahandle.hh:505
bool containsItem(const RealHElementType &elem) const
Definition: datahandle.hh:491
GatherScatterLevelData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc, const LevelIndexSetImp &levelSet, const int level)
Constructor.
Definition: datahandle.hh:545
bool containsGhost(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:583
bool containsInterior(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:564
bool containsItem(const HGhostType &ghost) const
Definition: datahandle.hh:557
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:551
Definition: datahandle.hh:600
EntityType entity_
Definition: datahandle.hh:658
bool userDefinedLoadWeights() const
Definition: datahandle.hh:692
LoadBalanceHandleType * ldbHandle_
Definition: datahandle.hh:661
GridType ::template Codim< 0 >::Entity EntityType
Definition: datahandle.hh:607
bool userDefinedPartitioning() const
Definition: datahandle.hh:686
GridType & grid_
Definition: datahandle.hh:656
const LoadBalanceHandleType & ldbHandle() const
Definition: datahandle.hh:754
ImplTraits::template Codim< GridType::dimension, 0 >::InterfaceType HElementType
Definition: datahandle.hh:605
GatherScatterLoadBalance(GridType &grid)
Constructor.
Definition: datahandle.hh:676
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:604
int loadWeight(HElementType &elem)
Definition: datahandle.hh:732
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:602
EntityType & setEntity(HElementType &elem)
Definition: datahandle.hh:742
GridType ::template Codim< 0 >::EntityImp EntityImpType
Definition: datahandle.hh:608
int destination(HElementType &elem)
Definition: datahandle.hh:723
bool exportRanks(std::set< int > &ranks) const
Definition: datahandle.hh:713
bool importRanks(std::set< int > &ranks) const
Definition: datahandle.hh:705
LoadBalanceHandleType & ldbHandle()
Definition: datahandle.hh:748
bool hasUserData() const
Definition: datahandle.hh:683
bool repartition()
Definition: datahandle.hh:698
GatherScatterLoadBalance(GridType &grid, LoadBalanceHandleType &ldb)
Constructor.
Definition: datahandle.hh:668
Definition: datahandle.hh:612
bool importRank(const LoadBalanceHandleType &lb, std::set< int > &ranks) const
Definition: datahandle.hh:613
int loadWeight(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:623
int destination(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:618
int loadWeight(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:643
int destination(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:637
bool importRank(const LoadBalanceHandleType &lb, std::set< int > &ranks) const
Definition: datahandle.hh:632
Definition: datahandle.hh:770
void inlineElementData(ObjectStreamType &stream, const EntityType &element)
Definition: datahandle.hh:950
GatherScatterLoadBalanceDataHandle(GridType &grid, DataHandleType &dh, LoadBalanceHandleType &ldb)
Constructor taking load balance handle and data handle.
Definition: datahandle.hh:841
GatherScatterLoadBalanceDataHandle(GridType &grid, DataHandleType &dh)
Constructor for DataHandle only.
Definition: datahandle.hh:851
void inlineHierarchy(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:930
void xtractCodimData(ObjectStreamType &stream, const EntityType &element)
Definition: datahandle.hh:1000
DataHandleType & dataHandle_
Definition: datahandle.hh:823
bool contains(int dim, int cd) const
Definition: datahandle.hh:859
ImplTraits::template Codim< GridType::dimension, 0 >::InterfaceType HElementType
Definition: datahandle.hh:787
int subEntities(const EntityType &element) const
Definition: datahandle.hh:981
Dune::CommDataHandleIF< DataHandleImpl, Data > DataHandleType
Definition: datahandle.hh:791
static const int dimension
Definition: datahandle.hh:776
void inlineCodimData(ObjectStreamType &stream, const EntityType &element) const
Definition: datahandle.hh:987
bool hasUserData() const
Definition: datahandle.hh:887
void compress()
call compress on data
Definition: datahandle.hh:921
void inlineEntityData(ObjectStreamType &stream, const typename Codim< codim > ::Entity &entity) const
Definition: datahandle.hh:1013
GridType ::Traits ::HierarchicIterator HierarchicIterator
Definition: datahandle.hh:777
CompressAndReserve< DataHandleType, hasCompressAndReserve > CompressAndReserveType
Definition: datahandle.hh:820
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:786
void xtractHierarchy(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:940
bool maxLevelConsistency() const
Definition: datahandle.hh:833
GatherScatter ::ObjectStreamType ObjectStreamType
Definition: datahandle.hh:826
void xtractElementData(ObjectStreamType &stream, const EntityType &element)
Definition: datahandle.hh:965
void xtractData(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:904
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:785
BaseType ::EntityType EntityType
Definition: datahandle.hh:789
void xtractEntityData(ObjectStreamType &stream, const typename Codim< codim > ::Entity &entity)
Definition: datahandle.hh:1025
static const bool transmitSize
Definition: datahandle.hh:818
static const bool hasCompressAndReserve
Definition: datahandle.hh:816
void inlineData(ObjectStreamType &str, HElementType &elem, const int estimatedElements)
Definition: datahandle.hh:891
Definition: datahandle.hh:781
GridType ::Traits ::template Codim< codim >::Entity Entity
Definition: datahandle.hh:782
Definition: datahandle.hh:795
static void reserveMemory(DH &dataHandle, const size_t newElements)
Definition: datahandle.hh:798
static DataHandleImpl & asImp(DH &dh)
Definition: datahandle.hh:796
static void compress(DH &dataHandle)
Definition: datahandle.hh:802
static void reserveMemory(DH &dataHandle, const size_t newElements)
Definition: datahandle.hh:811
static void compress(DH &dataHandle)
Definition: datahandle.hh:812
Definition: datahandle.hh:1045
AdaptRestrictProlongImpl(GridType &grid, AdaptDataHandle &rp)
Constructor.
Definition: datahandle.hh:1066
int preCoarsening(HBndSegType &ghost)
restrict data for ghost elements
Definition: datahandle.hh:1104
int postRefinement(HElementType &father)
prolong data for elements
Definition: datahandle.hh:1090
int preCoarsening(HElementType &father)
restrict data for elements
Definition: datahandle.hh:1079
virtual ~AdaptRestrictProlongImpl()
Definition: datahandle.hh:1074
int postRefinement(HBndSegType &ghost)
prolong data for ghost elements
Definition: datahandle.hh:1108
Definition: datahandle.hh:1116
AdaptRestrictProlongGlSet(GridType &grid, AdaptDataHandle &rp, GlobalIdSetImp &set)
Constructor.
Definition: datahandle.hh:1133
virtual ~AdaptRestrictProlongGlSet()
Definition: datahandle.hh:1140
int postRefinement(HElementType &elem)
prolong data, elem is the father
Definition: datahandle.hh:1143