1#ifndef DUNE_MULTIDOMAINGRID_HH 
    2#define DUNE_MULTIDOMAINGRID_HH 
    4#include <dune/common/parallel/communication.hh> 
    5#include <dune/grid/multidomaingrid/multidomaingrid.hh> 
    6#include <dune/grid/multidomaingrid/multidomainmcmgmapper.hh> 
    7#include <dune/grid/multidomaingrid/factory.hh> 
    8#include <dune/grid/multidomaingrid/gmshreader.hh> 
   12using mdgrid::MultiDomainGrid;
 
   13using mdgrid::MultiDomainMCMGMapper;
 
   16namespace Capabilities {
 
   18  template<
typename Gr
id>
 
   21    static const bool v = 
true;
 
   29namespace Capabilities {
 
   31  template<
class HostGr
id, 
typename MDGr
idTraits, 
int codim>
 
   32  struct hasEntity<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
 
   34    static const bool v = hasEntity<HostGrid,codim>::v;
 
   37  template<
class HostGr
id, 
typename MDGr
idTraits, 
int codim>
 
   38  struct hasEntityIterator<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
 
   40    static const bool v = hasEntityIterator<HostGrid,codim>::v;
 
   43  template<
class HostGr
id, 
typename MDGr
idTraits, 
int codim>
 
   44  struct canCommunicate<MultiDomainGrid<HostGrid,MDGridTraits>, codim>
 
   46    static const bool v = canCommunicate<HostGrid,codim>::v;
 
   50  template<
class HostGr
id, 
typename MDGr
idTraits>
 
   51  struct isLevelwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
 
   53    static const bool v = isLevelwiseConforming<HostGrid>::v;
 
   57  template<
class HostGr
id, 
typename MDGr
idTraits>
 
   58  struct isLeafwiseConforming<MultiDomainGrid<HostGrid,MDGridTraits> >
 
   60    static const bool v = isLeafwiseConforming<HostGrid>::v;
 
   64  template<
class HostGr
id, 
typename MDGr
idTraits>
 
   65  struct hasBackupRestoreFacilities<MultiDomainGrid<HostGrid,MDGridTraits> >
 
   67    static const bool v = 
false;
 
   71  template<
typename HostGr
id, 
typename MDGr
idTraits>
 
   72  struct threadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
 
   74    static const bool v = 
false;
 
   78  template<
typename HostGr
id, 
typename MDGr
idTraits>
 
   79  struct viewThreadSafe<MultiDomainGrid<HostGrid,MDGridTraits> >
 
   81    static const bool v = viewThreadSafe<HostGrid>::v;
 
   85  template<
typename HostGr
id, 
typename MDGr
idTraits>
 
   86  struct hasSingleGeometryType<MultiDomainGrid<HostGrid,MDGridTraits> >
 
   88    static const bool v = hasSingleGeometryType<HostGrid>::v;
 
   89    static const unsigned int topologyId = hasSingleGeometryType<HostGrid>::topologyId;
 
   93  template<
typename HostGr
id, 
typename MDGr
idTraits, 
int codim>
 
   94  struct hasGeometry<MultiDomainGrid<HostGrid,MDGridTraits>,codim>
 
   96    static const bool v = hasGeometry<HostGrid,codim>::v;
 
  105namespace Capabilities {
 
  107  template<
class MDGr
id, 
int codim>
 
  108  struct hasEntity<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
 
  110    static const bool v = hasEntity<MDGrid,codim>::v;
 
  113  template<
class MDGr
id, 
int codim>
 
  114  struct hasEntityIterator<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
 
  116    static const bool v = hasEntityIterator<MDGrid,codim>::v;
 
  119  template<
class MDGr
id, 
int codim>
 
  120  struct canCommunicate<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>, codim>
 
  122    static const bool v = canCommunicate<MDGrid,codim>::v;
 
  126  template<
class MDGr
id>
 
  127  struct isLevelwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
 
  129    static const bool v = isLevelwiseConforming<MDGrid>::v;
 
  133  template<
class MDGr
id>
 
  134  struct isLeafwiseConforming<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
 
  136    static const bool v = isLeafwiseConforming<MDGrid>::v;
 
  140  template<
class MDGr
id>
 
  141  struct hasBackupRestoreFacilities<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
 
  143    static const bool v = 
false;
 
  147  template<
typename MDGr
id>
 
  148  struct threadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
 
  150    static const bool v = 
false;
 
  154  template<
typename MDGr
id>
 
  155  struct viewThreadSafe<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
 
  157    static const bool v = viewThreadSafe<MDGrid>::v;
 
  161  template<
typename MDGr
id>
 
  162  struct hasSingleGeometryType<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid> >
 
  164    static const bool v = hasSingleGeometryType<MDGrid>::v;
 
  165    static const unsigned int topologyId = hasSingleGeometryType<MDGrid>::topologyId;
 
  168  template<
typename MDGr
id, 
int codim>
 
  169  struct hasGeometry<Dune::mdgrid::subdomain::SubDomainGrid<MDGrid>,codim >
 
  171    static const bool v = hasGeometry<MDGrid,codim>::v;