dune-alugrid 3.0.0
|
[ provides Dune::Grid ] More...
#include <dune/alugrid/3d/grid.hh>
Classes | |
struct | Codim |
struct | Partition |
Types for GridView. More... | |
Public Types | |
enum | { refineStepsForHalf = 1 } |
typedef ALU3dGridIntersectionIterator< const ThisType > | IntersectionIteratorImp |
typedef ALU3dGridIntersectionIterator< const ThisType > | LeafIntersectionIteratorImp |
typedef ALU3dGridLevelIntersectionIterator< const ThisType > | LevelIntersectionIteratorImp |
typedef ALU3DSPACE GatherScatterType::ObjectStreamType | ObjectStreamType |
typedef ObjectStreamType | InStreamType |
typedef ObjectStreamType | OutStreamType |
typedef ALU3dGridFamily< dim, dimworld, elType, Comm > | GridFamily |
typedef GridFamily::Traits | Traits |
typedef Partition< All_Partition >::LevelGridView | LevelGridView |
View types for All_Partition. | |
typedef Partition< All_Partition >::LeafGridView | LeafGridView |
typedef Partition< All_Partition >::MacroGridView | MacroGridView |
typedef ALU3dGridHierarchicIndexSet< dim, dimworld, elType, Comm > | HierarchicIndexSet |
Type of the hierarchic index set. | |
typedef GridFamily::LevelIndexSetImp | LevelIndexSetImp |
Type of the level index set, needed by data handle. | |
typedef GridFamily::LeafIndexSetImp | LeafIndexSetImp |
Type of the leaf index set, needed by data handle. | |
typedef ReferenceElement< alu3d_ctype, dimension > | ReferenceElementType |
reference element type | |
typedef Traits::DuneBoundaryProjectionType | DuneBoundaryProjectionType |
boundary projection type | |
typedef Traits::DuneBoundaryProjectionVector | DuneBoundaryProjectionVector |
boundary projection type | |
typedef ALU3DSPACE ProjectVertex | ALUGridVertexProjectionType |
type of ALUGrid Vertex Projection Interface | |
typedef Traits::CollectiveCommunication | CollectiveCommunication |
type of collective communication object | |
typedef ALULeafCommunication< dim, dimworld, elType, Comm > | LeafCommunication |
typedef ALULevelCommunication< dim, dimworld, elType, Comm > | LevelCommunication |
typedef Traits::GlobalIdSet | GlobalIdSet |
Type of the global id set. | |
typedef Traits::LocalIdSet | LocalIdSet |
Type of the local id set. | |
typedef Comm | MPICommunicatorType |
typedef ALU3dGridCommunications< dim, dimworld, elType, Comm > | Communications |
typedef LeafIntersectionIteratorWrapper< const ThisType > | LefInterItWrapperType |
typedef LevelIntersectionIteratorWrapper< const ThisType > | LvlInterItWrapperType |
Public Member Functions | |
ALU3dGrid (const std::string ¯oTriangFilename, const MPICommunicatorType mpiComm, const DuneBoundaryProjectionType *bndPrj, const DuneBoundaryProjectionVector *bndVec, const ALUGridRefinementType refinementType) | |
virtual | ~ALU3dGrid () |
Desctructor. | |
int | maxLevel () const |
Return maximum level defined in this grid. Levels are numbered maxLevel with 0 the coarsest level. | |
template<int cd, PartitionIteratorType pitype> | |
Traits::template Codim< cd >::template Partition< pitype >::LevelIterator | lbegin (int level) const |
Iterator to first entity of given codim on level. | |
template<int cd, PartitionIteratorType pitype> | |
Traits::template Codim< cd >::template Partition< pitype >::LevelIterator | lend (int level) const |
one past the end on this level | |
template<int cd> | |
Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator | lbegin (int level) const |
Iterator to first entity of given codim on level. | |
template<int cd> | |
Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator | lend (int level) const |
one past the end on this level | |
Traits::LeafIntersectionIterator | ileafbegin (const typename Traits::template Codim< 0 >::Entity &entity) const |
Traits::LeafIntersectionIterator | ileafend (const typename Traits::template Codim< 0 >::Entity &entity) const |
Traits::LevelIntersectionIterator | ilevelbegin (const typename Traits::template Codim< 0 >::Entity &entity) const |
Traits::LevelIntersectionIterator | ilevelend (const typename Traits::template Codim< 0 >::Entity &entity) const |
template<int codim, PartitionIteratorType pitype> | |
Traits::template Codim< codim >::template Partition< pitype >::LeafIterator | leafbegin () const |
General definiton for a leaf iterator. | |
template<int codim, PartitionIteratorType pitype> | |
Traits::template Codim< codim >::template Partition< pitype >::LeafIterator | leafend () const |
General definition for an end iterator on leaf level. | |
template<int codim> | |
Traits::template Codim< codim >::LeafIterator | leafbegin () const |
General definiton for a leaf iterator. | |
template<int codim> | |
Traits::template Codim< codim >::LeafIterator | leafend () const |
General definition for an end iterator on leaf level. | |
int | size (int level, int cd) const |
number of grid entities per level and codim | |
int | size (int codim) const |
number of leaf entities per codim in this process | |
int | size (int level, GeometryType type) const |
number of entities per level and geometry type in this process | |
size_t | numBoundarySegments () const |
number of boundary segments | |
int | size (GeometryType type) const |
number of leaf entities per geometry type in this process | |
int | global_size (int cd) const |
number of grid entities on all levels for given codim | |
int | hierSetSize (int cd) const |
const GlobalIdSet & | globalIdSet () const |
get global id set of grid | |
template<PartitionIteratorType pitype> | |
Partition< pitype >::MacroGridView | macroGridView () const |
View for te macro grid with some alu specific methods. | |
MacroGridView | macroGridView () const |
View for te macro grid with some alu specific methods (All_Partition) | |
template<PartitionIteratorType pitype> | |
Partition< pitype >::MacroGridView | macroView () const |
View for te macro grid with some alu specific methods. | |
MacroGridView | macroView () const |
View for te macro grid with some alu specific methods (All_Partition) | |
const LocalIdSet & | localIdSet () const |
get global id set of grid | |
const Traits::LeafIndexSet & | leafIndexSet () const |
get leaf index set of the grid | |
const Traits::LevelIndexSet & | levelIndexSet (int level) const |
get level index set of the grid | |
std::shared_ptr< LevelIndexSetImp > | accessLevelIndexSet (int level) const |
return instance of level index set | |
template<int cd> | |
Codim< cd >::Twists | twists (GeometryType type) const |
bool | loadBalance () |
Calculates load of each process and repartition by using ALUGrid's default partitioning method. The specific load balancing algorithm is selected from a file alugrid.cfg. | |
template<class DataHandleImpl , class Data > | |
bool | loadBalance (CommDataHandleIF< DataHandleImpl, Data > &dataHandleIF) |
Calculates load of each process and repartition by using ALUGrid's default partitioning method. The specific load balancing algorithm is selected from a file alugrid.cfg. | |
template<class LBWeights , class DataHandleImpl , class Data > | |
bool | loadBalance (LBWeights &weights, CommDataHandleIF< DataHandleImpl, Data > &dataHandleIF) |
Calculates load of each process and repartition by using ALUGrid's default partitioning method, the partitioning can be optimized by providing weights for each element on the macro grid. The specific load balancing algorithm is selected from a file alugrid.cfg. | |
template<class LBWeights > | |
std::enable_if<!IsDataHandle< LBWeights >::value, bool >::type | loadBalance (LBWeights &weights) |
Calculates load of each process and repartition by using ALUGrid's default partitioning method, the partitioning can be optimized by providing weights for each element on the macro grid. The specific load balancing algorithm is selected from a file alugrid.cfg. | |
template<class LBDestinations > | |
bool | repartition (LBDestinations &destinations) |
Distribute the grid based on a user defined partitioning. | |
template<class LBDestinations , class DataHandleImpl , class Data > | |
bool | repartition (LBDestinations &destinations, CommDataHandleIF< DataHandleImpl, Data > &dataHandleIF) |
Distribute the grid based on a user defined partitioning. | |
int | ghostSize (int level, int codim) const |
ghostSize is one for codim 0 and zero otherwise for this grid | |
int | overlapSize (int level, int codim) const |
overlapSize is zero for this grid | |
int | ghostSize (int codim) const |
ghostSize is one for codim 0 and zero otherwise for this grid | |
int | overlapSize (int codim) const |
overlapSize is zero for this grid | |
template<class DataHandle , class Data > | |
LevelCommunication | communicate (CommDataHandleIF< DataHandle, Data > &data, InterfaceType iftype, CommunicationDirection dir, int level) const |
template<class DataHandle , class Data > | |
LeafCommunication | communicate (CommDataHandleIF< DataHandle, Data > &data, InterfaceType iftype, CommunicationDirection dir) const |
Communicate information on distributed entities on the leaf grid. Template parameter is a model of Dune::CommDataHandleIF. | |
const CollectiveCommunication & | comm () const |
bool | preAdapt () |
returns if a least one entity was marked for coarsening | |
void | postAdapt () |
clear all entity new markers if lockPostAdapt_ is set | |
bool | adapt () |
template<class GridImp , class DataHandle > | |
bool | adapt (AdaptDataHandleInterface< GridImp, DataHandle > &handle) |
void | globalRefine (int refCount) |
uses the interface, mark on entity and refineLocal | |
template<class GridImp , class DataHandle > | |
void | globalRefine (int refCount, AdaptDataHandleInterface< GridImp, DataHandle > &handle) |
bool | writeMacroGrid (const std::string path, const std::string filename, const ALU3DSPACE MacroFileHeader::Format format=ALU3DSPACE MacroFileHeader::defaultFormat) const |
write macro grid in ALUGrid macro format to path/filename.rank | |
void | backup (std::ostream &, const ALU3DSPACE MacroFileHeader::Format format) const |
backup to ostream | |
void | restore (std::istream &) |
restore from istream | |
const HierarchicIndexSet & | hierarchicIndexSet () const |
void | updateStatus () |
bool | mark (int refCount, const typename Traits::template Codim< 0 >::Entity &e) |
int | getMark (const typename Traits::template Codim< 0 >::Entity &e) const |
const std::vector< GeometryType > & | geomTypes (int codim) const |
deliver all geometry types used in this grid | |
GitterImplType & | myGrid () const |
virtual GitterImplType * | createALUGrid (const std::string ¯oName) |
virtual GitterImplType * | createALUGrid (std::istream &stream) |
ALUGridVertexProjectionType * | vertexProjection () |
virtual ALU3DSPACE Gitter::Geometric::BuilderIF & | getBuilder () const |
virtual void | completeGrid () |
template<class EntitySeed > | |
Traits::template Codim< EntitySeed::codimension >::EntityPointer | entityPointer (const EntitySeed &seed) const |
template<class EntitySeed > | |
Traits::template Codim< EntitySeed::codimension >::Entity | entity (const EntitySeed &seed) const |
int | nlinks () const |
LeafVertexListType & | getLeafVertexList () const |
int | getLevelOfLeafVertex (const typename ALU3dImplTraits< elType, Comm >::VertexType &vertex) const |
VertexListType & | getVertexList (int level) const |
ALU3dGridItemListType & | getGhostLeafList (int codim) const |
ALU3dGridItemListType & | getGhostLevelList (int codim, int level) const |
ALU3dGridItemListType & | getEdgeList (int level) const |
bool | conformingRefinement () const |
bool | ghostCellsEnabled () const |
Static Public Member Functions | |
static std::string | name () |
for grid identification | |
static MPICommunicatorType | defaultCommunicator () |
template<class IntersectionType > | |
static const BaseType::template ReturnImplementationType< IntersectionType >::ImplementationType & | getRealIntersection (const IntersectionType &intersection) |
static const ReferenceElementType & | referenceElement () |
return reference to Dune reference element according to elType | |
static int | thread () |
return current thread number | |
static int | maxThreads () |
return max number of threads | |
Static Public Attributes | |
static const ALU3dGridElementType | elementType = elType |
static const int | dimension = BaseType::dimension |
static const int | dimensionworld = BaseType::dimensionworld |
Protected Types | |
enum | { newElementsChunk_ = 128 } |
element chunk for refinement More... | |
enum | { refineEstimate_ = 8 } |
upper estimate on number of elements that could be created when a new element is created More... | |
enum | { numberOfGeomTypes = 1 } |
typedef MakeableInterfaceObject< typename Traits::template Codim< 0 >::Geometry > | GeometryObject |
typedef ALUGridBoundaryProjection< ThisType, alu3d_ctype > | ALUGridBoundaryProjectionType |
typedef GridFamily::LocalIdSetImp | LocalIdSetImp |
Type of the local id set. | |
typedef GridFamily::GlobalIdSetImp | GlobalIdSetImp |
typedef ALU3dGridLeafIterator< 0, All_Partition, const ThisType > | LeafIteratorImp |
typedef Traits::template Codim< 0 >::LeafIterator | LeafIteratorType |
typedef Traits::template Codim< 0 >::LeafIterator | LeafIterator |
typedef ALU3dGridHierarchicIterator< const ThisType > | HierarchicIteratorImp |
typedef ALU3dImplTraits< elType, Comm >::GitterImplType | GitterImplType |
typedef ALU3dGridVertexList< Comm > | VertexListType |
typedef ALU3dGridLeafVertexList< Comm > | LeafVertexListType |
typedef ALU3DSPACE GatherScatter | GatherScatterType |
typedef SizeCache< MyType > | SizeCacheType |
Protected Member Functions | |
std::shared_ptr< LevelIndexSetImp > | createLevelIndexSet (int level) const |
bool | loadBalance (GatherScatterType *lbData) |
Calculates load of each process and repartition the grid if neccessary. For parameters of the load balancing process see the README file of the ALUGrid package. | |
void | finalizeGridCreation () |
void | clearIsNewMarkers () |
clear all entity new markers | |
ALU3dGrid (const ThisType &) | |
Copy constructor should not be used. | |
const ThisType & | operator= (const ThisType &) |
assignment operator should not be used | |
void | calcExtras () |
reset size and global size, update Level- and LeafIndexSet, if they exist | |
void | calcMaxLevel () |
calculate maxlevel | |
void | recalcGlobalSize () |
make grid walkthrough and calc global size | |
void | checkMacroGridFile (const std::string filename) |
check whether macro grid format is of our type | |
void | checkMacroGrid () |
check whether macro grid has the right element type | |
const DuneBoundaryProjectionType * | boundaryProjection (const int segmentIndex) const |
return boudanry projection for given segment Id | |
const Communications & | communications () const |
void | makeGeometries () |
Protected Attributes | |
std::unique_ptr< GitterImplType > | mygrid_ |
int | maxlevel_ |
int | coarsenMarked_ |
int | refineMarked_ |
std::vector< std::vector< GeometryType > > | geomTypes_ |
HierarchicIndexSet | hIndexSet_ |
std::unique_ptr< GlobalIdSetImp > | globalIdSet_ |
LocalIdSetImp | localIdSet_ |
std::vector< std::shared_ptr< LevelIndexSetImp > > | levelIndexVec_ |
std::unique_ptr< LeafIndexSetImp > | leafIndexSet_ |
std::vector< VertexListType > | vertexList_ |
ALU3dGridItemListType | ghostLeafList_ [3] |
std::vector< ALU3dGridItemListType > | ghostLevelList_ [3] |
std::vector< ALU3dGridItemListType > | levelEdgeList_ |
LeafVertexListType | leafVertexList_ |
std::unique_ptr< SizeCacheType > | sizeCache_ |
bool | lockPostAdapt_ |
const DuneBoundaryProjectionType * | bndPrj_ |
std::unique_ptr< const DuneBoundaryProjectionVector > | bndVec_ |
std::unique_ptr< ALUGridBoundaryProjectionType > | vertexProjection_ |
std::unique_ptr< Communications > | communications_ |
const ALUGridRefinementType | refinementType_ |
[ provides Dune::Grid ]
3D grid with support for hexahedrons and tetrahedrons. The ALU3dGrid implements the Dune GridInterface for 3d tetrahedral and hexahedral meshes. This grid can be locally adapted and used in parallel computations using dynamic load balancing.
(see ALUGrid homepage: http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/)
Two tools are available for partitioning :
For installation instructions see http://www.dune-project.org/external_libraries/install_alugrid.html .
|
protected |
typedef ALU3DSPACE ProjectVertex Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ALUGridVertexProjectionType |
type of ALUGrid Vertex Projection Interface
typedef Traits::CollectiveCommunication Dune::ALU3dGrid< dim, dimworld, elType, Comm >::CollectiveCommunication |
type of collective communication object
typedef ALU3dGridCommunications< dim, dimworld, elType, Comm > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::Communications |
typedef Traits::DuneBoundaryProjectionType Dune::ALU3dGrid< dim, dimworld, elType, Comm >::DuneBoundaryProjectionType |
boundary projection type
typedef Traits::DuneBoundaryProjectionVector Dune::ALU3dGrid< dim, dimworld, elType, Comm >::DuneBoundaryProjectionVector |
boundary projection type
|
protected |
|
protected |
|
protected |
typedef Traits::GlobalIdSet Dune::ALU3dGrid< dim, dimworld, elType, Comm >::GlobalIdSet |
Type of the global id set.
|
protected |
typedef ALU3dGridFamily< dim, dimworld, elType, Comm > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::GridFamily |
typedef ALU3dGridHierarchicIndexSet< dim, dimworld, elType, Comm > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::HierarchicIndexSet |
Type of the hierarchic index set.
|
protected |
typedef ObjectStreamType Dune::ALU3dGrid< dim, dimworld, elType, Comm >::InStreamType |
typedef ALU3dGridIntersectionIterator<const ThisType> Dune::ALU3dGrid< dim, dimworld, elType, Comm >::IntersectionIteratorImp |
typedef ALULeafCommunication< dim, dimworld, elType, Comm > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LeafCommunication |
typedef Partition<All_Partition>::LeafGridView Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LeafGridView |
typedef GridFamily::LeafIndexSetImp Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LeafIndexSetImp |
Type of the leaf index set, needed by data handle.
typedef ALU3dGridIntersectionIterator<const ThisType> Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LeafIntersectionIteratorImp |
|
protected |
|
protected |
|
protected |
|
protected |
typedef LeafIntersectionIteratorWrapper< const ThisType > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LefInterItWrapperType |
typedef ALULevelCommunication< dim, dimworld, elType, Comm > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LevelCommunication |
typedef Partition<All_Partition>::LevelGridView Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LevelGridView |
View types for All_Partition.
typedef GridFamily::LevelIndexSetImp Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LevelIndexSetImp |
Type of the level index set, needed by data handle.
typedef ALU3dGridLevelIntersectionIterator<const ThisType> Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LevelIntersectionIteratorImp |
typedef Traits::LocalIdSet Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LocalIdSet |
Type of the local id set.
|
protected |
Type of the local id set.
typedef LevelIntersectionIteratorWrapper< const ThisType > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::LvlInterItWrapperType |
typedef Partition<All_Partition>::MacroGridView Dune::ALU3dGrid< dim, dimworld, elType, Comm >::MacroGridView |
typedef Comm Dune::ALU3dGrid< dim, dimworld, elType, Comm >::MPICommunicatorType |
typedef ALU3DSPACE GatherScatterType::ObjectStreamType Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ObjectStreamType |
typedef ObjectStreamType Dune::ALU3dGrid< dim, dimworld, elType, Comm >::OutStreamType |
typedef ReferenceElement< alu3d_ctype, dimension > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ReferenceElementType |
reference element type
|
protected |
typedef GridFamily::Traits Dune::ALU3dGrid< dim, dimworld, elType, Comm >::Traits |
|
protected |
anonymous enum |
|
protected |
|
protected |
|
protected |
|
inline |
Constructor which reads an ALU3dGrid Macro Triang file or given GridFile
|
virtual |
Desctructor.
|
protected |
Copy constructor should not be used.
|
inline |
return instance of level index set
alu_inline bool Dune::ALU3dGrid< dim, dimworld, elType, Comm >::adapt | ( | ) |
|
inline |
handle | handler for restriction and prolongation operations which is a Model of the AdaptDataHandleInterface class. |
alu_inline void Dune::ALU3dGrid< dim, dimworld, elType, Comm >::backup | ( | std::ostream & | stream, |
const ALU3DSPACE MacroFileHeader::Format | format | ||
) | const |
backup to ostream
|
inlineprotected |
return boudanry projection for given segment Id
|
protected |
reset size and global size, update Level- and LeafIndexSet, if they exist
|
protected |
calculate maxlevel
|
protected |
check whether macro grid has the right element type
|
protected |
check whether macro grid format is of our type
|
protected |
clear all entity new markers
|
inline |
|
inline |
Communicate information on distributed entities on the leaf grid. Template parameter is a model of Dune::CommDataHandleIF.
|
inline |
|
inlineprotected |
|
inlinevirtual |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
|
inlineprotected |
|
inlinestatic |
|
inline |
|
inline |
|
inlineprotected |
|
inline |
deliver all geometry types used in this grid
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
alu_inline int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ghostSize | ( | int | codim | ) | const |
ghostSize is one for codim 0 and zero otherwise for this grid
alu_inline int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ghostSize | ( | int | level, |
int | codim | ||
) | const |
ghostSize is one for codim 0 and zero otherwise for this grid
|
inline |
number of grid entities on all levels for given codim
|
inline |
get global id set of grid
alu_inline void Dune::ALU3dGrid< dim, dimworld, elType, Comm >::globalRefine | ( | int | refCount | ) |
uses the interface, mark on entity and refineLocal
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Iterator to first entity of given codim on level.
|
inline |
Iterator to first entity of given codim on level.
|
inline |
General definiton for a leaf iterator.
|
inline |
General definiton for a leaf iterator.
|
inline |
General definition for an end iterator on leaf level.
|
inline |
General definition for an end iterator on leaf level.
alu_inline const ALU3dGrid< dim, dimworld, elType, Comm >::Traits::LeafIndexSet & Dune::ALU3dGrid< dim, dimworld, elType, Comm >::leafIndexSet | ( | ) | const |
get leaf index set of the grid
|
inline |
one past the end on this level
|
inline |
one past the end on this level
|
inline |
get level index set of the grid
|
inline |
Calculates load of each process and repartition by using ALUGrid's default partitioning method. The specific load balancing algorithm is selected from a file alugrid.cfg.
|
inline |
Calculates load of each process and repartition by using ALUGrid's default partitioning method. The specific load balancing algorithm is selected from a file alugrid.cfg.
optional | dataHandleIF data handle that implements the Dune::CommDataHandleIF interface to include user data during load balancing |
|
inlineprotected |
Calculates load of each process and repartition the grid if neccessary. For parameters of the load balancing process see the README file of the ALUGrid package.
data | the data handler class that must implement three methods: // calls data inline on macro element. From there the data of
// all children can be written to the message buffer.
// MessageBufferImp implements the MessageBufferIF interface.
template<class MessageBufferImp>
void inlineData ( MessageBufferImp& buff, Dune::Entity<0> & e);
// calls data xtract on macro element. From there the data of
// all children can be restored from the message buffer.
// numChildren is the number of all children underneath the
// macro element e.
// MessageBufferImp implements the MessageBufferIF interface.
template<class MessageBufferImp>
void xtractData ( MessageBufferImp& buff, Dune::Entity<0> & e, size_t numChildren );
// This method is called at the end of the load balancing process
// before adaptation markers are removed. Here the user can apply
// a data compression or other features. This method can be
// empty if nothing should be done.
void compress ();
|
|
inline |
Calculates load of each process and repartition by using ALUGrid's default partitioning method, the partitioning can be optimized by providing weights for each element on the macro grid. The specific load balancing algorithm is selected from a file alugrid.cfg.
weights | class with double operator()(const Entity<0>&) returning a weight for each element which the includes in its internal loadbalancing process - for ALUGrid these are all macro elements. |
|
inline |
Calculates load of each process and repartition by using ALUGrid's default partitioning method, the partitioning can be optimized by providing weights for each element on the macro grid. The specific load balancing algorithm is selected from a file alugrid.cfg.
weights | class with double operator()(const Entity<0>&) returning a weight for each element which the includes in its internal loadbalancing process - for ALUGrid these are all macro elements. |
dataHandleIF | data handle that implements the Dune::CommDataHandleIF interface to include user data during load balancing |
|
inline |
get global id set of grid
|
inline |
View for te macro grid with some alu specific methods.
|
inline |
View for te macro grid with some alu specific methods (All_Partition)
|
inline |
View for te macro grid with some alu specific methods.
|
inline |
View for te macro grid with some alu specific methods (All_Partition)
|
protected |
|
inline |
|
inline |
Return maximum level defined in this grid. Levels are numbered maxLevel with 0 the coarsest level.
|
inlinestatic |
return max number of threads
|
inline |
|
inlinestatic |
for grid identification
|
inline |
size_t Dune::ALU3dGrid< dim, dimworld, elType, Comm >::numBoundarySegments | ( | ) | const |
number of boundary segments
|
protected |
assignment operator should not be used
|
inline |
overlapSize is zero for this grid
|
inline |
overlapSize is zero for this grid
alu_inline void Dune::ALU3dGrid< dim, dimworld, elType, Comm >::postAdapt | ( | ) |
clear all entity new markers if lockPostAdapt_ is set
alu_inline bool Dune::ALU3dGrid< dim, dimworld, elType, Comm >::preAdapt | ( | ) |
returns if a least one entity was marked for coarsening
|
protected |
make grid walkthrough and calc global size
|
inlinestatic |
return reference to Dune reference element according to elType
|
inline |
Distribute the grid based on a user defined partitioning.
destinations | class with int operator()(const Entity<0>&) returning the new owner process of this element. A destination has to be provided for all elements in the grid hierarchy but depending on the grid implementation it is possibly called on a subset only. The elements for which the method is called will be moved to the new processor together with all children. ALUGrid requires destinations for all macro elements. |
|
inline |
Distribute the grid based on a user defined partitioning.
destinations | class with int operator()(const Entity<0>&) returning the new owner process of this element. A destination has to be provided for all elements in the grid hierarchy but depending on the grid implementation it is possibly called on a subset only. The elements for which the method is called will be moved to the new processor together with all children. ALUGrid requires destinations for all macro elements. |
dataHandleIF | data handle that implements the Dune::CommDataHandleIF interface to include user data during load balancing |
alu_inline void Dune::ALU3dGrid< dim, dimworld, elType, Comm >::restore | ( | std::istream & | stream | ) |
restore from istream
alu_inline int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::size | ( | GeometryType | type | ) | const |
number of leaf entities per geometry type in this process
alu_inline int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::size | ( | int | codim | ) | const |
number of leaf entities per codim in this process
alu_inline int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::size | ( | int | level, |
GeometryType | type | ||
) | const |
number of entities per level and geometry type in this process
alu_inline int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::size | ( | int | level, |
int | cd | ||
) | const |
number of grid entities per level and codim
|
inlinestatic |
return current thread number
|
inline |
alu_inline void Dune::ALU3dGrid< dim, dimworld, elType, Comm >::updateStatus | ( | ) |
|
inline |
|
inline |
write macro grid in ALUGrid macro format to path/filename.rank
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
static |
|
static |
|
static |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |