![]() |
Dune-Functions 2.12-git
|
Loading...
Searching...
No Matches
raviartthomasbasis.hh
Go to the documentation of this file.
129 constexpr static bool hasFixedElementType = Capabilities::hasSingleGeometryType<typename GV::Grid>::v;
132 using SimplexFiniteElement = typename RaviartThomasSimplexLocalInfo<dim, D, R, k>::FiniteElement;
133 using PyramidFiniteElement = typename RaviartThomasPyramidLocalInfo<dim, D, R, k>::FiniteElement;
138 using T = LocalBasisTraits<D, dim, FieldVector<D,dim>, R, dim, FieldVector<R,dim>, FieldMatrix<D,dim,dim> >;
140 constexpr static unsigned int topologyId = Capabilities::hasSingleGeometryType<typename GV::Grid>::topologyId; // meaningless if hasFixedElementType is false
146 LocalFiniteElementVariant<CubeFiniteElement, SimplexFiniteElement, PyramidFiniteElement, PrismFiniteElement>,
188 variants_.resize(numVariantsSimplex + numVariantsCube + numVariantsPyramid + numVariantsPrism );
193 variants_[i + numVariantsSimplex + numVariantsCube + numVariantsPyramid] = PrismFiniteElement(i);
205 if (intersection.neighbor() && (gv.contains(intersection.outside())) && (elementMapper_.index(intersection.outside()) > myId))
296 // Currently there are some unresolved bugs with hybrid grids and higher order Raviart-Thomas elements
298 DUNE_THROW(Dune::NotImplemented, "Raviart-Thomas basis with index k>0 is only implemented for grids with a single element type");
302 DUNE_THROW(Dune::NotImplemented, "Raviart-Thomas elements are only implemented for grids with simplex, cube, pyramid or prism elements.");
337 using FiniteElement = Impl::GlobalValuedLocalFiniteElement<Impl::ContravariantPiolaTransformator,
Hierarchy< Domain, A >::Iterator update
auto raviartThomas()
Create a pre-basis factory that can create a Raviart-Thomas pre-basis.
Definition raviartthomasbasis.hh:386
size_type dim() const
#define DUNE_THROW(E,...)
constexpr Base power(Base m, Exponent p)
IteratorRange<... > intersections(const GV &gv, const Entity &e)
IteratorRange<... > elements(const GV &gv)
MCMGLayout mcmgElementLayout()
GeometryType
static const bool v
static const unsigned int topologyId
Global basis for given pre-basis.
Definition defaultglobalbasis.hh:53
A generic MixIn class for PreBasis with flat indices computed from a mapper.
Definition leafprebasismappermixin.hh:62
void update(const GridView &gv)
Update the stored GridView.
Definition leafprebasismappermixin.hh:101
Definition nodes.hh:214
Definition raviartthomasbasis.hh:329
typename Impl::RaviartThomasLocalFiniteElementMap< GV, dim, double, k > FiniteElementMap
Definition raviartthomasbasis.hh:336
void bind(const Element &e)
Bind to element.
Definition raviartthomasbasis.hh:362
Impl::GlobalValuedLocalFiniteElement< Impl::ContravariantPiolaTransformator, typename FiniteElementMap::FiniteElement, Element > FiniteElement
Definition raviartthomasbasis.hh:339
typename GV::template Codim< 0 >::Entity Element
Definition raviartthomasbasis.hh:335
const Element * element_
Definition raviartthomasbasis.hh:372
const FiniteElement & finiteElement() const
Return the LocalFiniteElement for the element we are bound to.
Definition raviartthomasbasis.hh:356
RaviartThomasNode(const FiniteElementMap *finiteElementMap)
Definition raviartthomasbasis.hh:341
const Element & element() const
Return current element, throw if unbound.
Definition raviartthomasbasis.hh:347
FiniteElement finiteElement_
Definition raviartthomasbasis.hh:371
const FiniteElementMap * finiteElementMap_
Definition raviartthomasbasis.hh:373
Definition raviartthomasbasis.hh:263
Node makeNode() const
Create tree node.
Definition raviartthomasbasis.hh:315
void update(const GridView &gv)
Update the stored grid view, to be called if the grid has changed.
Definition raviartthomasbasis.hh:306
RaviartThomasPreBasis(const GridView &gv)
Constructor for a given grid view object.
Definition raviartthomasbasis.hh:292
FiniteElementMap finiteElementMap_
Definition raviartthomasbasis.hh:321
GV GridView
The grid view that the FE space is defined on.
Definition raviartthomasbasis.hh:286
T find(T... args)
