dune-fem  2.4.1-rc
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 </local/tomalk/somewhere/tmp/dune-fem/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. More...
 

Public Member Functions

const ThisTypeoperator= (const ThisType &other)
 Copy assignment operator. More...
 
const ThisTypeoperator+= (const ThisType &other)
 Add another block vector to *this. More...
 
const ThisTypeoperator-= (const ThisType &other)
 Subtract another block vector from *this. More...
 
FieldType operator* (const ThisType &other) const
 Scalar product *this with another block vector. More...
 
const ThisTypeoperator*= (const FieldType &scalar)
 Scale this block vector. More...
 
void axpy (const FieldType &scalar, const ThisType &other)
 Add a scalar multiple of another block vector to this block vector. More...
 
void clear ()
 Clear this block vector, i.e. set each dof to 0. More...
 

Protected Types

typedef DebugCounter< size_t > CounterType
 
typedef Imp ThisType
 Type of derived class (implementation) More...
 

Protected Member Functions

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

Protected Attributes

CounterType sequence_
 

Member Typedef Documentation

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

Type of the field the dofs lie in.

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

Type of derived class (implementation)

Constructor & Destructor Documentation

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

Member Function Documentation

template<class Imp, class Field>
ThisType& Dune::Fem::BlockVectorInterface< Imp, Field >::asImp ( )
inlineprotected
template<class Imp, class Field>
const ThisType& Dune::Fem::BlockVectorInterface< Imp, Field >::asImp ( ) const
inlineprotected
template<class Imp, class Field>
void Dune::Fem::BlockVectorInterface< Imp, Field >::assign ( const ThisType other)
inlineprotected
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
template<class Imp, class Field>
void Dune::Fem::BlockVectorInterface< Imp, Field >::clear ( )
inline

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

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

Scalar product *this with another block vector.

Parameters
[in]otherOther block vector
Returns
Returns the scalar product " (*this)*other"
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
template<class Imp, class Field>
const ThisType& Dune::Fem::BlockVectorInterface< Imp, Field >::operator+= ( const ThisType other)
inline

Add another block vector to *this.

Parameters
[in]otherOther block vector to add
Returns
Constant reference to *this
template<class Imp, class Field>
const ThisType& Dune::Fem::BlockVectorInterface< Imp, Field >::operator-= ( const ThisType other)
inline

Subtract another block vector from *this.

Parameters
[in]otherOther block vector to subtract
Returns
Constant reference to *this
template<class Imp, class Field>
const ThisType& Dune::Fem::BlockVectorInterface< Imp, Field >::operator= ( const ThisType other)
inline

Copy assignment operator.

Member Data Documentation

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

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