1#ifndef DUNE_FEM_BLOCKVECTORDISCRETEFUNCTION_HH
2#define DUNE_FEM_BLOCKVECTORDISCRETEFUNCTION_HH
20 template<
typename DiscreteFunctionSpace,
typename BlockVector >
21 class BlockVectorDiscreteFunction;
45 template<
typename DiscreteFunctionSpace,
typename BlockVector >
62 template<
typename DiscreteFunctionSpace,
typename BlockVector >
150 std::pair< DofStorageInterface*, DofVectorType* > memPair(
151 allocateManagedDofStorage< DofVectorType >(
space.gridPart().grid(),
space.blockMapper() ) );
154 return *memPair.second;
Definition: bindguard.hh:11
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:66
ThisType & operator=(const ThisType &)=delete
DofVectorType & dofVector()
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:135
std::unique_ptr< DofStorageInterface > memObject_
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:157
BlockVectorDiscreteFunction(ThisType &&other)
Move constructor.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:118
DofVectorType & allocateDofStorage(const DiscreteFunctionSpaceType &space)
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:148
const DofVectorType & dofVector() const
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:129
BlockVectorDiscreteFunction()=delete
BlockVector BlockVectorType
type for the class which implements the block vector
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:75
DiscreteFunctionSpace DiscreteFunctionSpaceType
type for the discrete function space this function lives in
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:73
const std::string & name() const
obtain the name of the discrete function
Definition: common/discretefunction.hh:691
BlockVectorType DofVectorType
type for the class which implements the block vector (which is the dof vector)
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:77
DofVectorType & dofVector_
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:158
BlockVectorDiscreteFunction(const std::string &name, const DiscreteFunctionSpaceType &space, DofVectorType &dofVector)
Constructor to use if the vector storing the dofs (which is a block vector) already exists.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:88
BlockVectorDiscreteFunction(const std::string &name, const DiscreteFunctionSpaceType &space)
Constructor to use if the vector storing the dofs does not exist yet.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:101
void enableDofCompression()
Enable this discrete function for dof compression, i.e. during grid changes a dof compression is done...
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:141
void assign(const DiscreteFunctionInterface< DFType > &g)
Definition: discretefunction_inline.hh:132
BlockVectorDiscreteFunction(const ThisType &other)
Copy constructor.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:109
Tag for discrete functions using block vectors.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:35
MutableLocalFunction< DiscreteFunctionType > LocalFunctionType
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:50
BlockVectorDiscreteFunction< DiscreteFunctionSpace, BlockVector > DiscreteFunctionType
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:49
Traits class for a DiscreteFunction.
Definition: common/discretefunction.hh:61
Definition: common/discretefunction.hh:584
const DiscreteFunctionSpaceType & space() const
obtain a reference to the corresponding DiscreteFunctionSpace
Definition: common/discretefunction.hh:709
const std::string & name() const
obtain the name of the discrete function
Definition: common/discretefunction.hh:691
void assign(const DiscreteFunctionInterface< DFType > &g)
Definition: discretefunction_inline.hh:132
Definition: common/discretefunction.hh:1081
Definition: common/scalarproducts.hh:73