dune-fem 2.8.0
|
#include <dune/fem/function/blockvectors/defaultblockvectors.hh>
Classes | |
class | Iterator |
Public Types | |
enum | { blockSize = DofBlock :: dimension } |
typedef ArrayType | DofContainerType |
typedef Hybrid::IndexRange< int, blockSize > | BlockIndices |
typedef DofBlock::value_type | FieldType |
typedef Iterator< typename ArrayType::Iterator, FieldType > | IteratorType |
typedef Iterator< typename ArrayType::ConstIterator, const FieldType > | ConstIteratorType |
typedef DofBlock | DofBlockType |
typedef const DofBlock | ConstDofBlockType |
typedef DofBlockType * | DofBlockPtrType |
typedef ConstDofBlockType * | ConstDofBlockPtrType |
typedef ArrayType::size_type | SizeType |
typedef ArrayType::value_type | value_type |
Typedef to make this class STL-compatible. | |
Public Member Functions | |
ISTLBlockVector (const ThisType &)=default | |
ISTLBlockVector (ArrayType *array) | |
Constructor. | |
ISTLBlockVector ()=default | |
const ThisType & | operator= (const ThisType &other) |
Copy assignment operator. | |
DofBlockPtrType | blockPtr (const unsigned int i) |
ConstDofBlockPtrType | blockPtr (const unsigned int i) const |
DofBlockType & | operator[] (const unsigned int i) |
ConstDofBlockType & | operator[] (const unsigned int i) const |
IteratorType | begin () |
ConstIteratorType | begin () const |
IteratorType | end () |
ConstIteratorType | end () const |
SizeType | size () const |
SizeType | numDofs () const |
Number of dofs in the block vector. | |
void | reserve (const int size) |
Reserve memory. | |
void | resize (SizeType size) |
Resize the block vector. | |
ArrayType & | array () |
const ArrayType & | array () const |
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 Types | |
typedef DebugCounter< size_t > | CounterType |
Protected Member Functions | |
void | assign (const ThisType &other) |
ThisType & | asImp () |
const ThisType & | asImp () const |
Protected Attributes | |
ArrayType * | array_ |
CounterType | sequence_ |
typedef Hybrid::IndexRange< int, blockSize > Dune::Fem::ISTLBlockVector< DofBlock >::BlockIndices |
typedef ConstDofBlockType* Dune::Fem::ISTLBlockVector< DofBlock >::ConstDofBlockPtrType |
typedef const DofBlock Dune::Fem::ISTLBlockVector< DofBlock >::ConstDofBlockType |
typedef Iterator< typename ArrayType::ConstIterator, const FieldType > Dune::Fem::ISTLBlockVector< DofBlock >::ConstIteratorType |
|
protectedinherited |
typedef DofBlockType* Dune::Fem::ISTLBlockVector< DofBlock >::DofBlockPtrType |
typedef DofBlock Dune::Fem::ISTLBlockVector< DofBlock >::DofBlockType |
typedef ArrayType Dune::Fem::ISTLBlockVector< DofBlock >::DofContainerType |
typedef DofBlock::value_type Dune::Fem::ISTLBlockVector< DofBlock >::FieldType |
typedef Iterator< typename ArrayType::Iterator, FieldType > Dune::Fem::ISTLBlockVector< DofBlock >::IteratorType |
typedef ArrayType::size_type Dune::Fem::ISTLBlockVector< DofBlock >::SizeType |
typedef ArrayType::value_type Dune::Fem::ISTLBlockVector< DofBlock >::value_type |
Typedef to make this class STL-compatible.
|
default |
|
inlineexplicit |
Constructor.
|
default |
|
inline |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineinherited |
Add a scalar multiple of another block vector to this block vector.
Semantic in pseudocode: " *this = *this + scalar*v "
[in] | scalar | Scalar factor by which v is multiplied before it is added to *this |
[in] | other | The other block vector |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
Clear this block vector, i.e. set each dof to 0.
|
inlineinherited |
implements array[ newIndex ] = array[ oldIndex ]
|
inline |
|
inline |
|
inlineinherited |
move memory blocks backwards
|
inlineinherited |
move memory blocks forward
|
inline |
Number of dofs in the block vector.
|
inlineinherited |
Scalar product between *this and another block vector.
|
inlineinherited |
Scale this block vector.
[in] | scalar | Factor for the scaling |
|
inlineinherited |
Add another block vector to *this.
|
inlineinherited |
Subtract another block vector from *this.
|
inline |
Copy assignment operator.
|
inline |
|
inline |
|
inline |
Reserve memory.
This method is a no-op. It is defined here to make the block vector compatible to the managed dof storage mechanisms used by Dune::Fem::BlockVectorDiscreteFunction
[in] | size | Number of blocks |
|
inline |
Resize the block vector.
|
inlineinherited |
set memory overestimate factor, here does nothing
|
inline |
|
inlineinherited |
return memory used by this block vector
|
protected |
|
mutableprotectedinherited |