1 #ifndef DUNE_FEM_BLOCKVECTORDISCRETEFUNCTION_HH
2 #define DUNE_FEM_BLOCKVECTORDISCRETEFUNCTION_HH
21 template<
typename DiscreteFunctionSpace,
typename BlockVector >
22 class BlockVectorDiscreteFunction;
46 template<
typename DiscreteFunctionSpace,
typename BlockVector >
63 template<
typename DiscreteFunctionSpace,
typename BlockVector >
151 std::pair< DofStorageInterface*, DofVectorType* > memPair(
152 allocateManagedDofStorage< DofVectorType >(
space.gridPart().grid(),
space.blockMapper() ) );
155 return *memPair.second;
Definition: bindguard.hh:11
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:67
std::unique_ptr< DofStorageInterface > memObject_
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:158
BlockVectorDiscreteFunction(ThisType &&other)
Move constructor.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:119
BlockVectorDiscreteFunction()=delete
DofVectorType & allocateDofStorage(const DiscreteFunctionSpaceType &space)
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:149
BlockVector BlockVectorType
type for the class which implements the block vector
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:76
DiscreteFunctionSpace DiscreteFunctionSpaceType
type for the discrete function space this function lives in
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:74
BlockVectorType DofVectorType
type for the class which implements the block vector (which is the dof vector)
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:78
const std::string & name() const
obtain the name of the discrete function
Definition: common/discretefunction.hh:685
DofVectorType & dofVector_
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:159
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:89
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:102
void enableDofCompression()
Enable this discrete function for dof compression, i.e. during grid changes a dof compression is done...
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:142
const DofVectorType & dofVector() const
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:130
ThisType & operator=(const ThisType &)=delete
DofVectorType & dofVector()
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:136
BlockVectorDiscreteFunction(const ThisType &other)
Copy constructor.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:110
void assign(const DiscreteFunctionType &g)
Definition: common/discretefunction.hh:809
Tag for discrete functions using block vectors.
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:36
MutableLocalFunction< DiscreteFunctionType > LocalFunctionType
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:51
BlockVectorDiscreteFunction< DiscreteFunctionSpace, BlockVector > DiscreteFunctionType
Definition: blockvectordiscretefunction/blockvectordiscretefunction.hh:50
Traits class for a DiscreteFunction.
Definition: common/discretefunction.hh:61
Definition: common/discretefunction.hh:578
const std::string & name() const
obtain the name of the discrete function
Definition: common/discretefunction.hh:685
void assign(const DiscreteFunctionInterface< DFType > &g)
Definition: discretefunction_inline.hh:133
const DiscreteFunctionSpaceType & space() const
obtain a reference to the corresponding DiscreteFunctionSpace
Definition: common/discretefunction.hh:703
Definition: common/discretefunction.hh:1064
Definition: common/scalarproducts.hh:73