dune-fem  2.8-git
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Related Functions | List of all members
Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector > Class Template Reference

#include <dune/fem/function/vectorfunction/vectorfunction.hh>

Inheritance diagram for Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >:
Inheritance graph

Public Types

typedef Vector VectorType
 
typedef BaseType ::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef BaseType ::DofVectorType DofVectorType
 
typedef DofVectorType ::DofContainerType DofContainerType
 
typedef BaseType ::DofType DofType
 
typedef BaseType ::Traits Traits
 
typedef VectorDiscreteFunction< DiscreteFunctionSpace, Vector > DiscreteFunctionType
 type of the discrete function (Barton-Nackman parameter) More...
 
typedef BaseType::DiscreteFunctionInterfaceType DiscreteFunctionInterfaceType
 
typedef BaseType::GridPartType GridPartType
 type of the underlying grid part More...
 
typedef DiscreteFunctionSpaceType ::DomainType DomainType
 type of domain vector More...
 
typedef DiscreteFunctionSpaceType ::RangeType RangeType
 type of range vector More...
 
typedef DiscreteFunctionSpaceType ::JacobianRangeType JacobianRangeType
 type of jacobian More...
 
typedef DiscreteFunctionSpaceType ::HessianRangeType HessianRangeType
 type of hessian More...
 
typedef DiscreteFunctionSpaceType ::DomainFieldType DomainFieldType
 type of domain field (usually a float type) More...
 
typedef DiscreteFunctionSpaceType ::RangeFieldType RangeFieldType
 type of range field (usually a float type) More...
 
typedef Traits ::DofIteratorType DofIteratorType
 type of the dof iterator More...
 
typedef Traits ::ConstDofIteratorType ConstDofIteratorType
 type of the const dof iterator More...
 
typedef Traits ::LocalDofVectorType LocalDofVectorType
 type of LocalDofVector More...
 
typedef Traits ::LocalDofVectorAllocatorType LocalDofVectorAllocatorType
 type of LocalDofVector More...
 
typedef BaseType ::LocalFunctionType LocalFunctionType
 type of local functions More...
 
typedef LocalFunctionType::LocalCoordinateType LocalCoordinateType
 
typedef BaseType ::DofBlockType DofBlockType
 
typedef BaseType ::ConstDofBlockType ConstDofBlockType
 
typedef BaseType ::DofBlockPtrType DofBlockPtrType
 
typedef BaseType ::ConstDofBlockPtrType ConstDofBlockPtrType
 
typedef BaseType ::EntityType EntityType
 
typedef DofVectorType::SizeType SizeType
 size type of the block vector More...
 
typedef DiscreteFunctionSpaceType ::FunctionSpaceType FunctionSpaceType
 type of associated function space More...
 
typedef GridPartType::GridViewType GridView
 
typedef DiscreteFunctionSpaceType ::GridType GridType
 type of the underlying grid More...
 
typedef BaseType ::MappingType MappingType
 type of mapping base class for this discrete function More...
 
typedef DiscreteFunctionSpaceType::LocalBlockIndices BlockIndices
 
typedef LoadBalanceLeafData< ThisTypeDefaultLoadBalanceContainsCheckType
 
typedef VectorDiscreteFunction< DiscreteFunctionSpace, Vector > FunctionType
 type of the implementation (Barton-Nackman) More...
 

Public Member Functions

 VectorDiscreteFunction (const std::string &name, const DiscreteFunctionSpaceType &space, VectorType &dofVector)
 Constructor to use if the vector storing the dofs already exists. More...
 
 VectorDiscreteFunction (const ThisType &other)
 Copy constructor. More...
 
 VectorDiscreteFunction (ThisType &&other)
 Move constructor. More...
 
 VectorDiscreteFunction ()=delete
 
ThisTypeoperator= (const ThisType &)=delete
 
ThisTypeoperator= (ThisType &&)=delete
 
DofVectorTypedofVector ()
 
const DofVectorTypedofVector () const
 
template<class DFType >
void assign (const DiscreteFunctionInterface< DFType > &g)
 
void assign (const DiscreteFunctionType &g)
 
const std::string & name () const
 obtain the name of the discrete function More...
 
std::string & name ()
 obtain the name of the discrete function More...
 
constexpr int order () const
 obtain an upper bound on the polynomial order of the underlying space. More...
 
bool continuous () const
 returns true if the space contains only globally continuous functions More...
 
const DiscreteFunctionSpaceTypespace () const
 obtain a reference to the corresponding DiscreteFunctionSpace More...
 
const GridPartTypegridPart () const
 obtain a reference to the underlying grid part More...
 
LocalFunctionType localFunction (const EntityType &entity)
 obtain a local function for an entity (read-write) More...
 
const LocalFunctionType localFunction (const EntityType &entity) const
 obtain a local function for an entity (read-write) More...
 
LocalFunctionType localFunction ()
 obtain an uninitialized local function (read-write) More...
 
const LocalFunctionType localFunction () const
 obtain an uninitialized local function (read-write) More...
 
LocalFunctionType localFunction (const EntityType &entity)
 obtain a local function for an entity (read-write) More...
 
const LocalFunctionType localFunction (const EntityType &entity) const
 obtain a local function for an entity (read-write) More...
 
void clear ()
 set all degrees of freedom to zero More...
 
int blocks () const
 obtain total number of blocks, i.e. size / blockSize. More...
 
DofBlockPtrType block (unsigned int index)
 
ConstDofBlockPtrType block (unsigned int index) const
 
SizeType size () const
 Return the number of blocks in the block vector. More...
 
ConstDofIteratorType dbegin () const
 Obtain the constant iterator pointing to the first dof. More...
 
DofIteratorType dbegin ()
 Obtain the non-constant iterator pointing to the first dof. More...
 
ConstDofIteratorType dend () const
 Obtain the constant iterator pointing to the last dof. More...
 
DofIteratorType dend ()
 Obtain the non-constant iterator pointing to the last dof. More...
 
void axpy (const RangeFieldType &s, const DiscreteFunctionInterface< DFType > &g)
 axpy operation More...
 
void axpy (const RangeFieldType &s, const DiscreteFunctionInterfaceType &g)
 axpy operation More...
 
RangeFieldType scalarProductDofs (const DiscreteFunctionInterface< DFType > &other) const
 Scalar product between the DoFs of two discrete functions. More...
 
Dune::FieldTraits< RangeFieldType >::real_type normSquaredDofs () const
 Squared small l^2 norm of all dofs. More...
 
void print (std ::ostream &out) const
 print all DoFs to a stream (for debugging purposes) More...
 
bool dofsValid () const
 check for NaNs More...
 
void assign (const DiscreteFunctionInterface< DFType > &g)
 
void assign (const DiscreteFunctionType &g)
 
CommDataHandle< Operation >::Type dataHandle (const Operation &operation)
 return reference to data handle object More...
 
DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::template CommDataHandle< Operation >::Type dataHandle (const Operation &operation)
 
void communicate ()
 do default communication of space for this discrete function More...
 
void evaluate (const DomainType &x, RangeType &value) const
 evaluate the function More...
 
void jacobian (const DomainType &x, JacobianRangeType &jacobian) const
 evaluate the Jacobian of the function More...
 
void jacobian (const DomainType &x, JacobianRangeType &jacobian) const
 evaluate the Jacobian of the function More...
 
void hessian (const DomainType &x, HessianRangeType &hessian) const
 evaluate the hessian of the function (const DomainType &x,HessianRangeType &hessian) const More...
 
void hessian (const DomainType &x, HessianRangeType &hessian) const
 evaluate the hessian of the function More...
 
DiscreteFunctionTypeoperator+= (const DiscreteFunctionInterface< DFType > &g)
 add another discrete function to this one More...
 
DiscreteFunctionTypeoperator+= (const DiscreteFunctionType &g)
 add another discrete function to this one More...
 
DiscreteFunctionTypeoperator-= (const DiscreteFunctionInterface< DFType > &g)
 substract all degrees of freedom from given discrete function using the dof iterators More...
 
DiscreteFunctionTypeoperator-= (const DiscreteFunctionType &g)
 substract all degrees of freedom from given discrete function using the dof iterators More...
 
DiscreteFunctionTypeoperator*= (const RangeFieldType &scalar)
 multiply all DoFs with a scalar factor More...
 
DiscreteFunctionTypeoperator/= (const RangeFieldType &scalar)
 devide all DoFs by a scalar factor More...
 
void read (InStreamInterface< StreamTraits > &in)
 read the discrete function from a stream More...
 
void write (OutStreamInterface< StreamTraits > &out) const
 write the discrete function into a stream More...
 
void enableDofCompression ()
 Enable this discrete function for dof compression, i.e. during grid changes a dof compression is done when the DofManagers compress is called. More...
 
void addScaledLocalDofs (const EntityType &entity, const RangeFieldType &s, const LocalDofs &localDofs)
 add scaled local Dofs to dof vector associated with the entity More...
 
void addScaledLocalDofs (const EntityType &entity, const RangeFieldType &s, const LocalDofs &localDofs)
 add scaled local Dofs to dof vector associated with the entity More...
 
void addLocalDofs (const EntityType &entity, const LocalDofs &localDofs)
 add local Dofs to dof vector associated with the entity More...
 
void addLocalDofs (const EntityType &entity, const LocalDofs &localDofs)
 add local Dofs to dof vector associated with the entity More...
 
void setLocalDofs (const EntityType &entity, const LocalDofs &localDofs)
 set local Dofs to dof vector associated with the entity More...
 
void setLocalDofs (const EntityType &entity, const LocalDofs &localDofs)
 set local Dofs to dof vector associated with the entity More...
 
void getLocalDofs (const EntityType &entity, Vector &localDofs) const
 fill local Dofs to dof vector associated with the entity More...
 
void getLocalDofs (const EntityType &entity, Vector &localDofs) const
 fill local Dofs to dof vector associated with the entity More...
 
bool operator== (const DiscreteFunctionInterface< DFType > &g) const
 
bool operator!= (const DiscreteFunctionInterface< DFType > &g) const
 
LocalDofVectorAllocatorTypelocalDofVectorAllocator () const
 obtain the local function storage More...
 
void beginAssemble ()
 Initiate the assemble of values using the LocalContribution concept. More...
 
void endAssemble ()
 Finalize the assemble of values using the LocalContribution concept. More...
 
void getLocalDofReferences (const EntityType &entity, LocalDofVectorType &localDofs)
 get local Dofs and store a reference to it in the LocalDofVector More...
 
DefaultLoadBalanceContainsCheckType defaultLoadBalanceContainsCheck () const
 
virtual void operator() (const DomainType &arg, RangeType &dest) const
 application operator call evaluate More...
 

Static Public Attributes

static constexpr std::size_t blockSize
 size of the dof blocks More...
 

Protected Types

typedef ParallelScalarProduct< DiscreteFunctionInterfaceTypeScalarProductType
 
typedef TemporaryLocalFunction< DiscreteFunctionSpaceTypeTemporaryLocalFunctionType
 

Protected Member Functions

VectorTypeallocateDofVector (const DiscreteFunctionSpaceType &space)
 
virtual void backup () const
 
virtual void restore ()
 
virtual void insertSubData ()
 
virtual void removeSubData ()
 
void evaluateGlobal (const DomainType &x, Functor functor) const
 evaluate functor in global coordinate More...
 
const Implementation & asImp () const
 
Implementation & asImp ()
 
const Implementation & asImp () const
 
virtual void * pointer ()
 

Static Protected Member Functions

static const Implementation & asImp (const ThisType &other)
 
static Implementation & asImp (ThisType &other)
 
static const Implementation & asImp (const ThisType &other)
 
static Implementation & asImp (ThisType &other)
 

Protected Attributes

std::unique_ptr< VectorTypevec_
 
DofVectorType dofVector_
 
std::shared_ptr< const DiscreteFunctionSpaceTypedfSpace_
 
Traits ::LocalDofVectorStackType ldvStack_
 
LocalDofVectorAllocatorType ldvAllocator_
 
TemporaryLocalFunctionType localFunction_
 
std::string name_
 
ScalarProductType scalarProduct_
 
std::type_index assembleOperation_
 
std::size_t assembleCount_
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &out, const DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > > &df)
 write a discrete function into an STL stream More...
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator+ (const Mapping< DFieldType, RFieldType, DType, RType > &a, const Mapping< DFieldType, RFieldType, DType, RType > &b)
 add two mappings More...
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator- (const Mapping< DFieldType, RFieldType, DType, RType > &a, const Mapping< DFieldType, RFieldType, DType, RType > &b)
 substract two mappings More...
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* (const Mapping< DFieldType, RFieldType, DType, RType > &mapping, const RFieldType &factor)
 scale mapping with factor More...
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* (const RFieldType &factor, const Mapping< DFieldType, RFieldType, DType, RType > &mapping)
 scale mapping with factor More...
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ (const Mapping< DFieldType, RFieldType, DType, RType > &mapping, const RFieldType &factor)
 operator / for mappings More...
 
template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ (const RFieldType &factor, const Mapping< DFieldType, RFieldType, DType, RType > &mapping)
 operator / for mappings More...
 

Member Typedef Documentation

◆ BlockIndices

typedef DiscreteFunctionSpaceType::LocalBlockIndices Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::BlockIndices
inherited

◆ ConstDofBlockPtrType

◆ ConstDofBlockType

◆ ConstDofIteratorType

type of the const dof iterator

◆ DefaultLoadBalanceContainsCheckType

◆ DiscreteFunctionInterfaceType

◆ DiscreteFunctionSpaceType

template<class DiscreteFunctionSpace , class Vector >
typedef BaseType :: DiscreteFunctionSpaceType Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::DiscreteFunctionSpaceType

◆ DiscreteFunctionType

type of the discrete function (Barton-Nackman parameter)

◆ DofBlockPtrType

◆ DofBlockType

◆ DofContainerType

template<class DiscreteFunctionSpace , class Vector >
typedef DofVectorType :: DofContainerType Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::DofContainerType

◆ DofIteratorType

type of the dof iterator

◆ DofType

template<class DiscreteFunctionSpace , class Vector >
typedef BaseType :: DofType Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::DofType

◆ DofVectorType

template<class DiscreteFunctionSpace , class Vector >
typedef BaseType :: DofVectorType Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::DofVectorType

◆ DomainFieldType

type of domain field (usually a float type)

◆ DomainType

type of domain vector

◆ EntityType

◆ FunctionSpaceType

type of associated function space

◆ FunctionType

type of the implementation (Barton-Nackman)

◆ GridPartType

type of the underlying grid part

◆ GridType

type of the underlying grid

◆ GridView

typedef GridPartType::GridViewType Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::GridView
inherited

◆ HessianRangeType

type of hessian

◆ JacobianRangeType

type of jacobian

◆ LocalCoordinateType

typedef LocalFunctionType::LocalCoordinateType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::LocalCoordinateType
inherited

◆ LocalDofVectorAllocatorType

type of LocalDofVector

◆ LocalDofVectorType

type of LocalDofVector

◆ LocalFunctionType

type of local functions

◆ MappingType

type of mapping base class for this discrete function

◆ RangeFieldType

type of range field (usually a float type)

◆ RangeType

type of range vector

◆ ScalarProductType

◆ SizeType

typedef DofVectorType::SizeType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::SizeType
inherited

size type of the block vector

◆ TemporaryLocalFunctionType

◆ Traits

◆ VectorType

template<class DiscreteFunctionSpace , class Vector >
typedef Vector Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::VectorType

Constructor & Destructor Documentation

◆ VectorDiscreteFunction() [1/4]

template<class DiscreteFunctionSpace , class Vector >
Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::VectorDiscreteFunction ( const std::string &  name,
const DiscreteFunctionSpaceType space,
VectorType dofVector 
)
inline

Constructor to use if the vector storing the dofs already exists.

Parameters
[in]namename of the discrete function
[in]spacespace the discrete function lives in
[in]dofVectorreference to the dof vector

◆ VectorDiscreteFunction() [2/4]

template<class DiscreteFunctionSpace , class Vector >
Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::VectorDiscreteFunction ( const ThisType other)
inline

Copy constructor.

◆ VectorDiscreteFunction() [3/4]

template<class DiscreteFunctionSpace , class Vector >
Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::VectorDiscreteFunction ( ThisType &&  other)
inline

Move constructor.

◆ VectorDiscreteFunction() [4/4]

template<class DiscreteFunctionSpace , class Vector >
Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::VectorDiscreteFunction ( )
delete

Member Function Documentation

◆ addLocalDofs() [1/2]

void Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::addLocalDofs ( const EntityType entity,
const LocalDofs &  localDofs 
)
inlineinherited

add local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[in]localDofsthe local dofs vector to be added

◆ addLocalDofs() [2/2]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::addLocalDofs ( const EntityType entity,
const LocalDofs &  localDofs 
)
inlineinherited

add local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[in]localDofsthe local dofs vector to be added

◆ addScaledLocalDofs() [1/2]

void Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::addScaledLocalDofs ( const EntityType entity,
const RangeFieldType s,
const LocalDofs &  localDofs 
)
inlineinherited

add scaled local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[in]sscaling factor
[in]localDofsthe local dofs vector to be added

