LinTimeAssemble< T > Class Template Reference

Base class for linear time-dependent discretizations. More...

#include <LinTimeStep.hpp>

Inheritance diagram for LinTimeAssemble< T >:

Inheritance graph
[legend]
Collaboration diagram for LinTimeAssemble< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

const bool & RecompMatrix () const
 Returns true if the matrix is recomputed every time step.
virtual void PrintParam ()=0
 Prints parameters of the discretization.
virtual void AssembleMatrix (GridVec< T > &u, SysMatrix< T > &A, T s_a)=0
 Assembles the matrix.
virtual void AddExplicit (T factor, GridVec< T > &u, GridVec< T > &v)
 Adds the terms implemented as explicit.
 LinTimeAssemble (bool rAf)
 Constructor.
virtual ~LinTimeAssemble ()
 Virtual destructor.

Detailed Description

template<typename T>
class LinTimeAssemble< T >

Base class for linear time-dependent discretizations.

This base class is designed for time-dependent problems discretized in such a way that only a linear system is to be solved in every time step. Nevertheless, there may be non-linear terms discretized explicitly. Besides, the matrix of the linear system may depend on the solution from the old time level. (Cf. also class NLTimeAssemble<T>.)

Note:
The template depends on a type T. This type should satisfy the conditions listed in small_matrix.hpp for small matrices.


Constructor & Destructor Documentation

template<typename T>
LinTimeAssemble< T >::LinTimeAssemble ( bool  rAf  )  [inline]

Constructor.

Parameters:
[in] rAf If the matrix should be recomputed every time step

template<typename T>
virtual LinTimeAssemble< T >::~LinTimeAssemble (  )  [inline, virtual]

Virtual destructor.


Member Function Documentation

template<typename T>
const bool& LinTimeAssemble< T >::RecompMatrix (  )  const [inline]

Returns true if the matrix is recomputed every time step.

template<typename T>
virtual void LinTimeAssemble< T >::PrintParam (  )  [pure virtual]

Prints parameters of the discretization.

Implemented in GenLinVcFV< T, Flux >.

template<typename T>
virtual void LinTimeAssemble< T >::AssembleMatrix ( GridVec< T > &  u,
SysMatrix< T > &  A,
s_a 
) [pure virtual]

Assembles the matrix.

Parameters:
[in] u Solution from the last time step
[in] A The matrix to assemble; the sizes must be set
[in] s_a The factor for the stiffness matrix (that for the mass matrix is 1)

Implemented in GenLinVcFV< T, Flux >.

template<typename T>
virtual void LinTimeAssemble< T >::AddExplicit ( factor,
GridVec< T > &  u,
GridVec< T > &  v 
) [inline, virtual]

Adds the terms implemented as explicit.

Note:
'AddExplicit' may not change 'u'. The 'factor' takes into account only the time stepping coefficients, but not the terms coming from the mass matrix.
Parameters:
[in] factor The factor to multiply the terms by
[in] u Solution from the last time step
[in] v The vector to add the explicit terms to (may not be 'u')


The documentation for this class was generated from the following file:
Generated on Fri Sep 21 12:34:18 2007 for SG2 by  doxygen 1.5.2