|
dune-fem 2.12-git
|
This is the reference implementation of a block vector as it is expected as the second template parameter to Dune::Fem::BlockVectorDiscreteFunction. More...
#include <dune/fem/function/blockvectors/defaultblockvectors.hh>

Classes | |
| struct | ContainerAccess |
| struct | ContainerAccess< Dune::DynamicVector< K > > |
Public Types | |
| enum | { blockSize = BlockSize } |
| Size of each block. More... | |
| typedef ArrayType | DofContainerType |
| typedef ArrayType::value_type | FieldType |
| Type of the field the dofs lie in. | |
| typedef ArrayType::iterator | IteratorType |
| Iterator to iterate over the dofs. | |
| typedef ArrayType::const_iterator | ConstIteratorType |
| Constant iterator to iterate over the dofs. | |
| typedef ArrayType::size_type | SizeType |
| Used for indexing the blocks, for example. | |
| typedef FieldType | value_type |
| Typedef to make this class STL-compatible. | |
| typedef SizeType | size_type |
| Typedef to make this class STL-compatible. | |
| typedef SubVector< DofContainerType, StaticOffsetSubMapper< BlockSize > > | DofBlockType |
| Type of one (mutable) block. | |
| typedef DofBlockType | ConstDofBlockType |
| Type of one constant block. | |
| typedef Fem::Envelope< DofBlockType > | DofBlockPtrType |
| typedef Fem::Envelope< ConstDofBlockType > | ConstDofBlockPtrType |
| typedef Hybrid::IndexRange< int, blockSize > | BlockIndices |
| typedef Container::value_type | DofType |
| make consistent with discrete function | |
Public Member Functions | |
| SimpleBlockVector (ArrayType &array) | |
| Constructor. | |
| const ThisType & | operator= (const ThisType &other) |
| Copy assignment operator. | |
| ConstDofBlockType | operator[] (const unsigned int i) const |
| Constant access the i-th block. | |
| DofBlockType | operator[] (const unsigned int i) |
| Access the i-th block. | |
| ConstDofBlockPtrType | blockPtr (const unsigned int i) const |
| Constant access for the i-th block. | |
| DofBlockPtrType | blockPtr (const unsigned int i) |
| Access the i-th block. | |
| IteratorType | begin () |
| Iterator pointing to the first dof. | |
| ConstIteratorType | begin () const |
| Const-iterator pointing to the first dof. | |
| IteratorType | end () |
| Iterator pointing to the last dof. | |
| ConstIteratorType | end () const |
| Const-iterator pointing to the last dof. | |
| IteratorType | beforeEnd () |
| Iterator pointing to last dof. | |
| ConstIteratorType | beforeEnd () const |
| Iterator pointing to last dof. | |
| IteratorType | beforeBegin () |
| Iterator pointing to before the first dof. | |
| ConstIteratorType | beforeBegin () const |
| Iterator pointing to before the first dof. | |
| IteratorType | find (const SizeType dof) |
| Iterator pointing to a given dof (non blocked numbering) | |
| ConstIteratorType | find (const SizeType dof) const |
| Iterator pointing to a given dof (non blocked numbering) | |
| SizeType | size () const |
| Number of blocks. | |
| SizeType | numDofs () const |
| Number of dofs in the block vector. | |
| FieldType * | data () |
| const FieldType * | data () const |
| const ArrayType & | array () const |
| ArrayType & | array () |
| const ThisType & | operator+= (const ThisType &other) |
| Add another block vector to *this. | |
| const ThisType & | operator-= (const ThisType &other) |
| Subtract another block vector from *this. | |
| FieldType | operator* (const ThisType &other) const |
| Scalar product between *this and another block vector. | |
| const ThisType & | operator*= (const FieldType &scalar) |
| Scale this block vector. | |
| void | axpy (const FieldType &scalar, const ThisType &other) |
| Add a scalar multiple of another block vector to this block vector. | |
| void | clear () |
| Clear this block vector, i.e. set each dof to 0. | |
| std::size_t | usedMemorySize () const |
| void | copyContent (const size_t newIndex, const size_t oldIndex) |
| void | memMoveBackward (const size_t length, const size_t oldStartIdx, const size_t newStartIdx) |
| move memory blocks backwards | |
| void | memMoveForward (const size_t length, const size_t oldStartIdx, const size_t newStartIdx) |
| move memory blocks forward | |
| void | setMemoryFactor (const double memFactor) |
| set memory overestimate factor, here does nothing | |
Protected Member Functions | |
| void | assign (const ThisType &other) |
| ThisType & | asImp () |
| const ThisType & | asImp () const |
Protected Attributes | |
| ArrayType & | array_ |
| CounterType | sequence_ |
Detailed Description
class Dune::Fem::SimpleBlockVector< Container, BlockSize >
This is the reference implementation of a block vector as it is expected as the second template parameter to Dune::Fem::BlockVectorDiscreteFunction.
- Template Parameters
-
Imp Implementation Field Field type of all dofs Container Container type BlockSize Size of the blocks Field Field type of all dofs BlockSize Size of the blocks
Member Typedef Documentation
◆ BlockIndices
| typedef Hybrid::IndexRange< int, blockSize > Dune::Fem::SimpleBlockVector< Container, BlockSize >::BlockIndices |
◆ ConstDofBlockPtrType
| typedef Fem::Envelope< ConstDofBlockType > Dune::Fem::SimpleBlockVector< Container, BlockSize >::ConstDofBlockPtrType |
◆ ConstDofBlockType
| typedef DofBlockType Dune::Fem::SimpleBlockVector< Container, BlockSize >::ConstDofBlockType |
Type of one constant block.
◆ ConstIteratorType
| typedef ArrayType::const_iterator Dune::Fem::SimpleBlockVector< Container, BlockSize >::ConstIteratorType |
Constant iterator to iterate over the dofs.
◆ DofBlockPtrType
| typedef Fem::Envelope< DofBlockType > Dune::Fem::SimpleBlockVector< Container, BlockSize >::DofBlockPtrType |
◆ DofBlockType
| typedef SubVector< DofContainerType, StaticOffsetSubMapper< BlockSize > > Dune::Fem::SimpleBlockVector< Container, BlockSize >::DofBlockType |
Type of one (mutable) block.
◆ DofContainerType
| typedef ArrayType Dune::Fem::SimpleBlockVector< Container, BlockSize >::DofContainerType |
◆ DofType
|
inherited |
make consistent with discrete function
◆ FieldType
| typedef ArrayType::value_type Dune::Fem::SimpleBlockVector< Container, BlockSize >::FieldType |
Type of the field the dofs lie in.
◆ IteratorType
| typedef ArrayType::iterator Dune::Fem::SimpleBlockVector< Container, BlockSize >::IteratorType |
Iterator to iterate over the dofs.
◆ size_type
| typedef SizeType Dune::Fem::SimpleBlockVector< Container, BlockSize >::size_type |
Typedef to make this class STL-compatible.
◆ SizeType
| typedef ArrayType::size_type Dune::Fem::SimpleBlockVector< Container, BlockSize >::SizeType |
Used for indexing the blocks, for example.
◆ value_type
| typedef FieldType Dune::Fem::SimpleBlockVector< Container, BlockSize >::value_type |
Typedef to make this class STL-compatible.
Member Enumeration Documentation
◆ anonymous enum
Constructor & Destructor Documentation
◆ SimpleBlockVector()
|
inlineexplicit |
Constructor.
Member Function Documentation
◆ array() [1/2]
|
inline |
◆ array() [2/2]
|
inline |
◆ asImp() [1/2]
|
inlineprotectedinherited |
◆ asImp() [2/2]
|
inlineprotectedinherited |
◆ assign()
|
inlineprotectedinherited |
◆ axpy()
|
inlineinherited |
Add a scalar multiple of another block vector to this block vector.
Semantic in pseudocode: " *this = *this + scalar*v "
- Parameters
-
[in] scalar Scalar factor by which v is multiplied before it is added to *this [in] other The other block vector
◆ beforeBegin() [1/2]
|
inline |
Iterator pointing to before the first dof.
◆ beforeBegin() [2/2]
|
inline |
Iterator pointing to before the first dof.
◆ beforeEnd() [1/2]
|
inline |
Iterator pointing to last dof.
◆ beforeEnd() [2/2]
|
inline |
Iterator pointing to last dof.
◆ begin() [1/2]
|
inline |
Iterator pointing to the first dof.
◆ begin() [2/2]
|
inline |
Const-iterator pointing to the first dof.
◆ blockPtr() [1/2]
|
inline |
Access the i-th block.
◆ blockPtr() [2/2]
|
inline |
Constant access for the i-th block.
◆ clear()
|
inlineinherited |
Clear this block vector, i.e. set each dof to 0.
◆ copyContent()
|
inlineinherited |
implements array[ newIndex ] = array[ oldIndex ]
◆ data() [1/2]
|
inline |
◆ data() [2/2]
|
inline |
◆ end() [1/2]
|
inline |
Iterator pointing to the last dof.
◆ end() [2/2]
|
inline |
Const-iterator pointing to the last dof.
◆ find() [1/2]
|
inline |
Iterator pointing to a given dof (non blocked numbering)
◆ find() [2/2]
|
inline |
Iterator pointing to a given dof (non blocked numbering)
◆ memMoveBackward()
|
inlineinherited |
move memory blocks backwards
◆ memMoveForward()
|
inlineinherited |
move memory blocks forward
◆ numDofs()
|
inline |
Number of dofs in the block vector.
◆ operator*()
|
inlineinherited |
Scalar product between *this and another block vector.
◆ operator*=()
|
inlineinherited |
Scale this block vector.
- Parameters
-
[in] scalar Factor for the scaling
- Returns
- Constant reference to *this
◆ operator+=()
|
inlineinherited |
Add another block vector to *this.
◆ operator-=()
|
inlineinherited |
Subtract another block vector from *this.
◆ operator=()
|
inline |
Copy assignment operator.
◆ operator[]() [1/2]
|
inline |
Access the i-th block.
◆ operator[]() [2/2]
|
inline |
Constant access the i-th block.
◆ setMemoryFactor()
|
inlineinherited |
set memory overestimate factor, here does nothing
◆ size()
|
inline |
Number of blocks.
◆ usedMemorySize()
|
inlineinherited |
return memory used by this block vector
Member Data Documentation
◆ array_
|
protected |
◆ sequence_
|
mutableprotectedinherited |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8