dune-alugrid 2.8.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. More... | |
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. More... | |
typedef GridFamily::LevelIndexSetImp | LevelIndexSetImp |
Type of the level index set, needed by data handle. More... | |
typedef GridFamily::LeafIndexSetImp | LeafIndexSetImp |
Type of the leaf index set, needed by data handle. More... | |
typedef ReferenceElements< alu3d_ctype, dim > | ReferenceElementContainerType |
typedef ReferenceElements< alu3d_ctype, dim-1 > | ReferenceFaceContainerType |
typedef std::decay_t< decltype(ReferenceElementContainerType::general(std::declval< const Dune::GeometryType & >())) > | ReferenceElementType |
typedef std::decay_t< decltype(ReferenceFaceContainerType::general(std::declval< const Dune::GeometryType & >())) > | ReferenceFaceType |
typedef Traits::DuneBoundaryProjectionType | DuneBoundaryProjectionType |
boundary projection type More... | |
typedef ALU3DSPACE ProjectVertex | ALUGridVertexProjectionType |
type of vertex projection More... | |
typedef ALU3DSPACE ProjectVertexPtr | ALUGridVertexProjectionPointerType |
type of ALUGrid Vertex Projection Interface (shared_ptr) More... | |
typedef ALU3DSPACE ProjectVertexPtrPair | ALUGridVertexProjectionPairType |
typedef Traits::CollectiveCommunication | CollectiveCommunication |
type of collective communication object More... | |
typedef ALULeafCommunication< dim, dimworld, elType, Comm > | LeafCommunication |
typedef ALULevelCommunication< dim, dimworld, elType, Comm > | LevelCommunication |
typedef Traits::GlobalIdSet | GlobalIdSet |
Type of the global id set. More... | |
typedef Traits::LocalIdSet | LocalIdSet |
Type of the local id set. More... | |
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 ALUGridVertexProjectionPairType &bndPrj, const ALUGridRefinementType refinementType) | |
virtual | ~ALU3dGrid () |
Desctructor. More... | |
int | maxLevel () const |
Return maximum level defined in this grid. Levels are numbered maxLevel with 0 the coarsest level. More... | |
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. More... | |
template<int cd, PartitionIteratorType pitype> | |
Traits::template Codim< cd >::template Partition< pitype >::LevelIterator | lend (int level) const |
one past the end on this level More... | |
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. More... | |
template<int cd> | |
Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator | lend (int level) const |
one past the end on this level More... | |
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. More... | |
template<int codim, PartitionIteratorType pitype> | |
Traits::template Codim< codim >::template Partition< pitype >::LeafIterator | leafend () const |
General definition for an end iterator on leaf level. More... | |
template<int codim> | |
Traits::template Codim< codim >::LeafIterator | leafbegin () const |
General definiton for a leaf iterator. More... | |
template<int codim> | |
Traits::template Codim< codim >::LeafIterator | leafend () const |
General definition for an end iterator on leaf level. More... | |
int | size (int level, int cd) const |
number of grid entities per level and codim More... | |
int | size (int codim) const |
number of leaf entities per codim in this process More... | |
int | size (int level, GeometryType type) const |
number of entities per level and geometry type in this process More... | |
size_t | numBoundarySegments () const |
number of boundary segments More... | |
int | size (GeometryType type) const |
number of leaf entities per geometry type in this process More... | |
int | global_size (int cd) const |
number of grid entities on all levels for given codim More... | |
int | hierSetSize (int cd) const |
const GlobalIdSet & | globalIdSet () const |
get global id set of grid More... | |
template<PartitionIteratorType pitype> | |
Partition< pitype >::MacroGridView | macroGridView () const |
View for te macro grid with some alu specific methods. More... | |
MacroGridView | macroGridView () const |
View for te macro grid with some alu specific methods (All_Partition) More... | |
const LocalIdSet & | localIdSet () const |
get global id set of grid More... | |
const Traits::LeafIndexSet & | leafIndexSet () const |
get leaf index set of the grid More... | |
const Traits::LevelIndexSet & | levelIndexSet (int level) const |
get level index set of the grid More... | |
std::shared_ptr< LevelIndexSetImp > | accessLevelIndexSet (int level) const |
return instance of level index set More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
template<class LBDestinations > | |
bool | repartition (LBDestinations &destinations) |
Distribute the grid based on a user defined partitioning. More... | |
template<class LBDestinations , class DataHandleImpl , class Data > | |
bool | repartition (LBDestinations &destinations, CommDataHandleIF< DataHandleImpl, Data > &dataHandleIF) |
Distribute the grid based on a user defined partitioning. More... | |
int | ghostSize (int level, int codim) const |
ghostSize is one for codim 0 and zero otherwise for this grid More... | |
int | overlapSize (int level, int codim) const |
overlapSize is zero for this grid More... | |
int | ghostSize (int codim) const |
ghostSize is one for codim 0 and zero otherwise for this grid More... | |
int | overlapSize (int codim) const |
overlapSize is zero for this grid More... | |
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. More... | |
const CollectiveCommunication & | comm () const |
bool | preAdapt () |
returns if a least one entity was marked for coarsening More... | |
void | postAdapt () |
clear all entity new markers if lockPostAdapt_ is set More... | |
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 More... | |
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 More... | |
void | backup (std::ostream &, const ALU3DSPACE MacroFileHeader::Format format) const |
backup to ostream More... | |
void | restore (std::istream &) |
restore from istream More... | |
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 More... | |
GitterImplType & | myGrid () const |
virtual GitterImplType * | createALUGrid (const std::string ¯oName) |
virtual GitterImplType * | createALUGrid (std::istream &stream) |
ALUGridVertexProjectionPairType | vertexProjections () const |
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 |
const BoundarySegmentIndexSetType & | macroBoundarySegmentIndexSet () const |
Static Public Member Functions | |
static std::string | name () |
for grid identification More... | |
static void | setLoadBalanceMethod (const int mthd, const double ldbUnder=0.0, const double ldbOver=1.2) |
Set load balancing method and lower and upper bound for decision on whether to load balance or not. More... | |
static MPICommunicatorType | defaultCommunicator () |
static const ReferenceElementType & | referenceElement () |
return reference to Dune reference element according to elType More... | |
static const ReferenceFaceType & | faceReferenceElement () |
return reference to Dune face reference element according to elType More... | |
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 GridFamily::LocalIdSetImp | LocalIdSetImp |
Type of the local id set. More... | |
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 DefaultBoundarySegmentIndexSet< ThisType > | BoundarySegmentIndexSetType |
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. More... | |
void | finalizeGridCreation () |
void | clearIsNewMarkers () |
clear all entity new markers More... | |
ALU3dGrid (const ThisType &) | |
Copy constructor should not be used. More... | |
const ThisType & | operator= (const ThisType &) |
assignment operator should not be used More... | |
void | calcExtras () |
reset size and global size, update Level- and LeafIndexSet, if they exist More... | |
void | calcMaxLevel () |
calculate maxlevel More... | |
void | recalcGlobalSize () |
make grid walkthrough and calc global size More... | |
void | checkMacroGridFile (const std::string filename) |
check whether macro grid format is of our type More... | |
void | checkMacroGrid () |
check whether macro grid has the right element type More... | |
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_ |
BoundarySegmentIndexSetType | macroBoundarySegmentIndexSet_ |
bool | lockPostAdapt_ |
ALUGridVertexProjectionPairType | vertexProjections_ |
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 .
typedef ALU3DSPACE ProjectVertexPtrPair Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ALUGridVertexProjectionPairType |
typedef ALU3DSPACE ProjectVertexPtr Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ALUGridVertexProjectionPointerType |
type of ALUGrid Vertex Projection Interface (shared_ptr)
typedef ALU3DSPACE ProjectVertex Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ALUGridVertexProjectionType |
type of vertex projection
|
protected |
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
|
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 ReferenceElements< alu3d_ctype, dim > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ReferenceElementContainerType |
typedef std::decay_t< decltype( ReferenceElementContainerType::general( std::declval< const Dune::GeometryType & >() ) ) > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ReferenceElementType |
typedef ReferenceElements< alu3d_ctype, dim-1 > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ReferenceFaceContainerType |
typedef std::decay_t< decltype( ReferenceFaceContainerType::general( std::declval< const Dune::GeometryType & >() ) ) > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::ReferenceFaceType |
|
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
|
inlinevirtual |
Desctructor.
|
protected |
Copy constructor should not be used.
alu_inline_tmp std::shared_ptr< typename ALU3dGrid< dim, dimworld, elType, Comm >::LevelIndexSetImp > Dune::ALU3dGrid< dim, dimworld, elType, Comm >::accessLevelIndexSet | ( | int | level | ) | const |
return instance of level index set
alu_inline_tmp 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
|
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 |
|
protected |
|
inlinestatic |
|
inline |
|
inline |
|
inlinestatic |
return reference to Dune face reference element according to elType
|
protected |
|
inline |
deliver all geometry types used in this grid
|
inlinevirtual |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
alu_inline_tmp 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_tmp 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_tmp 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_tmp const ALU3dGrid< dim, dimworld, elType, Comm >::Traits::LeafIndexSet & Dune::ALU3dGrid< dim, dimworld, elType, Comm >::leafIndexSet |
get leaf index set of the grid
|
inline |
one past the end on this level
|
inline |
one past the end on this level
alu_inline_tmp const ALU3dGrid< dim, dimworld, elType, Comm >::Traits::LevelIndexSet & Dune::ALU3dGrid< dim, dimworld, elType, Comm >::levelIndexSet | ( | int | level | ) | const |
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 |
|
protected |
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 |
|
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.
|
inline |
|
inlinestatic |
for grid identification
|
inline |
size_t Dune::ALU3dGrid< dim, dimworld, elType, Comm >::numBoundarySegments |
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_tmp 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
|
inlinestatic |
Set load balancing method and lower and upper bound for decision on whether to load balance or not.
alu_inline_tmp int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::size | ( | GeometryType | type | ) | const |
number of leaf entities per geometry type in this process
alu_inline_tmp int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::size | ( | int | codim | ) | const |
number of leaf entities per codim in this process
alu_inline_tmp 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_tmp int Dune::ALU3dGrid< dim, dimworld, elType, Comm >::size | ( | int | level, |
int | cd | ||
) | const |
number of grid entities per level and codim
|
inline |
alu_inline_tmp void Dune::ALU3dGrid< dim, dimworld, elType, Comm >::updateStatus |
|
inline |
alu_inline bool Dune::ALU3dGrid< dim, dimworld, elType, Comm >::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
|
mutableprotected |
|
protected |
|
static |
|
static |
|
static |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |