dune-alugrid 3.0.0
declaration.hh
Go to the documentation of this file.
1#ifndef DUNE_ALUGRID_COMMON_DECLARATION_HH
2#define DUNE_ALUGRID_COMMON_DECLARATION_HH
3
4#define ALU3DGRID_PARALLEL HAVE_MPI
5
6#include <dune/common/parallel/collectivecommunication.hh>
7#if ALU3DGRID_PARALLEL
8#include <dune/common/parallel/mpicollectivecommunication.hh>
9#endif // #if ALU3DGRID_PARALLEL
10
11
12namespace Dune
13{
14
21
28
31 {
32 No_Comm noComm_;
34 ALUGridNoComm( const No_Comm& comm ) : noComm_( comm ) {}
35 operator No_Comm () const { return noComm_; }
36 };
37
40#if ALU3DGRID_PARALLEL
41 MPI_Comm mpiComm_;
42 ALUGridMPIComm() : mpiComm_( MPI_COMM_WORLD ) {}
43 ALUGridMPIComm( MPI_Comm comm ) : mpiComm_( comm ) {}
44 operator MPI_Comm () const { return mpiComm_; }
45#endif
46 } ;
47
66 template <int dim, int dimworld, ALUGridElementType elType, ALUGridRefinementType refineType,
67 class Comm =
68#if ALU3DGRID_PARALLEL
70#else
72#endif
73 >
74 class ALUGrid;
75
76 //- traits class for declaring base class for ALUGrid
77 template <int dim, int dimw, ALUGridElementType elType, class Comm >
79}
80#endif // #ifndef DUNE_ALUGRID_COMMON_DECLARATION_HH
Definition alu3dinclude.hh:50
Definition alu3dinclude.hh:80
ALUGridElementType
basic element types for ALUGrid
Definition declaration.hh:17
@ simplex
use only simplex elements (i.e., triangles or tetrahedra)
Definition declaration.hh:18
@ cube
use only cube elements (i.e., quadrilaterals or hexahedra)
Definition declaration.hh:19
ALUGridRefinementType
available refinement types for ALUGrid
Definition declaration.hh:24
@ nonconforming
use non-conforming (red) refinement
Definition declaration.hh:26
@ conforming
use conforming bisection refinement
Definition declaration.hh:25
type of class for specialization of serial ALUGrid (No_Comm as communicator)
Definition declaration.hh:31
ALUGridNoComm(const No_Comm &comm)
Definition declaration.hh:34
No_Comm noComm_
Definition declaration.hh:32
ALUGridNoComm()
Definition declaration.hh:33
type of class for specialization of parallel ALUGrid (MPI_Comm as communicator)
Definition declaration.hh:39
Definition declaration.hh:78