alugrid/3d/capabilities.hh

Go to the documentation of this file.
00001 #ifndef DUNE_ALU3DGRID_CAPABILITIES_HH
00002 #define DUNE_ALU3DGRID_CAPABILITIES_HH
00003 
00004 // only include this code, if ENABLE_ALUGRID is defined
00005 #ifdef ENABLE_ALUGRID
00006 
00007 #include <dune/grid/common/capabilities.hh>
00008 #include <dune/grid/alugrid/3d/alu3dinclude.hh>
00009 #include <dune/grid/genericgeometry/topologytypes.hh>
00010 
00011 
00017 namespace Dune
00018 {
00019 
00020   template< int dim, int dimworld >
00021   class ALUCubeGrid;
00022 
00023   template< int dim, int dimworld >
00024   class ALUSimplexGrid;
00025 
00026 
00027 
00028   namespace Capabilities
00029   {
00030 
00031     // Capabilities for ALUCubeGrid
00032     // ----------------------------
00033 
00045     template< >
00046     struct hasSingleGeometryType< ALUCubeGrid< 3, 3 > >
00047     {
00048       static const bool v = true;
00049       static const unsigned int topologyId = GenericGeometry :: CubeTopology< 3 > :: type :: id ;
00050     };
00051 
00052   
00056     template< int cdim >
00057     struct hasEntity< ALUCubeGrid< 3, 3 >, cdim >
00058     {
00059       static const bool v = true;
00060     };
00061 
00065 #if ALU3DGRID_PARALLEL
00066     template<>
00067     struct isParallel< ALUCubeGrid< 3, 3 > >
00068     {
00069       static const bool v = true;
00070     };
00071 #endif
00072 
00076 #if ALU3DGRID_PARALLEL
00077     template< int codim >
00078     struct canCommunicate< ALUCubeGrid< 3, 3 >, codim >
00079     {
00080       static const bool v = true;
00081     };
00082 #endif
00083 
00087     template<>
00088     struct isLevelwiseConforming< ALUCubeGrid< 3, 3 > >
00089     {
00090       static const bool v = true;
00091     };
00092 
00096     template<>
00097     struct hasBackupRestoreFacilities< ALUCubeGrid< 3, 3 > >
00098     {
00099       static const bool v = true;
00100     };
00101 
00102 
00103 
00104     // Capabilities for ALUSimplexGrid
00105     // -------------------------------
00106 
00118     template< >
00119     struct hasSingleGeometryType< ALUSimplexGrid< 3, 3 > >
00120     {
00121       static const bool v = true;
00122       static const unsigned int topologyId = GenericGeometry :: SimplexTopology< 3 > :: type :: id ;
00123     };
00124 
00128     template< int cdim >
00129     struct hasEntity< ALUSimplexGrid< 3, 3 >, cdim >
00130     {
00131       static const bool v = true;
00132     };
00133 
00137 #if ALU3DGRID_PARALLEL
00138     template<>
00139     struct isParallel< ALUSimplexGrid< 3, 3 > >
00140     {
00141       static const bool v = true;
00142     };
00143 #endif
00144 
00148 #if ALU3DGRID_PARALLEL
00149     template< int codim >
00150     struct canCommunicate< ALUSimplexGrid< 3, 3 >, codim >
00151     {
00152       static const bool v = true;
00153     };
00154 #endif
00155 
00159     template<>
00160     struct isLevelwiseConforming< ALUSimplexGrid< 3, 3 > >
00161     {
00162       static const bool v = true;
00163     };
00164 
00168     template<>
00169     struct hasBackupRestoreFacilities< ALUSimplexGrid< 3, 3 > >
00170     {
00171       static const bool v = true;
00172     };
00173 
00174   } // end namespace Capabilities
00175 
00176 } //end  namespace Dune 
00177 
00178 #endif // #ifdef ENABLE_ALUGRID
00179 
00180 #endif

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].