13#ifndef CONSTANTSPACE_HH
14#define CONSTANTSPACE_HH
32 template <
class ScalarType,
class GV>
41 typedef typename GridView::Grid
Grid;
43 using ctype =
typename GridView::ctype;
45 static int const dim = Grid::dimension;
75 : indexSet(gridView.indexSet())
79 sortedIdx[0] = std::make_pair(0,0);
86 return lagrangeShapeFunctionSet<ctype,dim,Scalar>(Dune::GeometryType(Dune::GeometryType::simplex,
dim),0);
92 Dune::GeometryType gt(0,
dim,
false);
93 return lagrangeShapeFunctionSet<ctype,dim,Scalar>(gt,0);
140 static std::vector<IndexPair> dummy;
163 size_t size()
const {
return 1; }
188 template <
class Scalar>
216 template <
class Matrix>
220 template <
int n,
int m>
224 template <
class Matrix>
229 operator Dune::BCRSMatrix<Dune::FieldMatrix<Scalar,1,1> >()
const
232 K.incrementrowsize(0);
259 std::vector<size_t> globIdx;
260 std::vector<IndexPair> sortedIdx;
A class implementing a matrix mapping a subset of global degrees of freedom (those given by globalIn...
Combiner(Cell const &cell)
void leftPseudoInverse(Matrix &) const
In-place computation of .
void rightTransform(Matrix &) const
In-place computation of . Since is the identity, this is a no-op.
void rightTransform(std::vector< VariationalArg< Scalar, n, m > > &) const
In-place computation of row vectors .
A class mapping local shape function values and derivatives to global shape function values and deriv...
Dune::FieldMatrix< Scalar, 1, 1 > local(Dune::FieldMatrix< Scalar, 1, 1 > const &glob) const
void moveTo(Cell const &)
VariationalArg< Scalar, dim, 1 > global(VariationalArg< Scalar, dim, 1 > const &sf, int deriv=1) const
Applies the transformation to shape function value, derivative, and Hessian, returning a filled Vari...
void setLocalPosition(Dune::FieldVector< ctype, Grid::dimension > const &)
Dune::FieldMatrix< Scalar, 1, 1 > global(Dune::FieldMatrix< Scalar, 1, 1 > const &sf) const
Applies the transformation to shape function value.
ShapeFunctionSet const & shapefunctions(size_t) const
GlobalIndexRange globalIndices(size_t) const
Returns a const sequence containing the global indices of the shape functions associated to this cell...
GridView::IndexSet IndexSet
GlobalIndexRange initGlobalIndexRange() const
Returns an empty range just for initialization purposes, since RangeView is not default constructible...
int maxOrder() const
Returns the maximal polynomial order of shape functions encountered in any cell.
void update()
Recomputes the internal information after grid changes. Since there is no internal state of this triv...
GlobalIndexRange globalIndices(typename Grid::template Codim< 0 >::Entity const &) const
Returns a const sequence containing the global indices of the shape functions associated to this cell...
ConstantMapper(GridView const &gridView)
RangeView< SortedIndexIterator > SortedIndexRange
Combiner combiner(Cell const &cell, size_t index) const
std::vector< IndexPair >::const_iterator SortedIndexIterator
LagrangeSimplexShapeFunctionSet< ctype, dim, ScalarType > ShapeFunctionSetImplementation
Kaskade::Cell< GridView > Cell
RangeView< std::vector< size_t >::const_iterator > GlobalIndexRange
virtual ~ConstantMapper()
SortedIndexRange sortedIndices(size_t) const
Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index o...
static int const maxLocalSize
LagrangeShapeFunctionSetContainer< ctype, dim, ScalarType >::value_type ShapeFunctionSet
ShapeFunctionSet const & shapefunctions(Cell const &cell) const
std::pair< size_t, int > IndexPair
typename GridView::ctype ctype
static int const continuity
Continuity index. Since constant functions are , even analytic, this is infinity (or as close as int ...
static bool const globalSupport
Whether the ansatz functions have global support (i.e. lead to dense matrices).
size_t size() const
Returns the number of global degrees of freedom managed.
SortedIndexRange sortedIndices(Cell const &) const
Returns an immutable sequence of (global index, local index) pairs sorted in ascending global index o...
static SortedIndexRange initSortedIndexRange()
Returns an empty range just for initialization, since RangeView is not default constructible.
A class for representing finite element functions.
A container of Lagrange shape functions of order Ord on the unit simplex of grid dimension....
DEPRECATED. Use boost::iterator_range instead.
A set of shape functions.
FEFunctionSpace and FunctionSpaceElement and the like.
typename GridView::template Codim< 0 >::Entity Cell
The type of cells (entities of codimension 0) in the grid view.
Dune::FieldVector< T, n > max(Dune::FieldVector< T, n > x, Dune::FieldVector< T, n > const &y)
Componentwise maximum.
define Lagrange type shape functions for simplicial elements of arbitrary dimension and order
typename GetScalar< Type >::type ScalarType
Extracts the scalar field type from linear algebra data types.
FunctionSpaceElement< FEFunctionSpace< Self >, m > type
A class that stores values, gradients, and Hessians of evaluated shape functions.
Dune::FieldMatrix< Scalar, components, dim > derivative
The shape function's spatial derivative, a components x dim matrix.
ValueType value
The shape function's value, a vector of dimension components
Tensor< Scalar, components, dim, dim > hessian