dune-grid  2.1.1
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends
Dune::ALU3dGrid< elType, Comm > Class Template Reference

[ provides Dune::Grid ] More...

#include <dune/grid/alugrid/3d/grid.hh>

Inheritance diagram for Dune::ALU3dGrid< elType, Comm >:
Inheritance graph

List of all members.

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 ALU3dGridFamily
< elType, Comm > 
GridFamily
typedef GridFamily::Traits Traits
 The traits of this class.
typedef
ALU3dGridHierarchicIndexSet
< 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
GenericReferenceElement
< 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
MakeableInterfaceObject
< typename Traits::template
Codim< 0 >::Entity
EntityObject
typedef
MakeableInterfaceObject
< typename Traits::template
Codim< 1 >::Entity
FaceObject
typedef
MakeableInterfaceObject
< typename Traits::template
Codim< 2 >::Entity
EdgeObject
typedef
MakeableInterfaceObject
< typename Traits::template
Codim< 3 >::Entity
VertexObject
typedef ALUGridObjectFactory
< ThisType
GridObjectFactoryType
typedef Comm MPICommunicatorType
typedef
ALU3dGridCommunications
< elType, Comm > 
Communications
Exported constants
enum  { dimension = dim }
 A constant that exports the template parameter dim. More...
enum  { dimensionworld = dimworld }
 A constant that exports the template parameter dimworld. More...
Exported types
typedef Partition
< All_Partition >
::LevelGridView 
LevelGridView
 View types for All_Partition.
typedef Partition
< All_Partition >
::LeafGridView 
LeafGridView
typedef
GridFamily::Traits::LeafIntersection 
LeafIntersection
 A type that is a model of Dune::LeafIntersection, an intersections of two codimension 1 of two codimension 0 entities in the leaf view.
typedef
GridFamily::Traits::LevelIntersection 
LevelIntersection
 A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in a level view.
typedef
GridFamily::Traits::LeafIntersectionIterator 
LeafIntersectionIterator
 A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an leaf element (entity of codimension 0) with other leaf elements.
typedef
GridFamily::Traits::LevelIntersectionIterator 
LevelIntersectionIterator
 A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an element (entity of codimension 0) with other elements on the same level.
typedef
GridFamily::Traits::HierarchicIterator 
HierarchicIterator
 A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine, but not to modify, entities of codimension 0 that result from refinement of an entity of codimension 0.
typedef
GridFamily::Traits::LevelIndexSet 
LevelIndexSet
 A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level.
typedef
GridFamily::Traits::LeafIndexSet 
LeafIndexSet
 A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid.
typedef ct ctype
 Define type used for coordinates in grid module.

Public Member Functions

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
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 GlobalIdSetglobalIdSet () const
 get global id set of grid
const LocalIdSetlocalIdSet () const
 get global id set of grid
const Traits::LeafIndexSetleafIndexSet () const
 get leaf index set of the grid
const Traits::LevelIndexSetlevelIndexSet (int level) const
 get level index set of the grid
bool loadBalance ()
 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.
template<class DataHandle >
bool loadBalance (DataHandle &data)
 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.
template<class DataHandleImpl , class Data >
bool loadBalance (CommDataHandleIF< DataHandleImpl, Data > &dataHandle)
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 DataHandleImp , class DataTypeImp >
void communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir, int level) const
template<class DataHandleImp , class DataTypeImp >
void communicate (CommDataHandleIF< DataHandleImp, DataTypeImp > &data, InterfaceType iftype, CommunicationDirection dir) const
 Communicate information on distributed entities on the leaf grid. Template parameter is a model of Dune::CommDataHandleIF.
const CollectiveCommunicationcomm () const
bool preAdapt ()
 returns if a least one entity was marked for coarsening
void postAdapt ()
 clear all entity new markers
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)
template<GrapeIOFileFormatType ftype>
bool writeGrid (const std::string filename, alu3d_ctype time) const
 write Grid to file in specified FileFormatType
bool writeGrid_Xdr (const std::string filename, alu3d_ctype time) const
bool writeGrid_Ascii (const std::string filename, alu3d_ctype time, bool scientific=false) const
 write leaf grid in macro grid format to ascii file
bool writeMacroGrid (const std::string path, const std::string filename) const
 write macro grid in ALUGrid macro format to path/filename.rank
template<GrapeIOFileFormatType ftype>
bool readGrid (const std::string filename, alu3d_ctype &time)
 read Grid from file filename and store time of mesh in time
const HierarchicIndexSethierarchicIndexSet () const
void setMaxLevel (int mxl)
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
template<class IntersectionInterfaceType >
const BaseType::template
ReturnImplementationType
< IntersectionInterfaceType >
::ImplementationType & 
getRealIntersectionIterator (const IntersectionInterfaceType &it) const
template<class IntersectionType >
const BaseType::template
ReturnImplementationType
< IntersectionType >
::ImplementationType & 
getRealIntersection (const IntersectionType &intersection) const
const std::vector< GeometryType > & geomTypes (int codim) const
 deliver all geometry types used in this grid
GitterImplTypemyGrid () const
virtual GitterImplTypecreateALUGrid (const std::string &macroName)
ALUGridVertexProjectionTypevertexProjection ()
virtual ALU3DSPACE
Gitter::Geometric::BuilderIF & 
getBuilder () const
virtual void duneNotifyMacroGridChanges ()
const ReferenceElementTypereferenceElement () const
 return reference to Dune reference element according to elType
