5#ifndef DUNE_REFINED_P0_LOCALBASIS_HH
6#define DUNE_REFINED_P0_LOCALBASIS_HH
10#include <dune/common/fvector.hh>
11#include <dune/common/fmatrix.hh>
38 template<
class D,
class R,
int dim>
43 constexpr static int N = 1<<dim;
46 typedef LocalBasisTraits<D,dim,Dune::FieldVector<D,dim>,R,1,Dune::FieldVector<R,1>, Dune::FieldMatrix<R,1,dim> >
Traits;
56 std::vector<typename Traits::RangeType>& out)
const
58 int subElement = this->getSubElement(in);
60 for(
int i=0; i<N; ++i)
61 out[i] = (i==subElement) ? 1 : 0;
66 std::vector<typename Traits::JacobianType>& out)
const
69 for(
int i=0; i<N; ++i)
76 std::vector<typename Traits::RangeType>& out)
const
78 auto totalOrder = std::accumulate(
order.begin(),
order.end(), 0);
79 if (totalOrder == 0) {
83 for (std::size_t i = 0; i <
size(); ++i)
Contains a base class for LocalBasis classes based on uniform refinement.
Definition bdfmcube.hh:18
Type traits for LocalBasisVirtualInterface.
Definition common/localbasis.hh:35
D DomainType
domain type
Definition common/localbasis.hh:43
Definition refinedsimplexlocalbasis.hh:20
Uniformly refined constant shape functions on a unit simplex in R^dim.
Definition refinedp0localbasis.hh:41
void partial(const std::array< unsigned int, dim > &order, const typename Traits::DomainType &in, std::vector< typename Traits::RangeType > &out) const
Evaluate partial derivatives of all shape functions.
Definition refinedp0localbasis.hh:74
void evaluateFunction(const typename Traits::DomainType &in, std::vector< typename Traits::RangeType > &out) const
Evaluate all shape functions.
Definition refinedp0localbasis.hh:55
void evaluateJacobian(const typename Traits::DomainType &in, std::vector< typename Traits::JacobianType > &out) const
Definition refinedp0localbasis.hh:65
unsigned int order() const
Polynomial order of the shape functions.
Definition refinedp0localbasis.hh:92
LocalBasisTraits< D, dim, Dune::FieldVector< D, dim >, R, 1, Dune::FieldVector< R, 1 >, Dune::FieldMatrix< R, 1, dim > > Traits
export type traits for function signature
Definition refinedp0localbasis.hh:46
unsigned int size() const
number of shape functions
Definition refinedp0localbasis.hh:49