DUNE-FEM (unstable)
Classes | |
| class | ISTLDofStorage | 
Public Types | |
| typedef ISTLBlockVectorDiscreteFunction< DiscreteFunctionSpace, Block > | DiscreteFunctionType | 
| type of the discrete function (Barton-Nackman parameter)  | |
| 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 DofVectorType::SizeType | SizeType | 
| size type of the block vector  | |
| typedef DiscreteFunctionSpaceType::FunctionSpaceType | FunctionSpaceType | 
| type of associated function space  | |
| typedef BaseType::MappingType | MappingType | 
| type of mapping base class for this discrete function  | |
| typedef ISTLBlockVectorDiscreteFunction< DiscreteFunctionSpace, Block > | FunctionType | 
| type of the implementation (Barton-Nackman)  | |
Public Member Functions | |
| ISTLBlockVectorDiscreteFunction (const std::string &name, const DiscreteFunctionSpaceType &space) | |
| Constructor to use if the vector storing the dofs does not exist yet.  More... | |
| ISTLBlockVectorDiscreteFunction (const std::string &name, const DiscreteFunctionSpaceType &space, const DofContainerType &dofVector) | |
| Constructor to use if the vector storing the dofs already exists.  More... | |
| ISTLBlockVectorDiscreteFunction (const ThisType &other) | |
| Copy constructor.  | |
| ISTLBlockVectorDiscreteFunction (ThisType &&other) | |
| Move constructor.  | |
| 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... | |
| DofContainerType & | blockVector () | 
| convenience method for usage with ISTL solvers  | |
| const DofContainerType & | blockVector () const | 
| convenience method for usage with ISTL solvers  | |
| DofVectorType & | dofVector () | 
| const DofVectorType & | dofVector () const | 
| ScalarProductType & | scalarProduct () | 
| returns ScalarProduct to be used with ISTLInverseOp  | |
| 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 DiscreteFunctionSpaceType & | space () const | 
| obtain a reference to the corresponding DiscreteFunctionSpace  More... | |
| 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)  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... | |
| 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... | |
| CommDataHandle< Operation >::Type | dataHandle (const Operation &operation) | 
| return reference to data handle object  More... | |
| 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 | 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... | |
| DiscreteFunctionType & | operator+= (const DiscreteFunctionInterface< DFType > &g) | 
| add another discrete function to this one  More... | |
| DiscreteFunctionType & | operator+= (const DiscreteFunctionType &g) | 
| add another discrete function to this one  More... | |
| DiscreteFunctionType & | operator-= (const DiscreteFunctionInterface< DFType > &g) | 
| substract all degrees of freedom from given discrete function using the dof iterators  More... | |
| DiscreteFunctionType & | operator-= (const DiscreteFunctionType &g) | 
| substract all degrees of freedom from given discrete function using the dof iterators  More... | |
| DiscreteFunctionType & | operator*= (const RangeFieldType &scalar) | 
| multiply all DoFs with a scalar factor  More... | |
| DiscreteFunctionType & | operator/= (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 | 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 | 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... | |
| LocalDofVectorAllocatorType & | localDofVectorAllocator () const | 
| obtain the local function storage  More... | |
| void | beginAssemble () | 
| Initiate the assemble of values using the LocalContribution concept.  More... | |
| void | endAssemble (const bool communicate=true) | 
| 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  | |
| virtual void | operator() (const DomainType &arg, RangeType &dest) const | 
| application operator call evaluate  More... | |
| void | operator() (const DomainType &arg, RangeType &dest) const | 
| Application operator that applies all operators in the linear combination stack.  More... | |
Static Public Attributes | |
| static constexpr std::size_t | blockSize | 
| size of the dof blocks  | |
Protected Member Functions | |
| 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  | |
Detailed Description
class Dune::Fem::ISTLBlockVectorDiscreteFunction< DiscreteFunctionSpace, Block >
this is one special implementation of a discrete function using an array for storing the dofs.
- Note
 - The class Block needs to fullfil the Dune::DenseVector interface.
 
Constructor & Destructor Documentation
◆ ISTLBlockVectorDiscreteFunction() [1/2]
      
  | 
  inline | 
Constructor to use if the vector storing the dofs does not exist yet.
- Parameters
 - 
  
[in] name name of the discrete function [in] space space the discrete function lives in  
◆ ISTLBlockVectorDiscreteFunction() [2/2]
      
  | 
  inline | 
Constructor to use if the vector storing the dofs already exists.
- Parameters
 - 
  
[in] name name of the discrete function [in] space space the discrete function lives in [in] dofVector reference to the dof vector  
Member Function Documentation
◆ addLocalDofs()
      
  | 
  inlineinherited | 
add local Dofs to dof vector associated with the entity
- Parameters
 - 
  
[in] entity Entity to focus view of discrete function [in] localDofs the local dofs vector to be added  
◆ addScaledLocalDofs()
      
  | 
  inlineinherited | 
add scaled local Dofs to dof vector associated with the entity
- Parameters
 - 
  
[in] entity Entity to focus view of discrete function [in] s scaling factor [in] localDofs the local dofs vector to be added  
◆ assign() [1/2]
      
  | 
  inline | 
◆ assign() [2/2]
      
  | 
  inline | 
◆ axpy() [1/2]
      
  | 
  inlineinherited | 
axpy operation
Adds s * g to this discrete function.
- Parameters
 - 
  
[in] s scalar value to scale g with [in] g discrete function to add  
◆ axpy() [2/2]
      
  | 
  inlineinherited | 
axpy operation
Adds s * g to this discrete function.
- Parameters
 - 
  
[in] s scalar value to scale g with [in] g discrete function to add  
◆ backup()
      
  | 
  inlineprotectedvirtualinherited | 
Implements Dune::Fem::PersistentObject.
◆ beginAssemble()
      
  | 
  inlineinherited | 
Initiate the assemble of values using the LocalContribution concept.
- Template Parameters
 - 
  
AssembleOperation the specific operation (Add, Set, ...)  
◆ block() [1/2]
      
  | 
  inlineinherited | 
◆ block() [2/2]
      
  | 
  inlineinherited | 
◆ blocks()
      
  | 
  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()
      
  | 
  inlineinherited | 
set all degrees of freedom to zero
◆ communicate()
      
  | 
  inlineinherited | 
do default communication of space for this discrete function
◆ continuous()
      
  | 
  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()
      
  | 
  inherited | 
return reference to data handle object
◆ dbegin() [1/2]
      
  | 
  inlineinherited | 
Obtain the non-constant iterator pointing to the first dof.
- Returns
 - Non-Constant iterator pointing to the first dof
 
◆ dbegin() [2/2]
      
  | 
  inlineinherited | 
Obtain the constant iterator pointing to the first dof.
- Returns
 - Constant iterator pointing to the first dof
 
◆ dend() [1/2]
      
  | 
  inlineinherited | 
Obtain the non-constant iterator pointing to the last dof.
- Returns
 - Non-Constant iterator pointing to the last dof
 
◆ dend() [2/2]
      
  | 
  inlineinherited | 
Obtain the constant iterator pointing to the last dof.
- Returns
 - Constant iterator pointing to the last dof
 
◆ dofsValid()
      
  | 
  inlineinherited | 
check for NaNs
- Returns
 - if one of the DoFs is NaN false is returned, otherwise true
 
◆ dofVector() [1/2]
      
  | 
  inline | 
◆ dofVector() [2/2]
      
  | 
  inline | 
◆ enableDofCompression()
      
  | 
  inline | 
Enable this discrete function for dof compression, i.e. during grid changes a dof compression is done when the DofManagers compress is called.
◆ endAssemble()
      
  | 
  inlineinherited | 
Finalize the assemble of values using the LocalContribution concept.
- Template Parameters
 - 
  
AssembleOperation the specific operation (Add, Set, ...)  
◆ evaluate() [1/2]
      
  | 
  inlineinherited | 
evaluate the function
- Parameters
 - 
  
[in] x evaluation point [out] value value of the function in x  
◆ evaluate() [2/2]
      
  | 
  inlineinherited | 
evaluate the function
- Parameters
 - 
  
[in] x evaluation point [out] value value of the function in x  
◆ getLocalDofs()
      
  | 
  inlineinherited | 
fill local Dofs to dof vector associated with the entity
- Parameters
 - 
  
[in] entity Entity to focus view of discrete function [out] localDofs the local dofs vector to be set  
- Note
 - localDofs should have sufficient size to store the dof values
 
◆ hessian() [1/2]
      
  | 
  inlineinherited | 
evaluate the hessian of the function (const DomainType &x,HessianRangeType &hessian) const
- Parameters
 - 
  
[in] x evaluation point [out] hessian value of the hessian in x (const DomainType &x,HessianRangeType &hessian) const  
◆ hessian() [2/2]
      
  | 
  inlineinherited | 
evaluate the hessian of the function
- Parameters
 - 
  
[in] x evaluation point [out] hessian value of the hessian in x  
◆ insertSubData()
      
  | 
  protectedvirtualinherited | 
Reimplemented from Dune::Fem::PersistentObject.
◆ jacobian() [1/2]
      
  | 
  inlineinherited | 
evaluate the Jacobian of the function
- Parameters
 - 
  
[in] x evaluation point [out] jacobian value of the Jacobian in x  
◆ jacobian() [2/2]
      
  | 
  inlineinherited | 
evaluate the Jacobian of the function
- Parameters
 - 
  
[in] x evaluation point [out] jacobian value of the Jacobian in x  
◆ localDofVectorAllocator()
      
  | 
  inlineinherited | 
obtain the local function storage
- Returns
 - a reference to the local function storage
 
◆ localFunction() [1/4]
      
  | 
  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() [2/4]
      
  | 
  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/4]
      
  | 
  inlineinherited | 
obtain a local function for an entity (read-write)
- Parameters
 - 
  
[in] entity Entity to focus view of discrete function  
- Returns
 - a local function associated with the entity
 
◆ localFunction() [4/4]
      
  | 
  inlineinherited | 
obtain a local function for an entity (read-write)
- Parameters
 - 
  
[in] entity Entity to focus view of discrete function  
- Returns
 - a local function associated with the entity
 
◆ name() [1/2]
      
  | 
  inline | 
obtain the name of the discrete function
- Returns
 - string holding name of discrete function
 
◆ name() [2/2]
      
  | 
  inline | 
obtain the name of the discrete function
- Returns
 - string holding name of discrete function
 
◆ normSquaredDofs()
      
  | 
  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()() [1/2]
      
  | 
  inlinevirtualinherited | 
application operator call evaluate
- Parameters
 - 
  
[in] arg argument [out] dest destination, i.e. f(arg)  
◆ operator()() [2/2]
Application operator that applies all operators in the linear combination stack.
- Parameters
 - 
  
[in] arg argument [out] dest destination  
◆ operator*=()
      
  | 
  inlineinherited | 
multiply all DoFs with a scalar factor
- Parameters
 - 
  
[in] scalar factor to multiply DoFs with  
- Returns
 - reference to this discrete function (i.e. *this)
 
◆ operator+=() [1/2]
      
  | 
  inlineinherited | 
add another discrete function to this one
- Parameters
 - 
  
[in] g discrete function to add  
- Returns
 - a reference to this discrete function (i.e. *this)
 
◆ operator+=() [2/2]
      
  | 
  inlineinherited | 
add another discrete function to this one
- Parameters
 - 
  
[in] g discrete function to add  
- Returns
 - a reference to this discrete function (i.e. *this)
 
◆ operator-=() [1/2]
      
  | 
  inlineinherited | 
substract all degrees of freedom from given discrete function using the dof iterators
- Parameters
 - 
  
[in] g discrete function which is substracted from this discrete function  
- Returns
 - reference to this (i.e. *this)
 
◆ operator-=() [2/2]
      
  | 
  inlineinherited | 
substract all degrees of freedom from given discrete function using the dof iterators
- Parameters
 - 
  
[in] g discrete function which is substracted from this discrete function  
- Returns
 - reference to this (i.e. *this)
 
◆ operator/=()
      
  | 
  inlineinherited | 
devide all DoFs by a scalar factor
- Parameters
 - 
  
[in] scalar factor with which all dofs are devided  
- Returns
 - reference to this discrete function (i.e. *this)
 
◆ order()
      
  | 
  inlineconstexprinherited | 
obtain an upper bound on the polynomial order of the underlying space.
◆ print()
      
  | 
  inlineinherited | 
print all DoFs to a stream (for debugging purposes)
- Parameters
 - 
  
[in] out stream to print to  
◆ read()
      
  | 
  inlineinherited | 
read the discrete function from a stream
- Parameters
 - 
  
[in] in stream to read the discrete function from  
- Note
 - This call will automatically enable dof compression for this discrete function.
 
◆ removeSubData()
      
  | 
  protectedvirtualinherited | 
Reimplemented from Dune::Fem::PersistentObject.
◆ restore()
      
  | 
  inlineprotectedvirtualinherited | 
Implements Dune::Fem::PersistentObject.
◆ scalarProductDofs()
      
  | 
  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] other discrete function to evaluate the scalar product with  
- Returns
 - the scalar product of the DoF-vectors
 
◆ setLocalDofs()
      
  | 
  inlineinherited | 
set local Dofs to dof vector associated with the entity
- Parameters
 - 
  
[in] entity Entity to focus view of discrete function [in] localDofs the local dofs vector to be set  
◆ size()
      
  | 
  inlineinherited | 
Return the number of blocks in the block vector.
- Returns
 - Number of block in the block vector
 
◆ space()
      
  | 
  inlineinherited | 
obtain a reference to the corresponding DiscreteFunctionSpace
◆ write()
      
  | 
  inlineinherited | 
write the discrete function into a stream
- Parameters
 - 
  
[in] out stream to write the discrete function to  
Friends And Related Function Documentation
◆ operator*() [1/2]
      
  | 
  related | 
scale mapping with factor
- Parameters
 - 
  
[in] factor factor with which mapping is scaled [in] mapping Mapping which is scaled  
- Returns
 - new object mapping
 
◆ operator*() [2/2]
      
  | 
  related | 
scale mapping with factor
- Parameters
 - 
  
[in] mapping Mapping which is scaled [in] factor factor with which mapping is scaled  
- Returns
 - new object mapping
 
◆ operator+()
      
  | 
  related | 
add two mappings
- Parameters
 - 
  
[in] a mapping 1 [in] b mapping 2  
- Returns
 - new object mapping
 
◆ operator-()
      
  | 
  related | 
substract two mappings
- Parameters
 - 
  
[in] a mapping 1 [in] b mapping 2  
- Returns
 - new object mapping
 
◆ operator/() [1/2]
      
  | 
  related | 
operator / for mappings
- Parameters
 - 
  
[in] factor by which result of mapping is divided [in] mapping which is divided  
- Returns
 - new object mapping
 
◆ operator/() [2/2]
      
  | 
  related | 
operator / for mappings
- Parameters
 - 
  
[in] mapping mapping which is divided [in] factor f factor by which result of mapping is divided  
- Returns
 - new object mapping
 
◆ operator<<()
      
  | 
  related | 
write a discrete function into an STL stream
- Parameters
 - 
  
[in] out STL stream to write to [in] df discrete function to write  
- Returns
 - the STL stream (for concatenation)
 
The documentation for this class was generated from the following file:
- dune/fem/function/blockvectorfunction/blockvectorfunction.hh
 
   | 
                                Legal Statements / Impressum  | 
                                Hosted by  TU Dresden & Uni Heidelberg  | 
				  generated with Hugo v0.111.3
								(Nov 3, 23:36, 2025)