Dune Core Modules (2.9.0)

declaration.hh
1 #ifndef DUNE_ALUGRID_COMMON_DECLARATION_HH
2 #define DUNE_ALUGRID_COMMON_DECLARATION_HH
3 
4 #define ALU3DGRID_PARALLEL HAVE_MPI
5 
7 #if ALU3DGRID_PARALLEL
9 #endif // #if ALU3DGRID_PARALLEL
10 
11 
12 namespace Dune
13 {
14 
17  {
19  cube
20  };
21 
24  {
28  };
29 
32  {
33  No_Comm noComm_;
34  ALUGridNoComm() : noComm_() {}
35  ALUGridNoComm( const No_Comm& comm ) : noComm_( comm ) {}
36 #if ALU3DGRID_PARALLEL
37  ALUGridNoComm( MPI_Comm comm ) : noComm_() {}
38  operator MPI_Comm () const { return MPI_COMM_SELF; }
39 #endif
40  operator No_Comm () const { return noComm_; }
41  };
42 
44  struct ALUGridMPIComm {
45 #if ALU3DGRID_PARALLEL
46  MPI_Comm mpiComm_;
47  ALUGridMPIComm() : mpiComm_( MPI_COMM_WORLD ) {}
48  ALUGridMPIComm( MPI_Comm comm ) : mpiComm_( comm ) {}
49  operator MPI_Comm () const { return mpiComm_; }
50 #endif
51  } ;
52 
71  template <int dim, int dimworld, ALUGridElementType elType,
73  class Comm =
74 #if ALU3DGRID_PARALLEL
76 #else
78 #endif
79  >
80  class ALUGrid;
81 
82  //- traits class for declaring base class for ALUGrid
83  template <int dim, int dimw, ALUGridElementType elType, class Comm >
84  struct ALUGridBaseGrid ;
85 }
86 #endif // #ifndef DUNE_ALUGRID_COMMON_DECLARATION_HH
unstructured parallel implementation of the DUNE grid interface
Definition: alugrid.hh:32
Implements an utility class that provides collective communication methods for sequential programs.
Implements an utility class that provides MPI's collective communication methods.
Dune namespace.
Definition: alignedallocator.hh:13
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
Definition: declaration.hh:26
@ conforming
use only conforming bisection refinement
Definition: declaration.hh:25
type of class for specialization of parallel ALUGrid (MPI_Comm as communicator)
Definition: declaration.hh:44
type of class for specialization of serial ALUGrid (No_Comm as communicator)
Definition: declaration.hh:32
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Apr 27, 22:29, 2024)