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 std::shared_ptr<FEBasis> feBasis_;
Base class for grid geometries.
Check the overlap size for different discretization methods.
const GridView & gridView() const
Definition basegridgeometry.hh:100
Grid geometry local view, which is a wrapper around a finite element basis local view.
Definition feelementgeometry.hh:29
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
DiscretizationMethods::FEM DiscretizationMethod
Definition fegridgeometry.hh:61
const FEBasis & feBasis() const
Definition fegridgeometry.hh:89
auto numDofs() const
The total number of degrees of freedom.
Definition fegridgeometry.hh:85
typename Traits::template LocalView< ThisType > LocalView
Definition fegridgeometry.hh:71
FEB FEBasis
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
Definition fegridgeometry.hh:67
typename FEB::GridView GridView
Definition fegridgeometry.hh:65
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.
BaseGridGeometry(std::shared_ptr< BaseImplementation > impl)
Constructor from a BaseImplementation.
Definition basegridgeometry.hh:72
The available discretization methods in Dumux.
typename Extrusion< T >::type Extrusion_t
Convenience alias for obtaining the extrusion type.
Definition extrusion.hh:166
static bool isValid(const GridView &gridView) noexcept
Definition checkoverlapsize.hh:30
Default Traits class for the fem grid geometry.
Definition fegridgeometry.hh:37
FEElementGeometry< GridGeometry > LocalView
Definition fegridgeometry.hh:39
typename GridView::IndexSet::IndexType GridIndex
Definition indextraits.hh:27
unsigned int LocalIndex
Definition indextraits.hh:28