25#ifndef DUMUX_DISCRETIZATION_FE_GRID_GEOMETRY_HH
26#define DUMUX_DISCRETIZATION_FE_GRID_GEOMETRY_HH
28#include <unordered_map>
47template<
class FEBasis,
class MapperTraits = DefaultMapperTraits<
typename FEBasis::Gr
idView>>
50 template<
class Gr
idGeometry>
61template<
class FEB,
class Traits = DefaultFEGr
idGeometryTraits<FEB>>
92 DUNE_THROW(Dune::InvalidStateException,
"The finite element discretization method only works with zero overlap for parallel computations. "
93 <<
" Set the parameter \"Grid.Overlap\" in the input file.");
98 {
return feBasis_->size(); }
102 {
return *feBasis_; }
106 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
110 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
114 { DUNE_THROW(Dune::NotImplemented,
"Periodic BC support for FEM schemes"); }
117 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.
Helper classes to compute the integration elements.
Base class for grid geometries.
Adaption of the non-isothermal two-phase two-component flow model to problems with CO2.
Definition: adapt.hh:29
typename Extrusion< T >::type Extrusion_t
Convenience alias for obtaining the extrusion type.
Definition: extrusion.hh:251
typename GridView::IndexSet::IndexType GridIndex
Definition: indextraits.hh:39
unsigned int LocalIndex
Definition: indextraits.hh:40
Base class for all grid geometries.
Definition: basegridgeometry.hh:61
const GridView & gridView() const
Return the gridView this grid geometry object lives on.
Definition: basegridgeometry.hh:109
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:41
Default Traits class for the fem grid geometry.
Definition: fegridgeometry.hh:49
The grid geometry class for models using finite element schemes. This is basically a wrapper around a...
Definition: fegridgeometry.hh:64
GridIndexType periodicallyMappedDof(GridIndexType dofIdx) const
The index of the vertex / d.o.f. on the other side of the periodic boundary.
Definition: fegridgeometry.hh:109
const FEBasis & feBasis() const
The total number of degrees of freedom.
Definition: fegridgeometry.hh:101
auto numDofs() const
The total number of degrees of freedom.
Definition: fegridgeometry.hh:97
typename Traits::template LocalView< ThisType > LocalView
export local view
Definition: fegridgeometry.hh:83
FEB FEBasis
export the type of finite element basis
Definition: fegridgeometry.hh:81
bool dofOnPeriodicBoundary(GridIndexType dofIdx) const
If a vertex / d.o.f. is on a periodic boundary.
Definition: fegridgeometry.hh:105
Extrusion_t< Traits > Extrusion
export the type of extrusion
Definition: fegridgeometry.hh:79
typename FEB::GridView GridView
export the grid view type
Definition: fegridgeometry.hh:77
const std::unordered_map< GridIndexType, GridIndexType > & periodicVertexMap() const
Returns the map between dofs across periodic boundaries.
Definition: fegridgeometry.hh:113
static constexpr DiscretizationMethod discMethod
Definition: fegridgeometry.hh:74
FEGridGeometry(std::shared_ptr< FEBasis > feBasis)
Constructor.
Definition: fegridgeometry.hh:86
Definition: method.hh:111