dune-fem 2.8.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::BlockVectorInterface< Imp, Field > Class Template Reference

#include <dune/fem/function/blockvectors/defaultblockvectors.hh>

Inheritance diagram for Dune::Fem::BlockVectorInterface< Imp, Field >:
Inheritance graph

Public Types

typedef Field FieldType
 Type of the field the dofs lie in.
 

Public Member Functions

const ThisTypeoperator= (const ThisType &other)
 Copy assignment operator.
 
const ThisTypeoperator+= (const ThisType &other)
 Add another block vector to *this.
 
const ThisTypeoperator-= (const ThisType &other)
 Subtract another block vector from *this.
 
FieldType operator* (const ThisType &other) const
 Scalar product between *this and another block vector.
 
const ThisTypeoperator*= (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
 
typedef Imp ThisType
 Type of derived class (implementation)
 

Protected Member Functions

 BlockVectorInterface ()
 
void assign (const ThisType &other)
 
ThisTypeasImp ()
 
const ThisTypeasImp () const
 

Protected Attributes

CounterType sequence_
 

Member Typedef Documentation

◆ CounterType

template<class Imp , class Field >
typedef DebugCounter<size_t> Dune::Fem::BlockVectorInterface< Imp, Field >::CounterType
protected

◆ FieldType

template<class Imp , class Field >
typedef Field Dune::Fem::BlockVectorInterface< Imp, Field >::FieldType

Type of the field the dofs lie in.

◆ ThisType

template<class Imp , class Field >
typedef Imp Dune::Fem::BlockVectorInterface< Imp, Field >::ThisType
protected

Type of derived class (implementation)

Constructor & Destructor Documentation

◆ BlockVectorInterface()

template<class Imp , class Field >
Dune::Fem::BlockVectorInterface< Imp, Field >::BlockVectorInterface ( )
inlineprotected

Member Function Documentation

◆ asImp() [1/2]

template<class Imp , class Field >
ThisType & Dune::Fem::BlockVectorInterface< Imp, Field >::asImp ( )
inlineprotected

◆ asImp() [2/2]

template<class Imp , class Field >
const ThisType & Dune::Fem::BlockVectorInterface< Imp, Field >::asImp ( ) const
inlineprotected

◆ assign()

template<class Imp , class Field >
void Dune::Fem::BlockVectorInterface< Imp, Field >::assign ( const ThisType other)
inlineprotected

◆ axpy()

template<class Imp , class Field >
void Dune::Fem::BlockVectorInterface< Imp, Field >::axpy ( const FieldType scalar,
const ThisType other 
)
inline

Add a scalar multiple of another block vector to this block vector.

Semantic in pseudocode: " *this = *this + scalar*v "

Parameters
[in]scalarScalar factor by which v is multiplied before it is added to *this
[in]otherThe other block vector

◆ clear()

template<class Imp , class Field >
void Dune::Fem::BlockVectorInterface< Imp, Field >::clear ( )
inline

Clear this block vector, i.e. set each dof to 0.

◆ copyContent()

template<class Imp , class Field >
void Dune::Fem::BlockVectorInterface< Imp, Field >::copyContent ( const size_t  newIndex,
const size_t  oldIndex 
)
inline

implements array[ newIndex ] = array[ oldIndex ]

◆ memMoveBackward()

template<class Imp , class Field >
void Dune::Fem::BlockVectorInterface< Imp, Field >::memMoveBackward ( const size_t  length,
const size_t  oldStartIdx,
const size_t  newStartIdx 
)
inline

move memory blocks backwards

◆ memMoveForward()

template<class Imp , class Field >
void Dune::Fem::BlockVectorInterface< Imp, Field >::memMoveForward ( const size_t  length,
const size_t  oldStartIdx,
const size_t  newStartIdx 
)
inline

move memory blocks forward

◆ operator*()

template<class Imp , class Field >
FieldType Dune::Fem::BlockVectorInterface< Imp, Field >::operator* ( const ThisType other) const
inline

Scalar product between *this and another block vector.

◆ operator*=()

template<class Imp , class Field >
const ThisType & Dune::Fem::BlockVectorInterface< Imp, Field >::operator*= ( const FieldType scalar)
inline

Scale this block vector.

Parameters
[in]scalarFactor for the scaling
Returns
Constant reference to *this

◆ operator+=()

template<class Imp , class Field >
const ThisType & Dune::Fem::BlockVectorInterface< Imp, Field >::operator+= ( const ThisType other)
inline

Add another block vector to *this.

◆ operator-=()

template<class Imp , class Field >
const ThisType & Dune::Fem::BlockVectorInterface< Imp, Field >::operator-= ( const ThisType other)
inline

Subtract another block vector from *this.

◆ operator=()

template<class Imp , class Field >
const ThisType & Dune::Fem::BlockVectorInterface< Imp, Field >::operator= ( const ThisType other)
inline

Copy assignment operator.

◆ setMemoryFactor()

template<class Imp , class Field >
void Dune::Fem::BlockVectorInterface< Imp, Field >::setMemoryFactor ( const double  memFactor)
inline

set memory overestimate factor, here does nothing

◆ usedMemorySize()

template<class Imp , class Field >
std::size_t Dune::Fem::BlockVectorInterface< Imp, Field >::usedMemorySize ( ) const
inline

return memory used by this block vector

Member Data Documentation

◆ sequence_

template<class Imp , class Field >
CounterType Dune::Fem::BlockVectorInterface< Imp, Field >::sequence_
mutableprotected

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