template<class EntitySeed >
Traits::template Codim
< EntitySeed::codimension >
::EntityPointer 
entityPointer (const EntitySeed &seed) const
int nlinks () const
LeafVertexListTypegetLeafVertexList () const
int getLevelOfLeafVertex (const typename ALU3dImplTraits< elType, Comm >::VertexType &vertex) const
VertexListTypegetVertexList (int level) const
ALU3dGridItemListTypegetGhostLeafList (int codim) const
ALU3dGridItemListTypegetGhostLevelList (int codim, int level) const
ALU3dGridItemListTypegetEdgeList (int level) const
template<class DataHandleImp , class DataType >
void communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir, int level) const
template<class DataHandleImp , class DataType >
void communicate (CommDataHandleIF< DataHandleImp, DataType > &data, InterfaceType iftype, CommunicationDirection dir) const
Traits::template Partition
< pitype >::LevelGridView 
levelView (int level) const
 View for a grid level.
Traits::template Partition
< All_Partition >
::LevelGridView 
levelView (int level) const
 View for a grid level for All_Partition.
Traits::template Partition
< pitype >::LeafGridView 
leafView () const
 View for the leaf grid.
Traits::template Partition
< All_Partition >
::LeafGridView 
leafView () const
 View for the leaf grid for All_Partition.
Adaptivity and grid refinement
bool mark (int refCount, const typename Codim< 0 >::Entity &e)
 Marks an entity to be refined/coarsened in a subsequent adapt.
int getMark (const typename Codim< 0 >::Entity &e) const
 returns adaptation mark for given entity

Static Public Member Functions

static std::string name ()
 for grid identification
static MPICommunicatorType defaultCommunicator ()

Static Public Attributes

static const ALU3dGridElementType elementType = elType
static const int dimension = BaseType::dimension
 The dimension of the grid.
static const int dimensionworld = BaseType::dimensionworld
 The dimension of the world the grid lives in.

Protected Types

enum  { MAXL = 32 }
 max number of levels More...
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
 Type of the global id set.
typedef Traits::GlobalIdSet GlobalIdSet
 Type of the global id set.
typedef Traits::LocalIdSet LocalIdSet
 Type of the local id set.
typedef ALU3dGridLeafIterator
< 0, All_Partition, const
ThisType
LeafIteratorImp
 a standard leaf iterator
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 SingleTypeSizeCache
< MyType
SizeCacheType

Protected Member Functions

 ALU3dGrid (const std::string &macroTriangFilename, const MPICommunicatorType mpiComm, const DuneBoundaryProjectionType *bndPrj, const DuneBoundaryProjectionVector *bndVec)
 ALU3dGrid (const ThisType &)
 Copy constructor should not be used.