◆ addScaledLocalDofs() [2/2]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::addScaledLocalDofs ( const EntityType entity,
const RangeFieldType s,
const LocalDofs &  localDofs 
)
inlineinherited

add scaled local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[in]sscaling factor
[in]localDofsthe local dofs vector to be added

◆ allocateDofVector()

template<class DiscreteFunctionSpace , class Vector >
VectorType& Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::allocateDofVector ( const DiscreteFunctionSpaceType space)
inlineprotected

◆ asImp() [1/7]

Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlineprotectedinherited

◆ asImp() [2/7]

const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlineprotectedinherited

◆ asImp() [3/7]

template<class Interface , class Implementation >
const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ) const
inlineprotectedinherited

◆ asImp() [4/7]

static const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlinestaticprotectedinherited

◆ asImp() [5/7]

template<class Interface , class Implementation >
static const Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( const ThisType other)
inlinestaticprotectedinherited

◆ asImp() [6/7]

static Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp
inlinestaticprotectedinherited

◆ asImp() [7/7]

template<class Interface , class Implementation >
static Implementation& Dune::Fem::BartonNackmanInterface< Interface, Implementation >::asImp ( ThisType other)
inlinestaticprotectedinherited

◆ assign() [1/4]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::assign ( const DiscreteFunctionInterface< DFType > &  g)
inlineinherited

◆ assign() [2/4]

template<class DiscreteFunctionSpace , class Vector >
template<class DFType >
void Dune::Fem::DiscreteFunctionDefault< Impl >::assign ( class DFType  )
inline

◆ assign() [3/4]

◆ assign() [4/4]

template<class DiscreteFunctionSpace , class Vector >
void Dune::Fem::DiscreteFunctionDefault< Impl >::assign
inline

◆ axpy() [1/2]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::axpy ( const RangeFieldType s,
const DiscreteFunctionInterface< DFType > &  g 
)
inlineinherited

axpy operation

Adds s * g to this discrete function.

Parameters
[in]sscalar value to scale g with
[in]gdiscrete function to add

◆ axpy() [2/2]

axpy operation

Adds s * g to this discrete function.

Parameters
[in]sscalar value to scale g with
[in]gdiscrete function to add

◆ backup()

virtual void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::backup ( ) const
inlineprotectedvirtualinherited

◆ beginAssemble()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::beginAssemble ( )
inlineinherited

Initiate the assemble of values using the LocalContribution concept.

Template Parameters
AssembleOperationthe specific operation (Add, Set, ...)

◆ block() [1/2]

DofBlockPtrType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::block ( unsigned int  index)
inlineinherited

◆ block() [2/2]

ConstDofBlockPtrType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::block ( unsigned int  index) const
inlineinherited

◆ blocks()

int Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::blocks ( ) const
inlineinherited

obtain total number of blocks, i.e. size / blockSize.

The number of blocks of DoFs (degrees of freedom) can also be seen as the size of the discrete function divided by the blockSize.

Returns
total number of DoFs blocks

◆ clear()

set all degrees of freedom to zero

◆ communicate()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::communicate ( )
inlineinherited

do default communication of space for this discrete function

◆ continuous()

bool Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::continuous ( ) const
inlineinherited

returns true if the space contains only globally continuous functions

For example, a Lagrange space returns true while a discontiuous Galerkin space returns false.

Returns
true if the space contians only globally continous functions, false otherwise

◆ dataHandle() [1/2]

CommDataHandle< Operation >::Type Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::dataHandle ( const Operation &  operation)
inherited

return reference to data handle object

◆ dataHandle() [2/2]

DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >:: template CommDataHandle< Operation >:: Type Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::dataHandle ( const Operation &  operation)
inlineinherited

◆ dbegin() [1/2]

Obtain the non-constant iterator pointing to the first dof.

Returns
Non-Constant iterator pointing to the first dof

◆ dbegin() [2/2]

Obtain the constant iterator pointing to the first dof.

Returns
Constant iterator pointing to the first dof

◆ defaultLoadBalanceContainsCheck()

DefaultLoadBalanceContainsCheckType Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::defaultLoadBalanceContainsCheck ( ) const
inlineinherited

◆ dend() [1/2]

Obtain the non-constant iterator pointing to the last dof.

Returns
Non-Constant iterator pointing to the last dof

◆ dend() [2/2]

Obtain the constant iterator pointing to the last dof.

Returns
Constant iterator pointing to the last dof

◆ dofsValid()

check for NaNs

Returns
if one of the DoFs is NaN false is returned, otherwise true

◆ dofVector() [1/2]

template<class DiscreteFunctionSpace , class Vector >
DofVectorType& Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::dofVector ( )
inline

◆ dofVector() [2/2]

template<class DiscreteFunctionSpace , class Vector >
const DofVectorType& Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::dofVector ( ) const
inline

◆ enableDofCompression()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::enableDofCompression ( )
inlineinherited

Enable this discrete function for dof compression, i.e. during grid changes a dof compression is done when the DofManagers compress is called.

Note
The default implementation does nothing.

◆ endAssemble()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::endAssemble ( )
inlineinherited

Finalize the assemble of values using the LocalContribution concept.

Template Parameters
AssembleOperationthe specific operation (Add, Set, ...)

◆ evaluate()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::evaluate ( const DomainType x,
RangeType value 
) const
inlineinherited

evaluate the function

Parameters
[in]xevaluation point
[out]valuevalue of the function in x

◆ evaluateGlobal()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::evaluateGlobal ( const DomainType x,
Functor  functor 
) const
inlineprotectedinherited

evaluate functor in global coordinate

◆ getLocalDofReferences()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::getLocalDofReferences ( const EntityType entity,
LocalDofVectorType localDofs 
)
inlineinherited

get local Dofs and store a reference to it in the LocalDofVector

◆ getLocalDofs() [1/2]

void Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::getLocalDofs ( const EntityType entity,
Vector &  localDofs 
) const
inlineinherited

fill local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[out]localDofsthe local dofs vector to be set
Note
localDofs should have sufficient size to store the dof values

◆ getLocalDofs() [2/2]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::getLocalDofs ( const EntityType entity,
Vector &  localDofs 
) const
inlineinherited

fill local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[out]localDofsthe local dofs vector to be set
Note
localDofs should have sufficient size to store the dof values

◆ gridPart()

const GridPartType& Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::gridPart ( ) const
inlineinherited

obtain a reference to the underlying grid part

◆ hessian() [1/2]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::hessian ( const DomainType x,
HessianRangeType hessian 
) const
inlineinherited

evaluate the hessian of the function (const DomainType &x,HessianRangeType &hessian) const

Parameters
[in]xevaluation point
[out]hessianvalue of the hessian in x (const DomainType &x,HessianRangeType &hessian) const

◆ hessian() [2/2]

void Dune::Fem::Function< DiscreteFunctionTraits< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::DiscreteFunctionSpaceType::FunctionSpaceType , VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::hessian ( const DomainType x,
HessianRangeType hessian 
) const
inlineinherited

evaluate the hessian of the function

Parameters
[in]xevaluation point
[out]hessianvalue of the hessian in x

◆ insertSubData()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::insertSubData
protectedvirtualinherited

Reimplemented from Dune::Fem::PersistentObject.

◆ jacobian() [1/2]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::jacobian ( const DomainType x,
JacobianRangeType jacobian 
) const
inlineinherited

evaluate the Jacobian of the function

Parameters
[in]xevaluation point
[out]jacobianvalue of the Jacobian in x

◆ jacobian() [2/2]

void Dune::Fem::Function< DiscreteFunctionTraits< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::DiscreteFunctionSpaceType::FunctionSpaceType , VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::jacobian ( const DomainType x,
JacobianRangeType jacobian 
) const
inlineinherited

evaluate the Jacobian of the function

Parameters
[in]xevaluation point
[out]jacobianvalue of the Jacobian in x

◆ localDofVectorAllocator()

LocalDofVectorAllocatorType& Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::localDofVectorAllocator ( ) const
inlineinherited

obtain the local function storage

Returns
a reference to the local function storage

◆ localFunction() [1/6]

obtain an uninitialized local function (read-write)

Note
before calling any method of the local function initialize it passing an entity
Returns
an uninitialized local function

◆ localFunction() [2/6]

const LocalFunctionType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::localFunction ( ) const
inlineinherited

obtain an uninitialized local function (read-write)

Note
before calling any method of the local function initialize it passing an entity
Returns
an uninitialized local function

◆ localFunction() [3/6]

LocalFunctionType Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::localFunction ( const EntityType entity)
inlineinherited

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ localFunction() [4/6]

LocalFunctionType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::localFunction ( const EntityType entity)
inlineinherited

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ localFunction() [5/6]

