dune-alugrid 2.8.0
Loading...
Searching...
No Matches
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/communication.hh>
7#if ALU3DGRID_PARALLEL
8#include <dune/common/parallel/mpicommunication.hh>
9#endif // #if ALU3DGRID_PARALLEL
10
11
12namespace Dune
13{
14
17 {
19 cube
20 };
21
24 {
27 };
28
31 {
32 No_Comm noComm_;
34 ALUGridNoComm( const No_Comm& comm ) : noComm_( comm ) {}
35#if ALU3DGRID_PARALLEL
36 ALUGridNoComm( MPI_Comm comm ) : noComm_() {}
37 operator MPI_Comm () const { return MPI_COMM_SELF; }
38#endif
39 operator No_Comm () const { return noComm_; }
40 };
41
44#if ALU3DGRID_PARALLEL
45 MPI_Comm mpiComm_;
46 ALUGridMPIComm() : mpiComm_( MPI_COMM_WORLD ) {}
47 ALUGridMPIComm( MPI_Comm comm ) : mpiComm_( comm ) {}
48 operator MPI_Comm () const { return mpiComm_; }
49#endif
50 } ;
51
70 template <int dim, int dimworld, ALUGridElementType elType, ALUGridRefinementType refineType,
71 class Comm =
72#if ALU3DGRID_PARALLEL
74#else
76#endif
77 >
78 class ALUGrid;
79
80 //- traits class for declaring base class for ALUGrid
81 template <int dim, int dimw, ALUGridElementType elType, class Comm >
83}
84#endif // #ifndef DUNE_ALUGRID_COMMON_DECLARATION_HH
Definition: alu3dinclude.hh:33
Definition: alu3dinclude.hh:63
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:43
Definition: declaration.hh:82