const ThisTypeoperator= (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 DuneBoundaryProjectionTypeboundaryProjection (const int segmentIndex) const
 return boudanry projection for given segment Id
const Communicationscommunications () const
const GridObjectFactoryTypefactory () const
GridImp & asImp ()
 Barton-Nackman trick.
const GridImp & asImp () const
 Barton-Nackman trick.

Static Protected Member Functions

static
ReturnImplementationType
< InterfaceType >
::ImplementationType & 
getRealImplementation (InterfaceType &i)
 return real implementation of interface class

Protected Attributes

GitterImplTypemygrid_
int maxlevel_
int coarsenMarked_
int refineMarked_
std::vector< std::vector
< GeometryType > > 
geomTypes_
HierarchicIndexSet hIndexSet_
GlobalIdSetImpglobalIdSet_
LocalIdSetImp localIdSet_
std::vector< LevelIndexSetImp * > levelIndexVec_
LeafIndexSetImpleafIndexSet_
const ReferenceElementTypereferenceElement_
VertexListType vertexList_ [MAXL]
ALU3dGridItemListType ghostLeafList_ [dimension]
ALU3dGridItemListType ghostLevelList_ [dimension][MAXL]
ALU3dGridItemListType levelEdgeList_ [MAXL]
LeafVertexListType leafVertexList_
SizeCacheTypesizeCache_
GridObjectFactoryType factory_
bool lockPostAdapt_
const DuneBoundaryProjectionTypebndPrj_
const
DuneBoundaryProjectionVector
bndVec_
ALUGridBoundaryProjectionTypevertexProjection_
Communicationscommunications_

Friends

class ALU3dGridEntity< 0, 3, const ThisType >
class ALU3dGridEntity< 1, 3, const ThisType >
class ALU3dGridEntity< 2, 3, const ThisType >
class ALU3dGridEntity< 3, 3, const ThisType >
class ALU3dGridIntersectionIterator< ThisType >
class ALU3dGridEntityPointerBase< 0, const ThisType >
class ALU3dGridEntityPointerBase< 1, const ThisType >
class ALU3dGridEntityPointerBase< 2, const ThisType >
class ALU3dGridEntityPointerBase< 3, const ThisType >
class ALU3dGridEntityPointer< 0, const ThisType >
class ALU3dGridEntityPointer< 1, const ThisType >
class ALU3dGridEntityPointer< 2, const ThisType >
class ALU3dGridEntityPointer< 3, const ThisType >
class ALU3dGridIntersectionIterator< const ThisType >
class ALU3dGridHierarchicIterator< const ThisType >
class ALU3dGridHierarchicIndexSet< elType, Comm >
class ALU3dGridGlobalIdSet< elType, Comm >
class ALU3dGridLocalIdSet< elType, Comm >
class Conversion< ThisType, HasObjectStream >
class Conversion< const ThisType, HasObjectStream >
class Conversion< ThisType, HasHierarchicIndexSet >
class Conversion< const ThisType, HasHierarchicIndexSet >
class ALU3dGridCommHelper< elType, Comm >
class IntersectionIteratorWrapper< const ThisType, LeafIntersectionIteratorImp >
class IntersectionIteratorWrapper< const ThisType, LevelIntersectionIteratorImp >
class LeafIntersectionIteratorWrapper< const ThisType >
class LevelIntersectionIteratorWrapper< const ThisType >
class ALULocalGeometryStorage< const ThisType, GeometryObject, 8 >
class ALUGridBoundaryProjection< ThisType, alu3d_ctype >

Detailed Description

template<ALU3dGridElementType elType, class Comm>
class Dune::ALU3dGrid< elType, Comm >

[ 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.

Note:
Adaptive parallel grid supporting dynamic load balancing, written mainly by Bernard Schupp. This grid supports hexahedrons and tetrahedrons.

(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 .

Author:
Robert Kloefkorn

Member Typedef Documentation

template<ALU3dGridElementType elType, class Comm>
typedef ALUGridBoundaryProjection< ThisType, alu3d_ctype > Dune::ALU3dGrid< elType, Comm >::ALUGridBoundaryProjectionType [protected]
template<ALU3dGridElementType elType, class Comm>
typedef ALU3DSPACE ProjectVertex Dune::ALU3dGrid< elType, Comm >::ALUGridVertexProjectionType

type of ALUGrid Vertex Projection Interface

template<ALU3dGridElementType elType, class Comm>
typedef Traits::CollectiveCommunication Dune::ALU3dGrid< elType, Comm >::CollectiveCommunication

type of collective communication object

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridCommunications< elType, Comm > Dune::ALU3dGrid< elType, Comm >::Communications
template<int dim, int dimworld, class ct, class GridFamily>
typedef ct Dune::Grid< dim, dimworld, ct, GridFamily >::ctype [inherited]
template<ALU3dGridElementType elType, class Comm>
typedef Traits::DuneBoundaryProjectionType Dune::ALU3dGrid< elType, Comm >::DuneBoundaryProjectionType

boundary projection type

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
typedef Traits::DuneBoundaryProjectionVector Dune::ALU3dGrid< elType, Comm >::DuneBoundaryProjectionVector

boundary projection type

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
typedef MakeableInterfaceObject<typename Traits::template Codim<2>::Entity> Dune::ALU3dGrid< elType, Comm >::EdgeObject
template<ALU3dGridElementType elType, class Comm>
typedef MakeableInterfaceObject<typename Traits::template Codim<0>::Entity> Dune::ALU3dGrid< elType, Comm >::EntityObject
template<ALU3dGridElementType elType, class Comm>
typedef MakeableInterfaceObject<typename Traits::template Codim<1>::Entity> Dune::ALU3dGrid< elType, Comm >::FaceObject
template<ALU3dGridElementType elType, class Comm>
typedef MakeableInterfaceObject< typename Traits::template Codim< 0 >::Geometry > Dune::ALU3dGrid< elType, Comm >::GeometryObject [protected]
template<ALU3dGridElementType elType, class Comm>
typedef ALU3dImplTraits< elType, Comm >::GitterImplType Dune::ALU3dGrid< elType, Comm >::GitterImplType [protected]
template<ALU3dGridElementType elType, class Comm>
typedef Traits::GlobalIdSet Dune::ALU3dGrid< elType, Comm >::GlobalIdSet [protected]

Type of the global id set.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
typedef GridFamily::GlobalIdSetImp Dune::ALU3dGrid< elType, Comm >::GlobalIdSetImp [protected]

Type of the global id set.

template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridFamily< elType, Comm > Dune::ALU3dGrid< elType, Comm >::GridFamily
template<ALU3dGridElementType elType, class Comm>
typedef ALUGridObjectFactory< ThisType > Dune::ALU3dGrid< elType, Comm >::GridObjectFactoryType
template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridHierarchicIndexSet< elType, Comm > Dune::ALU3dGrid< elType, Comm >::HierarchicIndexSet

Type of the hierarchic index set.

template<int dim, int dimworld, class ct, class GridFamily>
typedef GridFamily::Traits::HierarchicIterator Dune::Grid< dim, dimworld, ct, GridFamily >::HierarchicIterator [inherited]

A type that is a model of Dune::HierarchicIterator A type of iterator that allows to examine, but not to modify, entities of codimension 0 that result from refinement of an entity of codimension 0.

template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridHierarchicIterator< const ThisType > Dune::ALU3dGrid< elType, Comm >::HierarchicIteratorImp [protected]
template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridIntersectionIterator<const ThisType> Dune::ALU3dGrid< elType, Comm >::IntersectionIteratorImp
template<int dim, int dimworld, class ct, class GridFamily>
typedef Partition< All_Partition >:: LeafGridView Dune::Grid< dim, dimworld, ct, GridFamily >::LeafGridView [inherited]
template<int dim, int dimworld, class ct, class GridFamily>
typedef GridFamily::Traits::LeafIndexSet Dune::Grid< dim, dimworld, ct, GridFamily >::LeafIndexSet [inherited]

A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities in the leaf grid.

Reimplemented in Dune::AlbertaGrid< dim, dimworld >.

template<ALU3dGridElementType elType, class Comm>
typedef GridFamily::LeafIndexSetImp Dune::ALU3dGrid< elType, Comm >::LeafIndexSetImp

Type of the leaf index set, needed by data handle.

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<int dim, int dimworld, class ct, class GridFamily>
typedef GridFamily::Traits::LeafIntersection Dune::Grid< dim, dimworld, ct, GridFamily >::LeafIntersection [inherited]

A type that is a model of Dune::LeafIntersection, an intersections of two codimension 1 of two codimension 0 entities in the leaf view.

template<int dim, int dimworld, class ct, class GridFamily>
typedef GridFamily::Traits::LeafIntersectionIterator Dune::Grid< dim, dimworld, ct, GridFamily >::LeafIntersectionIterator [inherited]

A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an leaf element (entity of codimension 0) with other leaf elements.

template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridIntersectionIterator<const ThisType> Dune::ALU3dGrid< elType, Comm >::LeafIntersectionIteratorImp
template<ALU3dGridElementType elType, class Comm>
typedef Traits::template Codim< 0 >::LeafIterator Dune::ALU3dGrid< elType, Comm >::LeafIterator [protected]
template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridLeafIterator< 0, All_Partition, const ThisType > Dune::ALU3dGrid< elType, Comm >::LeafIteratorImp [protected]

a standard leaf iterator

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
typedef Traits::template Codim< 0 >::LeafIterator Dune::ALU3dGrid< elType, Comm >::LeafIteratorType [protected]
template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridLeafVertexList< Comm > Dune::ALU3dGrid< elType, Comm >::LeafVertexListType [protected]
template<int dim, int dimworld, class ct, class GridFamily>
typedef Partition< All_Partition >:: LevelGridView Dune::Grid< dim, dimworld, ct, GridFamily >::LevelGridView [inherited]
template<int dim, int dimworld, class ct, class GridFamily>
typedef GridFamily::Traits::LevelIndexSet Dune::Grid< dim, dimworld, ct, GridFamily >::LevelIndexSet [inherited]

A type that is a model of Dune::IndexSet which provides a consecutive, but non persistent, numbering for entities on a grid level.

Reimplemented in Dune::AlbertaGrid< dim, dimworld >.

template<ALU3dGridElementType elType, class Comm>
typedef GridFamily::LevelIndexSetImp Dune::ALU3dGrid< elType, Comm >::LevelIndexSetImp

Type of the level index set, needed by data handle.

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<int dim, int dimworld, class ct, class GridFamily>
typedef GridFamily::Traits::LevelIntersection Dune::Grid< dim, dimworld, ct, GridFamily >::LevelIntersection [inherited]

A type that is a model of Dune::Intersection, an intersections of two codimension 1 of two codimension 0 entities in a level view.

template<int dim, int dimworld, class ct, class GridFamily>
typedef GridFamily::Traits::LevelIntersectionIterator Dune::Grid< dim, dimworld, ct, GridFamily >::LevelIntersectionIterator [inherited]

A type that is a model of Dune::IntersectionIterator which is an iterator that allows to examine, but not to modify, the intersections of codimension 1 of an element (entity of codimension 0) with other elements on the same level.

template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridLevelIntersectionIterator<const ThisType> Dune::ALU3dGrid< elType, Comm >::LevelIntersectionIteratorImp
template<ALU3dGridElementType elType, class Comm>
typedef Traits::LocalIdSet Dune::ALU3dGrid< elType, Comm >::LocalIdSet [protected]

Type of the local id set.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
typedef GridFamily::LocalIdSetImp Dune::ALU3dGrid< elType, Comm >::LocalIdSetImp [protected]

Type of the local id set.

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
typedef Comm Dune::ALU3dGrid< elType, Comm >::MPICommunicatorType
template<ALU3dGridElementType elType, class Comm>
typedef ALU3DSPACE GatherScatterType::ObjectStreamType Dune::ALU3dGrid< elType, Comm >::ObjectStreamType
template<ALU3dGridElementType elType, class Comm>
typedef GenericReferenceElement< alu3d_ctype, dimension > Dune::ALU3dGrid< elType, Comm >::ReferenceElementType

reference element type

template<ALU3dGridElementType elType, class Comm>
typedef SingleTypeSizeCache<MyType> Dune::ALU3dGrid< elType, Comm >::SizeCacheType [protected]
template<ALU3dGridElementType elType, class Comm>
typedef GridFamily::Traits Dune::ALU3dGrid< elType, Comm >::Traits

The traits of this class.

Presents the typedefs as described in GridTraits.

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
typedef ALU3dGridVertexList< Comm > Dune::ALU3dGrid< elType, Comm >::VertexListType [protected]
template<ALU3dGridElementType elType, class Comm>
typedef MakeableInterfaceObject<typename Traits::template Codim<3>::Entity> Dune::ALU3dGrid< elType, Comm >::VertexObject

Member Enumeration Documentation

template<int dim, int dimworld, class ct, class GridFamily>
anonymous enum [inherited]

A constant that exports the template parameter dim.

Enumerator:
dimension 

The dimension of the grid.

template<int dim, int dimworld, class ct, class GridFamily>
anonymous enum [inherited]

A constant that exports the template parameter dimworld.

Enumerator:
dimensionworld 

The dimension of the world the grid lives in.

template<ALU3dGridElementType elType, class Comm>
anonymous enum
Enumerator:
refineStepsForHalf 
template<ALU3dGridElementType elType, class Comm>
anonymous enum [protected]

max number of levels

Enumerator:
MAXL 

maximal number of levels is 32

template<ALU3dGridElementType elType, class Comm>
anonymous enum [protected]

element chunk for refinement

Enumerator:
newElementsChunk_ 

normal default number of new elements for new adapt method

template<ALU3dGridElementType elType, class Comm>
anonymous enum [protected]

upper estimate on number of elements that could be created when a new element is created

Enumerator:
refineEstimate_ 

if one element is refined then it causes apporximately not more than this number of new elements

template<ALU3dGridElementType elType, class Comm>
anonymous enum [protected]
Enumerator:
numberOfGeomTypes 

Constructor & Destructor Documentation

template<ALU3dGridElementType elType, class Comm >
Dune::ALU3dGrid< elType, Comm >::ALU3dGrid ( const std::string &  macroTriangFilename,
const MPICommunicatorType  mpiComm,
const DuneBoundaryProjectionType bndPrj,
const DuneBoundaryProjectionVector bndVec 
) [inline, protected]

Constructor which reads an ALU3dGrid Macro Triang file or given GridFile

References Dune::checkMacroGrid(), Dune::hexa, and Dune::tetra.

template<ALU3dGridElementType elType, class Comm>
virtual Dune::ALU3dGrid< elType, Comm >::~ALU3dGrid ( ) [virtual]

Desctructor.

template<ALU3dGridElementType elType, class Comm>
Dune::ALU3dGrid< elType, Comm >::ALU3dGrid ( const ThisType ) [protected]

Copy constructor should not be used.


Member Function Documentation

template<ALU3dGridElementType elType, class Comm>
bool Dune::ALU3dGrid< elType, Comm >::adapt ( )

Refine all positive marked leaf entities, coarsen all negative marked entities if possible.

Returns:
true if a least one entity was refined

The complete adaptation process works as follows:

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm >
template<class GridImp , class DataHandle >
bool Dune::ALU3dGrid< elType, Comm >::adapt ( AdaptDataHandleInterface< GridImp, DataHandle > &  handle) [inline]

Refine all positive marked leaf entities, coarsen all negative marked entities if possible.

Returns:
true if a least one entity was refined

The complete adaptation process works as follows:

Parameters:
handlehandler for restriction and prolongation operations which is a Model of the AdaptDataHandleInterface class.

References ALU3DSPACE, Dune::Alberta::max(), Dune::AdaptDataHandleInterface< Grid, Impl >::postAdapt(), and Dune::AdaptDataHandleInterface< Grid, Impl >::preAdapt().

template<int dim, int dimworld, class ct, class GridFamily>
GridImp& Dune::Grid< dim, dimworld, ct, GridFamily >::asImp ( ) [inline, protected, inherited]

Barton-Nackman trick.

Referenced by Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::adapt(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::comm(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::communicate(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::entityPointer(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::getMark(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::ghostSize(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::globalIdSet(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::globalRefine(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::lbegin(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafbegin(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafend(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafIndexSet(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::leafView(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::lend(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::levelIndexSet(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::levelView(), Dune::GridDefaultImplementation< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::levelView(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::loadBalance(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::localIdSet(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::mark(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::maxLevel(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::numBoundarySegments(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::overlapSize(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::postAdapt(), Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::preAdapt(), and Dune::Grid< dim, dimworld, _ctype, SGridFamily< dim, dimworld, _ctype > >::size().

template<int dim, int dimworld, class ct, class GridFamily>
const GridImp& Dune::Grid< dim, dimworld, ct, GridFamily >::asImp ( ) const [inline, protected, inherited]

Barton-Nackman trick.

template<ALU3dGridElementType elType, class Comm>
const DuneBoundaryProjectionType* Dune::ALU3dGrid< elType, Comm >::boundaryProjection ( const int  segmentIndex) const [inline, protected]

return boudanry projection for given segment Id

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::calcExtras ( ) [protected]

reset size and global size, update Level- and LeafIndexSet, if they exist

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::calcMaxLevel ( ) [protected]

calculate maxlevel

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::checkMacroGrid ( ) [protected]

check whether macro grid has the right element type

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::checkMacroGridFile ( const std::string  filename) [protected]

check whether macro grid format is of our type

template<ALU3dGridElementType elType, class Comm>
const CollectiveCommunication& Dune::ALU3dGrid< elType, Comm >::comm ( ) const [inline]

return const reference to a collective communication object. The return type is a model of Dune::CollectiveCommunication.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
template<class DataHandleImp , class DataType >
void Dune::ALU3dGrid< elType, Comm >::communicate ( CommDataHandleIF< DataHandleImp, DataType > &  data,
InterfaceType  iftype,
CommunicationDirection  dir,
int  level 
) const [inline]
template<ALU3dGridElementType elType, class Comm>
template<class DataHandleImp , class DataType >
void Dune::ALU3dGrid< elType, Comm >::communicate ( CommDataHandleIF< DataHandleImp, DataType > &  data,
InterfaceType  iftype,
CommunicationDirection  dir 
) const [inline]
template<ALU3dGridElementType elType, class Comm>
template<class DataHandleImp , class DataTypeImp >
void Dune::ALU3dGrid< elType, Comm >::communicate ( CommDataHandleIF< DataHandleImp, DataTypeImp > &  data,
InterfaceType  iftype,
CommunicationDirection  dir,
int  level 
) const

Communicate information on distributed entities on a given level Template parameter is a model of Dune::CommDataHandleIF.

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm>
template<class DataHandleImp , class DataTypeImp >
void Dune::ALU3dGrid< elType, Comm >::communicate ( CommDataHandleIF< DataHandleImp, DataTypeImp > &  data,
InterfaceType  iftype,
CommunicationDirection  dir 
) const

Communicate information on distributed entities on the leaf grid. Template parameter is a model of Dune::CommDataHandleIF.

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm>
const Communications& Dune::ALU3dGrid< elType, Comm >::communications ( ) const [inline, protected]
template<ALU3dGridElementType elType, class Comm>
virtual GitterImplType* Dune::ALU3dGrid< elType, Comm >::createALUGrid ( const std::string &  macroName) [inline, virtual]
template<ALU3dGridElementType elType, class Comm>
static MPICommunicatorType Dune::ALU3dGrid< elType, Comm >::defaultCommunicator ( ) [inline, static]
template<ALU3dGridElementType elType, class Comm>
virtual void Dune::ALU3dGrid< elType, Comm >::duneNotifyMacroGridChanges ( ) [inline, virtual]
template<ALU3dGridElementType elType, class Comm>
template<class EntitySeed >
Traits :: template Codim< EntitySeed :: codimension >:: EntityPointer Dune::ALU3dGrid< elType, Comm >::entityPointer ( const EntitySeed &  seed) const [inline]
Deprecated:
default implementation of generation of EntityPointer from EntitySeed. This has to be implemented by each grid
Deprecated:

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm>
const GridObjectFactoryType& Dune::ALU3dGrid< elType, Comm >::factory ( ) const [inline, protected]
template<ALU3dGridElementType elType, class Comm>
const std::vector<GeometryType>& Dune::ALU3dGrid< elType, Comm >::geomTypes ( int  codim) const [inline]

deliver all geometry types used in this grid

Referenced by Dune::ALU3dGridHierarchicIndexSet< elType, Comm >::geomTypes().

template<ALU3dGridElementType elType, class Comm>
virtual ALU3DSPACE Gitter::Geometric::BuilderIF& Dune::ALU3dGrid< elType, Comm >::getBuilder ( ) const [inline, virtual]
template<ALU3dGridElementType elType, class Comm>
ALU3dGridItemListType& Dune::ALU3dGrid< elType, Comm >::getEdgeList ( int  level) const [inline]
template<ALU3dGridElementType elType, class Comm>
ALU3dGridItemListType& Dune::ALU3dGrid< elType, Comm >::getGhostLeafList ( int  codim) const [inline]
template<ALU3dGridElementType elType, class Comm>
ALU3dGridItemListType& Dune::ALU3dGrid< elType, Comm >::getGhostLevelList ( int  codim,
int  level 
) const [inline]
template<ALU3dGridElementType elType, class Comm>
LeafVertexListType& Dune::ALU3dGrid< elType, Comm >::getLeafVertexList ( ) const [inline]
template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::getLevelOfLeafVertex ( const typename ALU3dImplTraits< elType, Comm >::VertexType &  vertex) const [inline]
template<ALU3dGridElementType elType, class Comm >
int Dune::ALU3dGrid< elType, Comm >::getMark ( const typename Traits::template Codim< 0 >::Entity e) const [inline]

returns adaptation mark for given entity

Parameters:
[in]eEntity for which adaptation mark should be determined
Returns:
int adaptation mark currently set for given Entity e

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<int dim, int dimworld, class ct, class GridFamily>
int Dune::Grid< dim, dimworld, ct, GridFamily >::getMark ( const typename Codim< 0 >::Entity e) const [inline, inherited]

returns adaptation mark for given entity

Parameters:
[in]eEntity for which adaptation mark should be determined
Returns:
int adaptation mark currently set for given Entity e
static ReturnImplementationType<InterfaceType>::ImplementationType& Dune::GridDefaultImplementation< dim, dimworld, alu3d_ctype , ALU3dGridFamily< elType, Comm > >::getRealImplementation ( InterfaceType i) [inline, static, protected, inherited]
template<ALU3dGridElementType elType, class Comm>
template<class IntersectionType >
const BaseType :: template ReturnImplementationType< IntersectionType >:: ImplementationType& Dune::ALU3dGrid< elType, Comm >::getRealIntersection ( const IntersectionType &  intersection) const [inline]
template<ALU3dGridElementType elType, class Comm>
template<class IntersectionInterfaceType >
const BaseType :: template ReturnImplementationType< IntersectionInterfaceType >:: ImplementationType& Dune::ALU3dGrid< elType, Comm >::getRealIntersectionIterator ( const IntersectionInterfaceType &  it) const [inline]
template<ALU3dGridElementType elType, class Comm>
VertexListType& Dune::ALU3dGrid< elType, Comm >::getVertexList ( int  level) const [inline]
template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::ghostSize ( int  level,
int  codim 
) const

ghostSize is one for codim 0 and zero otherwise for this grid

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::ghostSize ( int  codim) const

ghostSize is one for codim 0 and zero otherwise for this grid

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm >
int Dune::ALU3dGrid< elType, Comm >::global_size ( int  cd) const [inline]

number of grid entities on all levels for given codim

template<ALU3dGridElementType elType, class Comm>
const GlobalIdSet& Dune::ALU3dGrid< elType, Comm >::globalIdSet ( ) const [inline]

get global id set of grid

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::globalRefine ( int  refCount)

uses the interface, mark on entity and refineLocal

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm >
template<class GridImp , class DataHandle >
void Dune::ALU3dGrid< elType, Comm >::globalRefine ( int  refCount,
AdaptDataHandleInterface< GridImp, DataHandle > &  handle 
) [inline]
template<ALU3dGridElementType elType, class Comm>
const HierarchicIndexSet& Dune::ALU3dGrid< elType, Comm >::hierarchicIndexSet ( ) const [inline]
template<ALU3dGridElementType elType, class Comm >
int Dune::ALU3dGrid< elType, Comm >::hierSetSize ( int  cd) const [inline]
template<ALU3dGridElementType elType, class Comm >
template<int cd>
ALU3dGrid< elType, Comm >::Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator Dune::ALU3dGrid< elType, Comm >::lbegin ( int  level) const [inline]

Iterator to first entity of given codim on level.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
template<int cd>
Traits::template Codim<cd>:: template Partition<All_Partition>::LevelIterator Dune::ALU3dGrid< elType, Comm >::lbegin ( int  level) const

Iterator to first entity of given codim on level.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
template<int codim, PartitionIteratorType pitype>
Traits::template Codim<codim>::template Partition<pitype>::LeafIterator Dune::ALU3dGrid< elType, Comm >::leafbegin ( ) const

General definiton for a leaf iterator.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
template<int codim>
Traits::template Codim<codim>::LeafIterator Dune::ALU3dGrid< elType, Comm >::leafbegin ( ) const

General definiton for a leaf iterator.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
template<int codim, PartitionIteratorType pitype>
Traits::template Codim<codim>::template Partition<pitype>::LeafIterator Dune::ALU3dGrid< elType, Comm >::leafend ( ) const

General definition for an end iterator on leaf level.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
template<int codim>
Traits::template Codim<codim>::LeafIterator Dune::ALU3dGrid< elType, Comm >::leafend ( ) const

General definition for an end iterator on leaf level.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
const Traits :: LeafIndexSet& Dune::ALU3dGrid< elType, Comm >::leafIndexSet ( ) const

get leaf index set of the grid

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

Traits::template Partition<pitype>::LeafGridView Dune::GridDefaultImplementation< dim, dimworld, alu3d_ctype , ALU3dGridFamily< elType, Comm > >::leafView ( ) const [inline, inherited]
Traits::template Partition<All_Partition>::LeafGridView Dune::GridDefaultImplementation< dim, dimworld, alu3d_ctype , ALU3dGridFamily< elType, Comm > >::leafView ( ) const [inline, inherited]
template<ALU3dGridElementType elType, class Comm >
template<int cd>
ALU3dGrid< elType, Comm >::Traits::template Codim< cd >::template Partition< All_Partition >::LevelIterator Dune::ALU3dGrid< elType, Comm >::lend ( int  level) const [inline]

one past the end on this level

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
template<int cd>
Traits::template Codim<cd>:: template Partition<All_Partition>::LevelIterator Dune::ALU3dGrid< elType, Comm >::lend ( int  level) const

one past the end on this level

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
const Traits :: LevelIndexSet& Dune::ALU3dGrid< elType, Comm >::levelIndexSet ( int  level) const

get level index set of the grid

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

Traits::template Partition<pitype>::LevelGridView Dune::GridDefaultImplementation< dim, dimworld, alu3d_ctype , ALU3dGridFamily< elType, Comm > >::levelView ( int  level) const [inline, inherited]
Traits::template Partition<All_Partition>::LevelGridView Dune::GridDefaultImplementation< dim, dimworld, alu3d_ctype , ALU3dGridFamily< elType, Comm > >::levelView ( int  level) const [inline, inherited]
template<ALU3dGridElementType elType, class Comm >
bool Dune::ALU3dGrid< elType, Comm >::loadBalance ( ) [inline]

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.

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

Referenced by Dune::ALU3dGrid< hexa >::loadBalance().

template<ALU3dGridElementType elType, class Comm >
template<class DataHandle >
bool Dune::ALU3dGrid< elType, Comm >::loadBalance ( DataHandle &  data) [inline]

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.

Parameters:
datathe 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 ();

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm>
template<class DataHandleImpl , class Data >
bool Dune::ALU3dGrid< elType, Comm >::loadBalance ( CommDataHandleIF< DataHandleImpl, Data > &  dataHandle) [inline]
template<ALU3dGridElementType elType, class Comm>
const LocalIdSet& Dune::ALU3dGrid< elType, Comm >::localIdSet ( ) const [inline]

get global id set of grid

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm >
bool Dune::ALU3dGrid< elType, Comm >::mark ( int  refCount,
const typename Traits::template Codim< 0 >::Entity e 
) [inline]

Marks an entity to be refined/coarsened in a subsequent adapt.

Parameters:
[in]refCountNumber of subdivisions that should be applied. Negative value means coarsening.
[in]eEntity that should be marked
Returns:
true if Entity was marked, false otherwise.

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<int dim, int dimworld, class ct, class GridFamily>
bool Dune::Grid< dim, dimworld, ct, GridFamily >::mark ( int  refCount,
const typename Codim< 0 >::Entity e 
) [inline, inherited]

Marks an entity to be refined/coarsened in a subsequent adapt.

Parameters:
[in]refCountNumber of subdivisions that should be applied. Negative value means coarsening.
[in]eEntity that should be marked
Returns:
true if Entity was marked, false otherwise.
template<ALU3dGridElementType elType, class Comm >
int Dune::ALU3dGrid< elType, Comm >::maxLevel ( ) const [inline]

Return maximum level defined in this grid. Levels are numbered maxLevel with 0 the coarsest level.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

Referenced by Dune::ALU3dGrid< hexa >::getEdgeList(), Dune::ALU3dGrid< hexa >::getGhostLevelList(), and Dune::ALU3dGrid< hexa >::getVertexList().

template<ALU3dGridElementType elType, class Comm >
ALU3dGrid< elType, Comm >::GitterImplType & Dune::ALU3dGrid< elType, Comm >::myGrid ( ) const [inline]
template<ALU3dGridElementType elType, class Comm >
std::string Dune::ALU3dGrid< elType, Comm >::name ( ) [inline, static]

for grid identification

References Dune::hexa.

template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::nlinks ( ) const [inline]
template<ALU3dGridElementType elType, class Comm>
size_t Dune::ALU3dGrid< elType, Comm >::numBoundarySegments ( ) const

number of boundary segments

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
const ThisType& Dune::ALU3dGrid< elType, Comm >::operator= ( const ThisType ) [protected]

assignment operator should not be used

template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::overlapSize ( int  level,
int  codim 
) const [inline]
template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::overlapSize ( int  codim) const [inline]
template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::postAdapt ( )
template<ALU3dGridElementType elType, class Comm>
bool Dune::ALU3dGrid< elType, Comm >::preAdapt ( )

returns if a least one entity was marked for coarsening

Reimplemented from Dune::GridDefaultImplementation< 3, 3, alu3d_ctype, ALU3dGridFamily< elType, Comm > >.

template<ALU3dGridElementType elType, class Comm>
template<GrapeIOFileFormatType ftype>
bool Dune::ALU3dGrid< elType, Comm >::readGrid ( const std::string  filename,
alu3d_ctype time 
)

read Grid from file filename and store time of mesh in time

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::recalcGlobalSize ( ) [protected]

make grid walkthrough and calc global size

template<ALU3dGridElementType elType, class Comm>
const ReferenceElementType& Dune::ALU3dGrid< elType, Comm >::referenceElement ( ) const [inline]

return reference to Dune reference element according to elType

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::setMaxLevel ( int  mxl)
template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::size ( int  level,
int  cd 
) const

number of grid entities per level and codim

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::size ( int  codim) const

number of leaf entities per codim in this process

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::size ( int  level,
GeometryType  type 
) const

number of entities per level and geometry type in this process

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::size ( GeometryType  type) const

number of leaf entities per geometry type in this process

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

template<ALU3dGridElementType elType, class Comm>
void Dune::ALU3dGrid< elType, Comm >::updateStatus ( )
template<ALU3dGridElementType elType, class Comm>
ALUGridVertexProjectionType* Dune::ALU3dGrid< elType, Comm >::vertexProjection ( ) [inline]
template<ALU3dGridElementType elType, class Comm>
template<GrapeIOFileFormatType ftype>
bool Dune::ALU3dGrid< elType, Comm >::writeGrid ( const std::string  filename,
alu3d_ctype  time 
) const

write Grid to file in specified FileFormatType

template<ALU3dGridElementType elType, class Comm>
bool Dune::ALU3dGrid< elType, Comm >::writeGrid_Ascii ( const std::string  filename,
alu3d_ctype  time,
bool  scientific = false 
) const

write leaf grid in macro grid format to ascii file

template<ALU3dGridElementType elType, class Comm>
bool Dune::ALU3dGrid< elType, Comm >::writeGrid_Xdr ( const std::string  filename,
alu3d_ctype  time 
) const
template<ALU3dGridElementType elType, class Comm>
bool Dune::ALU3dGrid< elType, Comm >::writeMacroGrid ( const std::string  path,
const std::string  filename 
) const

write macro grid in ALUGrid macro format to path/filename.rank


Friends And Related Function Documentation

template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridCommHelper< elType, Comm > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntity< 0, 3, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntity< 1, 3, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntity< 2, 3, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntity< 3, 3, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointer< 0, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointer< 1, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointer< 2, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointer< 3, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointerBase< 0, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointerBase< 1, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointerBase< 2, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridEntityPointerBase< 3, const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridGlobalIdSet< elType, Comm > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridHierarchicIndexSet< elType, Comm > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridHierarchicIterator< const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridIntersectionIterator< const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridIntersectionIterator< ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALU3dGridLocalIdSet< elType, Comm > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALUGridBoundaryProjection< ThisType, alu3d_ctype > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class ALULocalGeometryStorage< const ThisType, GeometryObject, 8 > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class Conversion< const ThisType, HasHierarchicIndexSet > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class Conversion< const ThisType, HasObjectStream > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class Conversion< ThisType, HasHierarchicIndexSet > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class Conversion< ThisType, HasObjectStream > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class IntersectionIteratorWrapper< const ThisType, LeafIntersectionIteratorImp > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class IntersectionIteratorWrapper< const ThisType, LevelIntersectionIteratorImp > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class LeafIntersectionIteratorWrapper< const ThisType > [friend]
template<ALU3dGridElementType elType, class Comm>
friend class LevelIntersectionIteratorWrapper< const ThisType > [friend]

Member Data Documentation

template<ALU3dGridElementType elType, class Comm>
const DuneBoundaryProjectionType* Dune::ALU3dGrid< elType, Comm >::bndPrj_ [protected]
template<ALU3dGridElementType elType, class Comm>
const DuneBoundaryProjectionVector* Dune::ALU3dGrid< elType, Comm >::bndVec_ [protected]
template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::coarsenMarked_ [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
Communications* Dune::ALU3dGrid< elType, Comm >::communications_ [protected]
template<ALU3dGridElementType elType, class Comm>
const int Dune::ALU3dGrid< elType, Comm >::dimension = BaseType::dimension [static]
template<ALU3dGridElementType elType, class Comm>
const int Dune::ALU3dGrid< elType, Comm >::dimensionworld = BaseType::dimensionworld [static]

The dimension of the world the grid lives in.

Reimplemented from Dune::Grid< dim, dimworld, ct, GridFamily >.

Reimplemented in Dune::ALUSimplexGrid< 3, 3 >, and Dune::ALUCubeGrid< 3, 3 >.

template<ALU3dGridElementType elType, class Comm>
const ALU3dGridElementType Dune::ALU3dGrid< elType, Comm >::elementType = elType [static]
template<ALU3dGridElementType elType, class Comm>
GridObjectFactoryType Dune::ALU3dGrid< elType, Comm >::factory_ [protected]
template<ALU3dGridElementType elType, class Comm>
std::vector< std::vector<GeometryType> > Dune::ALU3dGrid< elType, Comm >::geomTypes_ [protected]
template<ALU3dGridElementType elType, class Comm>
ALU3dGridItemListType Dune::ALU3dGrid< elType, Comm >::ghostLeafList_[dimension] [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
ALU3dGridItemListType Dune::ALU3dGrid< elType, Comm >::ghostLevelList_[dimension][MAXL] [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
GlobalIdSetImp* Dune::ALU3dGrid< elType, Comm >::globalIdSet_ [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
HierarchicIndexSet Dune::ALU3dGrid< elType, Comm >::hIndexSet_ [protected]
template<ALU3dGridElementType elType, class Comm>
LeafIndexSetImp* Dune::ALU3dGrid< elType, Comm >::leafIndexSet_ [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
LeafVertexListType Dune::ALU3dGrid< elType, Comm >::leafVertexList_ [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
ALU3dGridItemListType Dune::ALU3dGrid< elType, Comm >::levelEdgeList_[MAXL] [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
std::vector< LevelIndexSetImp * > Dune::ALU3dGrid< elType, Comm >::levelIndexVec_ [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
LocalIdSetImp Dune::ALU3dGrid< elType, Comm >::localIdSet_ [protected]
template<ALU3dGridElementType elType, class Comm>
bool Dune::ALU3dGrid< elType, Comm >::lockPostAdapt_ [protected]
template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::maxlevel_ [protected]
template<ALU3dGridElementType elType, class Comm>
GitterImplType* Dune::ALU3dGrid< elType, Comm >::mygrid_ [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
const ReferenceElementType& Dune::ALU3dGrid< elType, Comm >::referenceElement_ [protected]
template<ALU3dGridElementType elType, class Comm>
int Dune::ALU3dGrid< elType, Comm >::refineMarked_ [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
SizeCacheType* Dune::ALU3dGrid< elType, Comm >::sizeCache_ [protected]
template<ALU3dGridElementType elType, class Comm>
VertexListType Dune::ALU3dGrid< elType, Comm >::vertexList_[MAXL] [mutable, protected]
template<ALU3dGridElementType elType, class Comm>
ALUGridBoundaryProjectionType* Dune::ALU3dGrid< elType, Comm >::vertexProjection_ [protected]

The documentation for this class was generated from the following files: