NLTSScheme< T > Class Template Reference

Base class for non-linear time stepping schemes. More...

#include <NLTimeStep.hpp>

Inheritance diagram for NLTSScheme< T >:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

double TimeStep () const
 Returns the current time step.
virtual void PrintParam ()=0
 Prints parameters of the scheme.
virtual void PreProcess (GridVec< T > &u_0)=0
 Initializes the time stepping process.
virtual void Step (GridVec< T > &u_old, GridVec< T > &u_new)=0
 Computes one time step.
virtual void PostProcess ()
 Releases the memory, ...
 NLTSScheme (double init_dt, NLTimeAssemble< T > &the_assembler)
 Constructor.
virtual ~NLTSScheme ()
 Virtual destructor.

Public Attributes

unsigned disp_type
 the display type

Protected Attributes

double dt
NLTimeAssemble< T > * assembler

Detailed Description

template<typename T>
class NLTSScheme< T >

Base class for non-linear time stepping schemes.

This is a base class for time stepping schemes for problems that are represented by classes derived from NLTimeAssemble<T>. Cf. the descriptions of NLTimeAssemble<T> for details.

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>
NLTSScheme< T >::NLTSScheme ( double  init_dt,
NLTimeAssemble< T > &  the_assembler 
) [inline]

Constructor.

Parameters:
[in] init_dt The initial time step
[in] the_assembler The discretization

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

Virtual destructor.


Member Function Documentation

template<typename T>
double NLTSScheme< T >::TimeStep (  )  const [inline]

Returns the current time step.

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

Prints parameters of the scheme.

Implemented in NLWTSScheme< T >.

template<typename T>
virtual void NLTSScheme< T >::PreProcess ( GridVec< T > &  u_0  )  [pure virtual]

Initializes the time stepping process.

Parameters:
[in] u_0 The initial condition

Implemented in NLWTSScheme< T >.

template<typename T>
virtual void NLTSScheme< T >::Step ( GridVec< T > &  u_old,
GridVec< T > &  u_new 
) [pure virtual]

Computes one time step.

Note:
'u_old' and 'u_new' may not be the same vector!
Parameters:
[in] u_old Solution from the old time step
[in] u_new For the solution on the new time step

Implemented in NLWTSScheme< T >.

template<typename T>
virtual void NLTSScheme< T >::PostProcess (  )  [inline, virtual]

Releases the memory, ...

Reimplemented in NLWTSScheme< T >.


Member Data Documentation

template<typename T>
double NLTSScheme< T >::dt [protected]

the current time step

template<typename T>
NLTimeAssemble<T>* NLTSScheme< T >::assembler [protected]

the spatial discretization

template<typename T>
NLTSScheme< T >::disp_type

the display type

Note:
Change 'disp_type' any time you like.


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