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 default element and vertex mapper types.
Defines the index types used for grid and local indices.
Grid geometry local view, which is a wrapper around a finite element basis local view.
Check the overlap size for different discretization methods.
The available discretization methods in Dumux.
Base class for grid geometries.
BaseGridGeometry(const GridView &gridView)
Constructor computes the bouding box of the entire domain, for e.g. setting boundary conditions.
Definition basegridgeometry.hh:77
DiscretizationMethod
The available discretization methods in Dumux.
Definition method.hh:37
@ fem
Definition method.hh:38
typename GridView::IndexSet::IndexType GridIndex
Definition indextraits.hh:39
unsigned int LocalIndex
Definition indextraits.hh:40
const GridView & gridView() const
Definition basegridgeometry.hh:107
static bool isValid(const GridView &gridView) noexcept
Definition checkoverlapsize.hh:42
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
FEElementGeometry< GridGeometry > LocalView
Definition fegridgeometry.hh:48
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
Definition fegridgeometry.hh:95
auto numDofs() const
The total number of degrees of freedom.
Definition fegridgeometry.hh:91
typename Traits::template LocalView< ThisType > LocalView
Definition fegridgeometry.hh:77
FEB FEBasis
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
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
Definition fegridgeometry.hh:70
FEGridGeometry(std::shared_ptr< FEBasis > feBasis)
Constructor.
Definition fegridgeometry.hh:80