13#ifndef DUMUX_DISCRETIZATION_FE_GRID_GEOMETRY_HH
14#define DUMUX_DISCRETIZATION_FE_GRID_GEOMETRY_HH
16#include <unordered_map>
35template<
class FEBasis,
class MapperTraits = DefaultMapperTraits<
typename FEBasis::Gr
idView>>
38 template<
class Gr
idGeometry>
49template<
class FEB,
class Traits = DefaultFEGr
idGeometryTraits<FEB>>
80 DUNE_THROW(Dune::InvalidStateException,
"The finite element discretization method only works with zero overlap for parallel computations. "
81 <<
" Set the parameter \"Grid.Overlap\" in the input file.");
86 {
return feBasis_->size(); }
94 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
98 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
101 [[deprecated(
"Will be removed after release 3.9. Implement periodicDofMap() if periodic bcs are supported.")]]
103 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
106 std::shared_ptr<FEBasis> feBasis_;
Base class for grid geometries.
Check the overlap size for different discretization methods.
Base class for all grid geometries.
Definition: basegridgeometry.hh:52
const GridView & gridView() const
Return the gridView this grid geometry object lives on.
Definition: basegridgeometry.hh:100
Grid geometry local view, which is a wrapper around a finite element basis local view.
Definition: feelementgeometry.hh:29
The grid geometry class for models using finite element schemes. This is basically a wrapper around a...
Definition: fegridgeometry.hh:52
GridIndexType periodicallyMappedDof(GridIndexType dofIdx) const
The index of the vertex / d.o.f. on the other side of the periodic boundary.
Definition: fegridgeometry.hh:97
const FEBasis & feBasis() const
The total number of degrees of freedom.
Definition: fegridgeometry.hh:89
auto numDofs() const
The total number of degrees of freedom.
Definition: fegridgeometry.hh:85
typename Traits::template LocalView< ThisType > LocalView
export local view
Definition: fegridgeometry.hh:71
FEB FEBasis
export the type of finite element basis
Definition: fegridgeometry.hh:69
bool dofOnPeriodicBoundary(GridIndexType dofIdx) const
If a vertex / d.o.f. is on a periodic boundary.
Definition: fegridgeometry.hh:93
Extrusion_t< Traits > Extrusion
export the type of extrusion
Definition: fegridgeometry.hh:67
typename FEB::GridView GridView
export the grid view type
Definition: fegridgeometry.hh:65
const std::unordered_map< GridIndexType, GridIndexType > & periodicVertexMap() const
Returns the map between dofs across periodic boundaries.
Definition: fegridgeometry.hh:102
static constexpr DiscretizationMethod discMethod
Definition: fegridgeometry.hh:62
FEGridGeometry(std::shared_ptr< FEBasis > feBasis)
Constructor.
Definition: fegridgeometry.hh:74
Defines the default element and vertex mapper types.
Helper classes to compute the integration elements.
Grid geometry local view, which is a wrapper around a finite element basis local view.
The available discretization methods in Dumux.
typename Extrusion< T >::type Extrusion_t
Convenience alias for obtaining the extrusion type.
Definition: extrusion.hh:166
Check if the overlap size is valid for a given discretization method.
Definition: checkoverlapsize.hh:28
Default Traits class for the fem grid geometry.
Definition: fegridgeometry.hh:37
Definition: method.hh:122
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:27
unsigned int LocalIndex
Definition: indextraits.hh:28