const LocalFunctionType Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::localFunction ( const EntityType entity) const
inlineinherited

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ localFunction() [6/6]

const LocalFunctionType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::localFunction ( const EntityType entity) const
inlineinherited

obtain a local function for an entity (read-write)

Parameters
[in]entityEntity to focus view of discrete function
Returns
a local function associated with the entity

◆ name() [1/2]

std::string& Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::name ( )
inlineinherited

obtain the name of the discrete function

Returns
string holding name of discrete function

◆ name() [2/2]

const std::string& Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::name ( ) const
inlineinherited

obtain the name of the discrete function

Returns
string holding name of discrete function

◆ normSquaredDofs()

Dune::FieldTraits< RangeFieldType >::real_type Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::normSquaredDofs ( ) const
inlineinherited

Squared small l^2 norm of all dofs.

Note
This is already parallel, so do not sum over all processes after calling scalarProductDofs!
It is assumed that the discrete function has been communicated (i.e., every local DoF hat the value of the corresponding global DoF).
Returns
the squared norm of the DoF-vectors

◆ operator!=()

bool Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::operator!= ( const DiscreteFunctionInterface< DFType > &  g) const
inlineinherited

◆ operator()()

virtual void Dune::Fem::Function< DiscreteFunctionTraits< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::DiscreteFunctionSpaceType::FunctionSpaceType , VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::operator() ( const DomainType arg,
RangeType dest 
) const
inlinevirtualinherited

application operator call evaluate

Parameters
[in]argargument
[out]destdestination, i.e. f(arg)

◆ operator*=()

multiply all DoFs with a scalar factor

Parameters
[in]scalarfactor to multiply DoFs with
Returns
reference to this discrete function (i.e. *this)

◆ operator+=() [1/2]

add another discrete function to this one

Parameters
[in]gdiscrete function to add
Returns
a reference to this discrete function (i.e. *this)

◆ operator+=() [2/2]

add another discrete function to this one

Parameters
[in]gdiscrete function to add
Returns
a reference to this discrete function (i.e. *this)

◆ operator-=() [1/2]

substract all degrees of freedom from given discrete function using the dof iterators

Parameters
[in]gdiscrete function which is substracted from this discrete function
Returns
reference to this (i.e. *this)

◆ operator-=() [2/2]

substract all degrees of freedom from given discrete function using the dof iterators

Parameters
[in]gdiscrete function which is substracted from this discrete function
Returns
reference to this (i.e. *this)

◆ operator/=()

devide all DoFs by a scalar factor

Parameters
[in]scalarfactor with which all dofs are devided
Returns
reference to this discrete function (i.e. *this)

◆ operator=() [1/2]

template<class DiscreteFunctionSpace , class Vector >
ThisType& Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::operator= ( const ThisType )
delete

◆ operator=() [2/2]

template<class DiscreteFunctionSpace , class Vector >
ThisType& Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::operator= ( ThisType &&  )
delete

◆ operator==()

bool Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::operator== ( const DiscreteFunctionInterface< DFType > &  g) const
inlineinherited

◆ order()

constexpr int Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::order ( ) const
inlineconstexprinherited

obtain an upper bound on the polynomial order of the underlying space.

◆ pointer()

virtual void* Dune::Fem::PersistentObject::pointer ( )
inlineprotectedvirtualinherited

◆ print()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::print ( std ::ostream &  out) const
inlineinherited

print all DoFs to a stream (for debugging purposes)

Parameters
[in]outstream to print to

◆ read()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::read ( InStreamInterface< StreamTraits > &  in)
inlineinherited

read the discrete function from a stream

Parameters
[in]instream to read the discrete function from
Note
This call will automatically enable dof compression for this discrete function.

◆ removeSubData()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::removeSubData
protectedvirtualinherited

Reimplemented from Dune::Fem::PersistentObject.

◆ restore()

virtual void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::restore ( )
inlineprotectedvirtualinherited

◆ scalarProductDofs()

RangeFieldType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::scalarProductDofs ( const DiscreteFunctionInterface< DFType > &  other) const
inlineinherited

Scalar product between the DoFs of two discrete functions.

Note
This is a parallel scalar product, so do not sum over all processes after calling scalarProductDofs!
It is assumed that the discrete function has been communicated (i.e., every local DoF hat the value of the corresponding global DoF).
Parameters
[in]otherdiscrete function to evaluate the scalar product with
Returns
the scalar product of the DoF-vectors

