dune-fem 2.8.0
|
#include <dune/fem/function/hierarchical/function.hh>
Public Types | |
typedef BaseType::DiscreteFunctionSpaceType | DiscreteFunctionSpaceType |
typedef BaseType::DofVectorType | DofVectorType |
typedef BaseType::Traits | Traits |
typedef HierarchicalDiscreteFunction< DiscreteFunctionSpace > | DiscreteFunctionType |
type of the discrete function (Barton-Nackman parameter) | |
typedef BaseType::DiscreteFunctionInterfaceType | DiscreteFunctionInterfaceType |
typedef BaseType::GridPartType | GridPartType |
type of the underlying grid part | |
typedef DiscreteFunctionSpaceType::DomainType | DomainType |
type of domain vector | |
typedef DiscreteFunctionSpaceType::RangeType | RangeType |
type of range vector | |
typedef DiscreteFunctionSpaceType::JacobianRangeType | JacobianRangeType |
type of jacobian | |
typedef DiscreteFunctionSpaceType::HessianRangeType | HessianRangeType |
type of hessian | |
typedef DiscreteFunctionSpaceType::DomainFieldType | DomainFieldType |
type of domain field (usually a float type) | |
typedef DiscreteFunctionSpaceType::RangeFieldType | RangeFieldType |
type of range field (usually a float type) | |
typedef Traits::DofIteratorType | DofIteratorType |
type of the dof iterator | |
typedef Traits::ConstDofIteratorType | ConstDofIteratorType |
type of the const dof iterator | |
typedef Traits::LocalDofVectorType | LocalDofVectorType |
type of LocalDofVector | |
typedef Traits::LocalDofVectorAllocatorType | LocalDofVectorAllocatorType |
type of LocalDofVector | |
typedef BaseType::LocalFunctionType | LocalFunctionType |
type of local functions | |
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 BaseType::DofType | DofType |
typedef DofVectorType::SizeType | SizeType |
size type of the block vector | |
typedef DiscreteFunctionSpaceType::FunctionSpaceType | FunctionSpaceType |
type of associated function space | |
typedef GridPartType::GridViewType | GridView |
typedef DiscreteFunctionSpaceType::GridType | GridType |
type of the underlying grid | |
typedef BaseType::MappingType | MappingType |
type of mapping base class for this discrete function | |
typedef DiscreteFunctionSpaceType::LocalBlockIndices | BlockIndices |
typedef LoadBalanceLeafData< ThisType > | DefaultLoadBalanceContainsCheckType |
Public Member Functions | |
HierarchicalDiscreteFunction (const std::string &name, const DiscreteFunctionSpaceType &space, DofVectorType &dofVector) | |
HierarchicalDiscreteFunction (const std::string &name, const DiscreteFunctionSpaceType &space) | |
HierarchicalDiscreteFunction (const ThisType &other) | |
DofVectorType & | dofVector () |
const DofVectorType & | dofVector () const |
void | enableDofCompression () |
const std::string & | name () const |
obtain the name of the discrete function | |
std::string & | name () |
obtain the name of the discrete function | |
constexpr int | order () const |
obtain an upper bound on the polynomial order of the underlying space. | |
bool | continuous () const |
returns true if the space contains only globally continuous functions | |
const DiscreteFunctionSpaceType & | space () const |
obtain a reference to the corresponding DiscreteFunctionSpace | |
const GridPartType & | gridPart () const |
obtain a reference to the underlying grid part | |
LocalFunctionType | localFunction (const EntityType &entity) |
obtain a local function for an entity (read-write) | |
const LocalFunctionType | localFunction (const EntityType &entity) const |
obtain a local function for an entity (read-write) | |
LocalFunctionType | localFunction () |
obtain an uninitialized local function (read-write) | |
const LocalFunctionType | localFunction () const |
obtain an uninitialized local function (read-write) | |
void | clear () |
set all degrees of freedom to zero | |
int | blocks () const |
obtain total number of blocks, i.e. size / blockSize. | |
DofBlockPtrType | block (unsigned int index) |
ConstDofBlockPtrType | block (unsigned int index) const |
SizeType | size () const |
Return the number of blocks in the block vector. | |
ConstDofIteratorType | dbegin () const |
Obtain the constant iterator pointing to the first dof. | |
DofIteratorType | dbegin () |
Obtain the non-constant iterator pointing to the first dof. | |
ConstDofIteratorType | dend () const |
Obtain the constant iterator pointing to the last dof. | |
DofIteratorType | dend () |
Obtain the non-constant iterator pointing to the last dof. | |
void | axpy (const RangeFieldType &s, const DiscreteFunctionInterface< DFType > &g) |
void | axpy (const RangeFieldType &s, const DiscreteFunctionInterfaceType &g) |
void | axpy (const RangeFieldType &s, const DiscreteFunctionInterfaceType &g) |
axpy operation | |
RangeFieldType | scalarProductDofs (const DiscreteFunctionInterface< DFType > &other) const |
Scalar product between the DoFs of two discrete functions. | |
Dune::FieldTraits< RangeFieldType >::real_type | normSquaredDofs () const |
Squared small l^2 norm of all dofs. | |
void | print (std ::ostream &out) const |
print all DoFs to a stream (for debugging purposes) | |
bool | dofsValid () const |
check for NaNs | |
void | assign (const DiscreteFunctionInterface< DFType > &g) |
void | assign (const DiscreteFunctionType &g) |
CommDataHandle< Operation >::Type | dataHandle (const Operation &operation) |
return reference to data handle object | |
DiscreteFunctionDefault< HierarchicalDiscreteFunction< DiscreteFunctionSpace > >::template CommDataHandle< Operation >::Type | dataHandle (const Operation &operation) |
void | communicate () |
do default communication of space for this discrete function | |
void | evaluate (const DomainType &x, RangeType &value) const |
void | jacobian (const DomainType &x, JacobianRangeType &jacobian) const |
void | hessian (const DomainType &x, HessianRangeType &hessian) const |
evaluate the hessian of the function (const DomainType &x,HessianRangeType &hessian) const | |
DiscreteFunctionType & | operator+= (const DiscreteFunctionInterface< DFType > &g) |
add another discrete function to this one | |
DiscreteFunctionType & | operator+= (const DiscreteFunctionType &g) |
add another discrete function to this one | |
DiscreteFunctionType & | operator-= (const DiscreteFunctionInterface< DFType > &g) |
substract all degrees of freedom from given discrete function using the dof iterators | |
DiscreteFunctionType & | operator-= (const DiscreteFunctionType &g) |
substract all degrees of freedom from given discrete function using the dof iterators | |
DiscreteFunctionType & | operator*= (const RangeFieldType &scalar) |
multiply all DoFs with a scalar factor | |
DiscreteFunctionType & | operator/= (const RangeFieldType &scalar) |
devide all DoFs by a scalar factor | |
void | read (InStreamInterface< StreamTraits > &in) |
read the discrete function from a stream | |
void | write (OutStreamInterface< StreamTraits > &out) const |
write the discrete function into a stream | |
void | addScaledLocalDofs (const EntityType &entity, const RangeFieldType &s, const LocalDofs &localDofs) |
add scaled local Dofs to dof vector associated with the entity | |
void | addLocalDofs (const EntityType &entity, const LocalDofs &localDofs) |
add local Dofs to dof vector associated with the entity | |
void | setLocalDofs (const EntityType &entity, const LocalDofs &localDofs) |
set local Dofs to dof vector associated with the entity | |
void | getLocalDofs (const EntityType &entity, Vector &localDofs) const |
fill local Dofs to dof vector associated with the entity | |
bool | compare (const DiscreteFunctionInterface< DFType > &g) const |
LocalDofVectorAllocatorType & | localDofVectorAllocator () const |
obtain the local function storage | |
void | beginAssemble () |
Initiate the assemble of values using the LocalContribution concept. | |
void | endAssemble () |
Finalize the assemble of values using the LocalContribution concept. | |
void | getLocalDofReferences (const EntityType &entity, LocalDofVectorType &localDofs) |
get local Dofs and store a reference to it in the LocalDofVector | |
DefaultLoadBalanceContainsCheckType | defaultLoadBalanceContainsCheck () const |
void | operator() (const DomainType &arg, RangeType &dest) const |
Application operator that applies all operators in the linear combination stack. | |
Static Public Attributes | |
static constexpr std::size_t | blockSize |
size of the dof blocks | |
Protected Types | |
typedef ParallelScalarProduct< DiscreteFunctionInterfaceType > | ScalarProductType |
typedef TemporaryLocalFunction< DiscreteFunctionSpaceType > | TemporaryLocalFunctionType |
Protected Member Functions | |
DofVectorType & | allocateDofStorage (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 | |
const Implementation & | asImp () const |
Implementation & | asImp () |
virtual void * | pointer () |
Static Protected Member Functions | |
static const Implementation & | asImp (const ThisType &other) |
static Implementation & | asImp (ThisType &other) |
Protected Attributes | |
std::unique_ptr< DofStorageInterface > | memObject_ |
DofVectorType & | dofVector_ |
std::shared_ptr< const DiscreteFunctionSpaceType > | dfSpace_ |
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.) | |
template<class Impl > | |
std::ostream & | operator<< (std::ostream &out, const DiscreteFunctionInterface< Impl > &df) |
write a discrete function into an STL stream | |
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 | |
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 | |
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 | |
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 | |
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 | |
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 | |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
type of the const dof iterator
|
inherited |
|
inherited |
typedef BaseType::DiscreteFunctionSpaceType Dune::Fem::HierarchicalDiscreteFunction< DiscreteFunctionSpace >::DiscreteFunctionSpaceType |
|
inherited |
type of the discrete function (Barton-Nackman parameter)
|
inherited |
|
inherited |
|
inherited |
type of the dof iterator
|
inherited |
typedef BaseType::DofVectorType Dune::Fem::HierarchicalDiscreteFunction< DiscreteFunctionSpace >::DofVectorType |
|
inherited |
type of domain field (usually a float type)
|
inherited |
type of domain vector
|
inherited |
|
inherited |
type of associated function space
|
inherited |
type of the underlying grid part
|
inherited |
type of the underlying grid
|
inherited |
|
inherited |
type of hessian
|
inherited |
type of jacobian
|
inherited |
|
inherited |
type of LocalDofVector
|
inherited |
type of LocalDofVector
|
inherited |
type of local functions
|
inherited |
type of mapping base class for this discrete function
|
inherited |
type of range field (usually a float type)
|
inherited |
type of range vector
|
protectedinherited |
|
inherited |
size type of the block vector
|
protectedinherited |
|
inherited |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
add local Dofs to dof vector associated with the entity
[in] | entity | Entity to focus view of discrete function |
[in] | localDofs | the local dofs vector to be added |
|
inlineinherited |
add scaled local Dofs to dof vector associated with the entity
[in] | entity | Entity to focus view of discrete function |
[in] | s | scaling factor |
[in] | localDofs | the local dofs vector to be added |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
axpy operation
Adds s * g to this discrete function.
[in] | s | scalar value to scale g with |
[in] | g | discrete function to add |
|
inlineinherited |
|
inlineprotectedvirtualinherited |
Implements Dune::Fem::PersistentObject.
|
inlineinherited |
Initiate the assemble of values using the LocalContribution concept.
AssembleOperation | the specific operation (Add, Set, ...) |
|
inlineinherited |
|
inlineinherited |
|
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.
|
inlineinherited |
set all degrees of freedom to zero
|
inlineinherited |
do default communication of space for this discrete function
|
inlineinherited |
|
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.
|
inherited |
return reference to data handle object
|
inlineinherited |
|
inlineinherited |
Obtain the non-constant iterator pointing to the first dof.
|
inlineinherited |
Obtain the constant iterator pointing to the first dof.
|
inlineinherited |
|
inlineinherited |
Obtain the non-constant iterator pointing to the last dof.
|
inlineinherited |
Obtain the constant iterator pointing to the last dof.
|
inlineinherited |
check for NaNs
|
inline |
|
inline |
|
inline |
|
inlineinherited |
Finalize the assemble of values using the LocalContribution concept.
AssembleOperation | the specific operation (Add, Set, ...) |
|
inlineinherited |
|
inlineprotectedinherited |
evaluate functor in global coordinate
|
inlineinherited |
get local Dofs and store a reference to it in the LocalDofVector
|
inlineinherited |
fill local Dofs to dof vector associated with the entity
[in] | entity | Entity to focus view of discrete function |
[out] | localDofs | the local dofs vector to be set |
|
inlineinherited |
obtain a reference to the underlying grid part
|
inlineinherited |
evaluate the hessian of the function (const DomainType &x,HessianRangeType &hessian) const
[in] | x | evaluation point |
[out] | hessian | value of the hessian in x (const DomainType &x,HessianRangeType &hessian) const |
|
protectedvirtualinherited |
Reimplemented from Dune::Fem::PersistentObject.
|
inlineinherited |
|
inlineinherited |
obtain the local function storage
|
inlineinherited |
obtain an uninitialized local function (read-write)
|
inlineinherited |
obtain an uninitialized local function (read-write)
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
obtain the name of the discrete function
|
inlineinherited |
obtain the name of the discrete function
|
inlineinherited |
Squared small l^2 norm of all dofs.
|
inlineinherited |
Application operator that applies all operators in the linear combination stack.
[in] | arg | argument |
[out] | dest | destination |
|
inlineinherited |
multiply all DoFs with a scalar factor
[in] | scalar | factor to multiply DoFs with |
|
inlineinherited |
add another discrete function to this one
[in] | g | discrete function to add |
|
inlineinherited |
add another discrete function to this one
[in] | g | discrete function to add |
|
inlineinherited |
substract all degrees of freedom from given discrete function using the dof iterators
[in] | g | discrete function which is substracted from this discrete function |
|
inlineinherited |
substract all degrees of freedom from given discrete function using the dof iterators
[in] | g | discrete function which is substracted from this discrete function |
|
inlineinherited |
devide all DoFs by a scalar factor
[in] | scalar | factor with which all dofs are devided |
|
inlineconstexprinherited |
obtain an upper bound on the polynomial order of the underlying space.
|
inlineprotectedvirtualinherited |
Reimplemented in Dune::Fem::PersistenceManager::WrapObject< ObjectType, false >.
|
inlineinherited |
print all DoFs to a stream (for debugging purposes)
[in] | out | stream to print to |
|
inlineinherited |
read the discrete function from a stream
[in] | in | stream to read the discrete function from |
|
protectedvirtualinherited |
Reimplemented from Dune::Fem::PersistentObject.
|
inlineprotectedvirtualinherited |
Implements Dune::Fem::PersistentObject.
|
inlineinherited |
Scalar product between the DoFs of two discrete functions.
[in] | other | discrete function to evaluate the scalar product with |
|
inlineinherited |
set local Dofs to dof vector associated with the entity
[in] | entity | Entity to focus view of discrete function |
[in] | localDofs | the local dofs vector to be set |
|
inlineinherited |
Return the number of blocks in the block vector.
|
inlineinherited |
obtain a reference to the corresponding DiscreteFunctionSpace
|
inlineinherited |
write the discrete function into a stream
[in] | out | stream to write the discrete function to |
|
related |
scale mapping with factor
[in] | mapping | Mapping which is scaled |
[in] | factor | factor with which mapping is scaled |
|
related |
scale mapping with factor
[in] | factor | factor with which mapping is scaled |
[in] | mapping | Mapping which is scaled |
|
related |
add two mappings
[in] | a | mapping 1 |
[in] | b | mapping 2 |
|
related |
substract two mappings
[in] | a | mapping 1 |
[in] | b | mapping 2 |
|
related |
operator / for mappings
[in] | mapping | mapping which is divided |
[in] | factor | f factor by which result of mapping is divided |
|
related |
operator / for mappings
[in] | factor | by which result of mapping is divided |
[in] | mapping | which is divided |
|
related |
write a discrete function into an STL stream
[in] | out | STL stream to write to |
[in] | df | discrete function to write |
|
protectedinherited |
|
protectedinherited |
|
staticconstexprinherited |
size of the dof blocks
|
protectedinherited |
|
protected |
|
mutableprotectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |