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>
24 template <
int dimension>
32 template <
class DataCollector>
33 static bool contains(
const DataCollector& dc,
const int dim,
const int cd)
39 return dc.contains(dim,cd);
42 else if(dimension == 2)
48 return dc.contains(dimension, 2);
50 return dc.contains(dimension, cd);
55 std::cerr <<
"DataHandle.contains called with non-matching dim and codim" << std::endl;
63 template<
class Gr
idType,
class DataCollectorType,
int codim >
65 :
public GatherScatter
70 typedef typename GridType::template Codim<codim>::Entity
EntityType;
73 typedef typename GridType::MPICommunicatorType
Comm;
76 typedef typename ImplTraits::template Codim< dimension, codim >::ImplementationType
ImplElementType;
77 typedef typename ImplTraits::template Codim< dimension, codim >::InterfaceType
HElementType;
82 DataCollectorType &
dc_;
88 typedef typename DataCollectorType:: DataType
DataType;
107 return detail::Contains< dimension >::contains(
dc_, dim, cd );
181 template <
class Gr
idType,
class DataCollectorType >
188 typedef typename GridType::template Codim<0>::Entity
EntityType;
191 typedef typename GridType::MPICommunicatorType
Comm;
194 typedef typename ImplTraits::template Codim< dimension, codim >::ImplementationType
ImplElementType;
195 typedef typename ImplTraits::template Codim< dimension, codim >::InterfaceType
HElementType;
197 typedef typename ImplTraits::template Codim< dimension, 1 >::InterfaceType
HFaceType;
199 typedef typename ImplTraits::template Codim< dimension, codim >::GhostInterfaceType
HGhostType;
200 typedef typename ImplTraits::template Codim< dimension, codim >::GhostImplementationType
ImplGhostType;
237 return detail::Contains< dimension >::contains(
dc_, dim, cd );
243 return elem.isLeafEntity();
315 size_t size =
dc_.size( en );
322 template<
class Gr
idType,
class DataCollectorType,
int codim >
326 enum { dim = GridType :: dimension };
329 typedef typename GridType::template Codim<codim>::Entity EntityType;
330 typedef typename GridType::template Codim<codim>::EntityImp RealEntityType;
332 typedef typename GridType::MPICommunicatorType Comm;
335 typedef typename ImplTraits::template Codim< dim, codim >::ImplementationType IMPLElementType;
336 typedef typename ImplTraits::template Codim< dim, codim >::InterfaceType HElementType;
338 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType;
340 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType HGhostType;
341 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType ImplGhostType;
343 typedef typename ImplTraits::PllElementType PllElementType;
352 RealEntityType & realEntity , DataCollectorType & dc)
359 if( (codim == dim) && dc.contains(dim,codim) )
363 grid.getLeafVertexList();
370 return (dim == 2 ? elem.is2d() :
true) && elem.isLeafEntity();
378 return ghost.isLeafEntity();
384 return (dim == 2 ? face.is2d() :
true) && face.isInteriorLeaf();
390 return (dim == 2 ? face.is2d() :
true) && pll.ghostLeaf();
401 template <
class Gr
idType,
class DataCollectorType ,
int codim >
405 enum { dim = GridType::dimension };
407 typedef typename GridType::template Codim<codim>::Entity EntityType;
408 typedef typename GridType::template Codim<codim>::EntityImp RealEntityType;
410 typedef typename GridType::MPICommunicatorType Comm;
413 typedef typename ImplTraits::template Codim< dim, codim >::ImplementationType IMPLElementType;
414 typedef typename ImplTraits::template Codim< dim, codim >::InterfaceType HElementType;
416 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType;
418 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType HGhostType;
419 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType ImplGhostType;
421 typedef typename ImplTraits::PllElementType PllElementType;
423 typedef typename GridType::LevelIndexSetImp LevelIndexSetImp;
425 const LevelIndexSetImp & levelSet_;
433 RealEntityType & realEntity , DataCollectorType & dc,
434 const LevelIndexSetImp & levelSet,
const int level)
435 :
BaseType(grid,en,realEntity,dc) , levelSet_(levelSet) , level_(level)
442 return (dim == 2 ? elem.is2d() :
true) && levelSet_.containsIndex(codim, elem.getIndex() );
455 template <
class Gr
idType,
class DataCollectorType ,
int codim >
459 enum { dim = GridType::dimension };
461 typedef typename GridType::template Codim<codim>::Entity EntityType;
462 typedef typename GridType::template Codim<codim>::EntityImp RealEntityType;
464 typedef typename GridType::MPICommunicatorType Comm;
468 typedef typename ImplTraits::template Codim< 2, codim >::ImplementationType IMPLElementType;
469 typedef typename ImplTraits::template Codim< 2, codim >::InterfaceType HElementType;
471 typedef typename ImplTraits::template Codim< 3, codim >::ImplementationType RealIMPLElementType;
472 typedef typename ImplTraits::template Codim< 3, codim >::InterfaceType RealHElementType;
474 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType;
476 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType HGhostType;
477 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType ImplGhostType;
479 typedef typename ImplTraits::PllElementType PllElementType;
481 typedef typename GridType::LevelIndexSetImp LevelIndexSetImp;
489 RealEntityType & realEntity , DataCollectorType & dc,
490 const LevelIndexSetImp & levelSet,
const int level)
497 RealEntityType & realEntity , DataCollectorType & dc)
534 template <
class Gr
idType,
class DataCollectorType>
539 enum { dim = GridType:: dimension };
541 typedef typename GridType::template Codim<codim>::Entity EntityType;
542 typedef typename GridType::template Codim<codim>::EntityImp RealEntityType;
544 typedef typename GridType::MPICommunicatorType Comm;
547 typedef typename ImplTraits::template Codim< dim, codim >::ImplementationType IMPLElementType;
548 typedef typename ImplTraits::template Codim< dim, codim >::InterfaceType HElementType;
550 typedef typename ImplTraits::template Codim< dim, 1 >::InterfaceType HFaceType;
552 typedef typename ImplTraits::template Codim< dim, 0 >::GhostInterfaceType HGhostType;
553 typedef typename ImplTraits::template Codim< dim, 0 >::GhostImplementationType ImplGhostType;
555 typedef typename ImplTraits::PllElementType PllElementType;
557 typedef typename GridType::LevelIndexSetImp LevelIndexSetImp;
559 const LevelIndexSetImp & levelSet_;
564 RealEntityType & realEntity , DataCollectorType & dc,
565 const LevelIndexSetImp & levelSet,
const int level)
566 :
BaseType(grid,en,realEntity,dc) , levelSet_(levelSet) , level_(level) {}
571 return levelSet_.containsIndex(codim, elem.getIndex() );
585 if(face.level() != level_)
return false;
587 typedef Gitter::helement_STI HElementType;
588 typedef Gitter::hbndseg_STI HBndSegType;
591 std::pair< HElementType *, HBndSegType * > p( (HElementType *)0, (HBndSegType *)0 );
592 pll.getAttachedElement( p );
595 bool contained = (p.first->level() == level_);
604 if(face.level() != level_)
return false;
606 return (pll.ghostLevel() == level_);
616 template <
class Gr
idType,
class LoadBalanceHandleType,
bool useExternal>
620 typedef typename GridType::MPICommunicatorType
Comm;
623 typedef typename ImplTraits::template Codim< GridType::dimension, 0 >::InterfaceType
HElementType;
625 typedef typename GridType :: template Codim< 0 > :: Entity
EntityType ;
626 typedef typename GridType :: template Codim< 0 > :: EntityImp
EntityImpType ;
628 template <
bool useHandlerOpts,
typename D =
void>
632 std::set<int>& ranks )
const
634 return lb.importRanks( ranks );
647 template <
typename D>
651 std::set<int>& ranks )
const
687 LoadBalanceHandleType& ldb)
755 static const bool useWeights = std::is_same<LoadBalanceHandleType, GatherScatter> :: value == false ;
762 entity_.impl().setElement( elem );
785 template <
class Gr
idType,
class LoadBalanceHandleType,
class DataHandleImpl,
class Data,
bool useExternal>
797 template<
int codim >
803 typedef typename GridType::MPICommunicatorType
Comm;
811 template <
class DH,
bool>
814 static DataHandleImpl&
asImp( DH& dh ) {
return static_cast<DataHandleImpl &
> (dh); }
818 asImp( dataHandle ).reserveMemory( newElements );
822 asImp( dataHandle ).compress();
834 static const bool hasCompressAndReserve = std::is_base_of< LoadBalanceHandleWithReserveAndCompress, DataHandleImpl >::value;
853 int maxLevel =
grid_.maxLevel();
854 maxLevel =
grid_.comm().max( maxLevel );
855 return maxLevel ==
grid_.maxLevel();
861 LoadBalanceHandleType& ldb)
899 std::cerr <<
"DataHandle.contains called with non-matching dim and codim" << std::endl;
912 str.write(estimatedElements);
927 int newElements = 0 ;
928 str.read( newElements );
932 CompressAndReserveType :: reserveMemory(
dataHandle_, newElements );
953 for(
HElementType* son = elem.down(); son ; son = son->next() )
962 elem.resetRefinedTag();
964 for(
HElementType* son = elem.down(); son ; son = son->next() )
973 inlineEntityData<0>( stream, element );
977 inlineCodimData< 1 >( stream, element );
978 inlineCodimData< 2 >( stream, element );
980 inlineCodimData< dimension >( stream, element );
988 xtractEntityData<0>( stream, element );
992 xtractCodimData< 1 >( stream, element );
993 xtractCodimData< 2 >( stream, element );
995 xtractCodimData< dimension >( stream, element );
1001 return element.subEntities( codim );
1004 template<
int codim >
1009 const int numSubEntities = this->
template subEntities< codim >( element );
1010 for(
int i = 0; i < numSubEntities; ++i )
1012 inlineEntityData< codim >( stream, element.template subEntity< codim >( i ) );
1017 template<
int codim >
1022 const int numSubEntities = this->
template subEntities< codim >( element );
1023 for(
int i = 0; i < numSubEntities; ++i )
1025 xtractEntityData< codim >( stream, element.template subEntity< codim >( i ) );
1030 template<
int codim >
1037 stream.write( size );
1042 template<
int codim >
1049 stream.read( size );
1060 template<
class Gr
idType,
class AdaptDataHandle >
1065 typedef typename GridType::template Codim<0>::Entity EntityType;
1066 typedef typename GridType::template Codim<0>::EntityImp RealEntityType;
1070 AdaptDataHandle &rp_;
1072 typedef typename GridType::MPICommunicatorType Comm;
1075 typedef typename ImplTraits::HElementType HElementType;
1076 typedef typename ImplTraits::HBndSegType HBndSegType;
1077 typedef typename ImplTraits::BNDFaceType BNDFaceType;
1085 AdaptDataHandle &rp )
1087 , entity_( RealEntityType() )
1099 entity_.impl().setElement( father );
1100 rp_.preCoarsening( entity_ );
1103 father.resetRefinedTag();
1110 entity_.impl().setElement( father );
1111 rp_.postRefinement( entity_ );
1114 father.resetRefinedTag();
1115 for( HElementType *son = father.down(); son ; son = son->next() )
1116 son->resetRefinedTag();
1131 template<
class Gr
idType,
class AdaptDataHandle,
class GlobalIdSetImp >
1136 GlobalIdSetImp & set_;
1137 typedef typename GridType::template Codim<0>::Entity EntityType;
1138 typedef typename GridType::template Codim<0>::EntityImp RealEntityType;
1140 typedef typename GridType::MPICommunicatorType Comm;
1143 typedef typename ImplTraits::HElementType HElementType;
1144 typedef typename ImplTraits::HBndSegType HBndSegType;
1152 AdaptDataHandle &rp,
1153 GlobalIdSetImp & set )
1163 set_.postRefinement( elem );
1164 return BaseType :: postRefinement(elem );
#define alugrid_assert(EX)
Definition: alugrid_assert.hh:20
Definition: alu3dinclude.hh:33
Gitter::AdaptRestrictProlong AdaptRestrictProlongType
Definition: alu3dinclude.hh:35
Definition: alu3dinclude.hh:242
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:66
virtual void setElement(const HElementType &elem)=0
DataCollectorType::DataType DataType
Definition: datahandle.hh:88
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:73
const bool variableSize_
Definition: datahandle.hh:84
GridType::template Codim< codim >::Entity EntityType
Definition: datahandle.hh:70
bool contains(int dim, int cd) const
Definition: datahandle.hh:105
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:75
EntityType & entity_
Definition: datahandle.hh:79
RealEntityType & realEntity_
Definition: datahandle.hh:80
void recvData(ObjectStreamType &str, HElementType &elem)
read Data of one element from stream
Definition: datahandle.hh:151
void setData(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:117
DataCollectorType & dc_
Definition: datahandle.hh:82
GatherScatterBaseImpl(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Constructor.
Definition: datahandle.hh:97
GridType::template Codim< codim >::EntityImp RealEntityType
Definition: datahandle.hh:71
const GridType & grid_
Definition: datahandle.hh:69
size_t getSize(ObjectStreamType &str, EntityType &en)
Definition: datahandle.hh:161
@ dimension
Definition: datahandle.hh:68
void sendData(ObjectStreamType &str, HElementType &elem)
write Data of one element to stream
Definition: datahandle.hh:134
ImplTraits::template Codim< dimension, codim >::ImplementationType ImplElementType
Definition: datahandle.hh:76
virtual bool containsItem(const HElementType &elem) const =0
ImplTraits::template Codim< dimension, codim >::InterfaceType HElementType
Definition: datahandle.hh:77
GatherScatter::ObjectStreamType ObjectStreamType
Definition: datahandle.hh:86
RealEntityType & realEntity_
Definition: datahandle.hh:205
ImplTraits::template Codim< dimension, codim >::ImplementationType ImplElementType
Definition: datahandle.hh:194
GatherScatterBaseImpl(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Constructor.
Definition: datahandle.hh:225
ImplTraits::template Codim< dimension, codim >::InterfaceType HElementType
Definition: datahandle.hh:195
size_t getSize(ObjectStreamType &str, EntityType &en)
Definition: datahandle.hh:298
const bool variableSize_
Definition: datahandle.hh:210
ImplTraits::template Codim< dimension, codim >::GhostInterfaceType HGhostType
Definition: datahandle.hh:199
void sendData(ObjectStreamType &str, const HGhostType &ghost)
write Data of one ghost element to stream
Definition: datahandle.hh:262
const GridType & grid_
Definition: datahandle.hh:187
GridType::template Codim< 0 >::Entity EntityType
Definition: datahandle.hh:188
void recvData(ObjectStreamType &str, HGhostType &ghost)
read Data of one element from stream
Definition: datahandle.hh:286
ImplTraits::template Codim< dimension, 1 >::InterfaceType HFaceType
Definition: datahandle.hh:197
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:193
virtual bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:241
EntityType & entity_
Definition: datahandle.hh:204
GridType::template Codim< 0 >::EntityImp RealEntityType
Definition: datahandle.hh:189
bool contains(int dim, int cd) const
Definition: datahandle.hh:235
ImplTraits::PllElementType PllElementType
Definition: datahandle.hh:202
ImplTraits::template Codim< dimension, codim >::GhostImplementationType ImplGhostType
Definition: datahandle.hh:200
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:191
GatherScatter::ObjectStreamType ObjectStreamType
Definition: datahandle.hh:213
virtual bool containsItem(const HGhostType &ghost) const =0
void sendData(ObjectStreamType &str, const HElementType &elem)
write Data of one element to stream
Definition: datahandle.hh:250
void writeSize(ObjectStreamType &str, EntityType &en)
Definition: datahandle.hh:311
DataCollectorType & dc_
Definition: datahandle.hh:208
void recvData(ObjectStreamType &str, HElementType &elem)
read Data of one element from stream
Definition: datahandle.hh:276
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:325
GatherScatterLeafData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Constructor.
Definition: datahandle.hh:351
bool containsItem(const HGhostType &ghost) const
Definition: datahandle.hh:374
bool containsInterior(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:382
bool containsGhost(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:388
void setElement(const HElementType &elem)
Definition: datahandle.hh:394
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:368
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:404
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:440
GatherScatterLevelData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc, const LevelIndexSetImp &levelSet, const int level)
Constructor.
Definition: datahandle.hh:432
void setElement(const HElementType &elem)
Definition: datahandle.hh:446
the corresponding interface class is defined in bsinclude.hh
Definition: datahandle.hh:458
void setElement(const HElementType &elem)
Definition: datahandle.hh:515
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:503
GatherScatterNoData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc)
Leaf Constructor.
Definition: datahandle.hh:496
GatherScatterNoData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc, const LevelIndexSetImp &levelSet, const int level)
Level Constructor.
Definition: datahandle.hh:488
void setElement(const RealHElementType &elem)
Definition: datahandle.hh:523
bool containsItem(const RealHElementType &elem) const
Definition: datahandle.hh:509
GatherScatterLevelData(const GridType &grid, EntityType &en, RealEntityType &realEntity, DataCollectorType &dc, const LevelIndexSetImp &levelSet, const int level)
Constructor.
Definition: datahandle.hh:563
bool containsGhost(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:601
bool containsInterior(const HFaceType &face, PllElementType &pll) const
Definition: datahandle.hh:582
bool containsItem(const HGhostType &ghost) const
Definition: datahandle.hh:575
bool containsItem(const HElementType &elem) const
Definition: datahandle.hh:569
Definition: datahandle.hh:618
GridType::template Codim< 0 >::Entity EntityType
Definition: datahandle.hh:625
ImplTraits::template Codim< GridType::dimension, 0 >::InterfaceType HElementType
Definition: datahandle.hh:623
EntityType entity_
Definition: datahandle.hh:676
EntityType & setEntity(HElementType &elem)
Definition: datahandle.hh:760
GridType::template Codim< 0 >::EntityImp EntityImpType
Definition: datahandle.hh:626
LoadBalanceHandleType & ldbHandle()
Definition: datahandle.hh:766
const LoadBalanceHandleType & ldbHandle() const
Definition: datahandle.hh:772
bool userDefinedLoadWeights() const
Definition: datahandle.hh:710
LoadBalanceHandleType * ldbHandle_
Definition: datahandle.hh:679
bool userDefinedPartitioning() const
Definition: datahandle.hh:704
GridType & grid_
Definition: datahandle.hh:674
GatherScatterLoadBalance(GridType &grid)
Constructor.
Definition: datahandle.hh:694
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:622
int loadWeight(HElementType &elem)
Definition: datahandle.hh:750
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:620
int destination(HElementType &elem)
Definition: datahandle.hh:741
bool exportRanks(std::set< int > &ranks) const
Definition: datahandle.hh:731
bool importRanks(std::set< int > &ranks) const
Definition: datahandle.hh:723
bool hasUserData() const
Definition: datahandle.hh:701
bool repartition()
Definition: datahandle.hh:716
GatherScatterLoadBalance(GridType &grid, LoadBalanceHandleType &ldb)
Constructor.
Definition: datahandle.hh:686
Definition: datahandle.hh:630
bool importRank(const LoadBalanceHandleType &lb, std::set< int > &ranks) const
Definition: datahandle.hh:631
int loadWeight(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:641
int destination(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:636
int loadWeight(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:661
int destination(const LoadBalanceHandleType &lb, const EntityType &entity) const
Definition: datahandle.hh:655
bool importRank(const LoadBalanceHandleType &lb, std::set< int > &ranks) const
Definition: datahandle.hh:650
Definition: datahandle.hh:788
void inlineElementData(ObjectStreamType &stream, const EntityType &element)
Definition: datahandle.hh:968
GatherScatterLoadBalanceDataHandle(GridType &grid, DataHandleType &dh, LoadBalanceHandleType &ldb)
Constructor taking load balance handle and data handle.
Definition: datahandle.hh:859
GatherScatterLoadBalanceDataHandle(GridType &grid, DataHandleType &dh)
Constructor for DataHandle only.
Definition: datahandle.hh:869
void inlineHierarchy(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:948
void xtractCodimData(ObjectStreamType &stream, const EntityType &element)
Definition: datahandle.hh:1018
DataHandleType & dataHandle_
Definition: datahandle.hh:841
bool contains(int dim, int cd) const
Definition: datahandle.hh:877
int subEntities(const EntityType &element) const
Definition: datahandle.hh:999
ImplTraits::template Codim< GridType::dimension, 0 >::InterfaceType HElementType
Definition: datahandle.hh:805
Dune::CommDataHandleIF< DataHandleImpl, Data > DataHandleType
Definition: datahandle.hh:809
GatherScatter::ObjectStreamType ObjectStreamType
Definition: datahandle.hh:844
static const int dimension
Definition: datahandle.hh:794
void inlineCodimData(ObjectStreamType &stream, const EntityType &element) const
Definition: datahandle.hh:1005
BaseType::EntityType EntityType
Definition: datahandle.hh:807
bool hasUserData() const
Definition: datahandle.hh:905
void compress()
call compress on data
Definition: datahandle.hh:939
void inlineEntityData(ObjectStreamType &stream, const typename Codim< codim > ::Entity &entity) const
Definition: datahandle.hh:1031
CompressAndReserve< DataHandleType, hasCompressAndReserve > CompressAndReserveType
Definition: datahandle.hh:838
Dune::ALU3dImplTraits< GridType::elementType, Comm > ImplTraits
Definition: datahandle.hh:804
void xtractHierarchy(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:958
bool maxLevelConsistency() const
Definition: datahandle.hh:851
void xtractElementData(ObjectStreamType &stream, const EntityType &element)
Definition: datahandle.hh:983
void xtractData(ObjectStreamType &str, HElementType &elem)
Definition: datahandle.hh:922
GridType::MPICommunicatorType Comm
Definition: datahandle.hh:803
void xtractEntityData(ObjectStreamType &stream, const typename Codim< codim > ::Entity &entity)
Definition: datahandle.hh:1043
static const bool transmitSize
Definition: datahandle.hh:836
static const bool hasCompressAndReserve
Definition: datahandle.hh:834
GridType::Traits::HierarchicIterator HierarchicIterator
Definition: datahandle.hh:795
void inlineData(ObjectStreamType &str, HElementType &elem, const int estimatedElements)
Definition: datahandle.hh:909
Definition: datahandle.hh:799
GridType::Traits::template Codim< codim >::Entity Entity
Definition: datahandle.hh:800
Definition: datahandle.hh:813
static void reserveMemory(DH &dataHandle, const size_t newElements)
Definition: datahandle.hh:816
static DataHandleImpl & asImp(DH &dh)
Definition: datahandle.hh:814
static void compress(DH &dataHandle)
Definition: datahandle.hh:820
static void reserveMemory(DH &dataHandle, const size_t newElements)
Definition: datahandle.hh:829
static void compress(DH &dataHandle)
Definition: datahandle.hh:830
Definition: datahandle.hh:1063
AdaptRestrictProlongImpl(GridType &grid, AdaptDataHandle &rp)
Constructor.
Definition: datahandle.hh:1084
int preCoarsening(HBndSegType &ghost)
restrict data for ghost elements
Definition: datahandle.hh:1122
int postRefinement(HElementType &father)
prolong data for elements
Definition: datahandle.hh:1108
int preCoarsening(HElementType &father)
restrict data for elements
Definition: datahandle.hh:1097
virtual ~AdaptRestrictProlongImpl()
Definition: datahandle.hh:1092
int postRefinement(HBndSegType &ghost)
prolong data for ghost elements
Definition: datahandle.hh:1126
Definition: datahandle.hh:1134
AdaptRestrictProlongGlSet(GridType &grid, AdaptDataHandle &rp, GlobalIdSetImp &set)
Constructor.
Definition: datahandle.hh:1151
virtual ~AdaptRestrictProlongGlSet()
Definition: datahandle.hh:1158
int postRefinement(HElementType &elem)
prolong data, elem is the father
Definition: datahandle.hh:1161