◆ setLocalDofs() [1/2]

void Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::setLocalDofs ( const EntityType entity,
const LocalDofs &  localDofs 
)
inlineinherited

set local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[in]localDofsthe local dofs vector to be set

◆ setLocalDofs() [2/2]

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::setLocalDofs ( const EntityType entity,
const LocalDofs &  localDofs 
)
inlineinherited

set local Dofs to dof vector associated with the entity

Parameters
[in]entityEntity to focus view of discrete function
[in]localDofsthe local dofs vector to be set

◆ size()

Return the number of blocks in the block vector.

Returns
Number of block in the block vector

◆ space()

obtain a reference to the corresponding DiscreteFunctionSpace

◆ write()

void Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::write ( OutStreamInterface< StreamTraits > &  out) const
inlineinherited

write the discrete function into a stream

Parameters
[in]outstream to write the discrete function to

Friends And Related Function Documentation

◆ operator*() [1/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* ( const Mapping< DFieldType, RFieldType, DType, RType > &  mapping,
const RFieldType &  factor 
)
related

scale mapping with factor

Parameters
[in]mappingMapping which is scaled
[in]factorfactor with which mapping is scaled
Returns
new object mapping

◆ operator*() [2/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator* ( const RFieldType &  factor,
const Mapping< DFieldType, RFieldType, DType, RType > &  mapping 
)
related

scale mapping with factor

Parameters
[in]factorfactor with which mapping is scaled
[in]mappingMapping which is scaled
Returns
new object mapping

◆ operator+()

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator+ ( const Mapping< DFieldType, RFieldType, DType, RType > &  a,
const Mapping< DFieldType, RFieldType, DType, RType > &  b 
)
related

add two mappings

Parameters
[in]amapping 1
[in]bmapping 2
Returns
new object mapping

◆ operator-()

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator- ( const Mapping< DFieldType, RFieldType, DType, RType > &  a,
const Mapping< DFieldType, RFieldType, DType, RType > &  b 
)
related

substract two mappings

Parameters
[in]amapping 1
[in]bmapping 2
Returns
new object mapping

◆ operator/() [1/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ ( const Mapping< DFieldType, RFieldType, DType, RType > &  mapping,
const RFieldType &  factor 
)
related

operator / for mappings

Parameters
[in]mappingmapping which is divided
[in]factorf factor by which result of mapping is divided
Returns
new object mapping

◆ operator/() [2/2]

template<class DFieldType , class RFieldType , class DType , class RType >
static Mapping< DFieldType, RFieldType, DType, RType > operator/ ( const RFieldType &  factor,
const Mapping< DFieldType, RFieldType, DType, RType > &  mapping 
)
related

operator / for mappings

Parameters
[in]factorby which result of mapping is divided
[in]mappingwhich is divided
Returns
new object mapping

◆ operator<<()

std::ostream & operator<< ( std ::ostream &  out,
const DiscreteFunctionInterface< Impl > &  df 
)
related

write a discrete function into an STL stream

Parameters
[in]outSTL stream to write to
[in]dfdiscrete function to write
Returns
the STL stream (for concatenation)

Member Data Documentation

◆ assembleCount_

std::size_t Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::assembleCount_
protectedinherited

◆ assembleOperation_

std::type_index Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::assembleOperation_
protectedinherited

◆ blockSize

constexpr std::size_t Dune::Fem::DiscreteFunctionInterface< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::blockSize
staticconstexprinherited

size of the dof blocks

◆ dfSpace_

std::shared_ptr< const DiscreteFunctionSpaceType > Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::dfSpace_
protectedinherited

◆ dofVector_

template<class DiscreteFunctionSpace , class Vector >
DofVectorType Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::dofVector_
protected

◆ ldvAllocator_

◆ ldvStack_

Traits :: LocalDofVectorStackType Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::ldvStack_
protectedinherited

◆ localFunction_

◆ name_

std::string Dune::Fem::DiscreteFunctionDefault< VectorDiscreteFunction< DiscreteFunctionSpace, Vector > >::name_
protectedinherited

◆ scalarProduct_

◆ vec_

template<class DiscreteFunctionSpace , class Vector >
std::unique_ptr< VectorType > Dune::Fem::VectorDiscreteFunction< DiscreteFunctionSpace, Vector >::vec_
protected

The documentation for this class was generated from the following file: