25#ifndef DUMUX_DISCRETIZATION_FE_GRID_GEOMETRY_HH
26#define DUMUX_DISCRETIZATION_FE_GRID_GEOMETRY_HH
44template<
class FEBasis,
class MapperTraits = DefaultMapperTraits<
typename FEBasis::Gr
idView>>
47 template<
class Gr
idGeometry>
58template<
class FEB,
class Traits = DefaultFEGr
idGeometryTraits<FEB>>
86 DUNE_THROW(Dune::InvalidStateException,
"The finite element discretization method only works with zero overlap for parallel computations. "
87 <<
" Set the parameter \"Grid.Overlap\" in the input file.");
92 {
return feBasis_->size(); }
100 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
104 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
108 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
111 std::shared_ptr<FEBasis> feBasis_;
Defines the index types used for grid and local indices.
Defines the default element and vertex mapper types.
The available discretization methods in Dumux.
Grid geometry local view, which is a wrapper around a finite element basis local view.
Check the overlap size for different discretization methods.
Base class for grid geometries.
DiscretizationMethod
The available discretization methods in Dumux.
Definition: method.hh:37
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:39
unsigned int LocalIndex
Definition: indextraits.hh:40
Base class for all finite volume grid geometries.
Definition: basegridgeometry.hh:49
const GridView & gridView() const
Return the gridView this grid geometry object lives on.
Definition: basegridgeometry.hh:107
Check if the overlap size is valid for a given discretization method.
Definition: checkoverlapsize.hh:40
Grid geometry local view, which is a wrapper around a finite element basis local view.
Definition: feelementgeometry.hh:39
Default Traits class for the fem grid geometry.
Definition: fegridgeometry.hh:46
The grid geometry class for models using finite element schemes. This is basically a wrapper around a...
Definition: fegridgeometry.hh:61
GridIndexType periodicallyMappedDof(GridIndexType dofIdx) const
The index of the vertex / d.o.f. on the other side of the periodic boundary.
Definition: fegridgeometry.hh:103
const FEBasis & feBasis() const
The total number of degrees of freedom.
Definition: fegridgeometry.hh:95
auto numDofs() const
The total number of degrees of freedom.
Definition: fegridgeometry.hh:91
typename Traits::template LocalView< ThisType > LocalView
export local view
Definition: fegridgeometry.hh:77
FEB FEBasis
export the type of finite element basis
Definition: fegridgeometry.hh:75
bool dofOnPeriodicBoundary(GridIndexType dofIdx) const
If a vertex / d.o.f. is on a periodic boundary.
Definition: fegridgeometry.hh:99
typename FEB::GridView GridView
export the grid view type
Definition: fegridgeometry.hh:73
const std::unordered_map< GridIndexType, GridIndexType > & periodicVertexMap() const
Returns the map between dofs across periodic boundaries.
Definition: fegridgeometry.hh:107
static constexpr DiscretizationMethod discMethod
export discretization method
Definition: fegridgeometry.hh:70
FEGridGeometry(std::shared_ptr< FEBasis > feBasis)
Constructor.
Definition: fegridgeometry.hh:80