NLTimeAssemble< T > Class Template Reference

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

#include <NLTimeStep.hpp>

Inheritance diagram for NLTimeAssemble< T >:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void PrintParam ()=0
 Prints parameters of the discretization.
virtual void PreProcess (GridVec< T > &u, SysMatrix< T > &J)
 Prepares the assembling procedure for a given matrix hierarchy and the grid-function sizes.
virtual void Defect (double delta_t, GridVec< T > &u, GridVec< T > &d, T s_a)=0
 Computes the non-linear defect for a given guess.
virtual bool Jacobian (double delta_t, GridVec< T > &u, SysMatrix< T > &J, T s_a)=0
 Computes the Jacobian (for all the matrices in the hierarchy) of the system or its approximation at a given guess.
virtual void PostProcess ()
 Releases the memory, etc.
virtual ~NLTimeAssemble ()
 Virtual destructor.

Detailed Description

template<typename T>
class NLTimeAssemble< T >

Base class for non-linear time-dependent discretizations.

This is a base class for discretizations of time-dependent problems for which the computation of the solution on the new time level cannot be reduced to solving a linear problem. (Else you can use LinTimeAssemble<T>.) This class declares the pure virtual functions for the computation of the defect and the Jacobian of the non-linear system for the grid function on the new time step.

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>
virtual NLTimeAssemble< T >::~NLTimeAssemble (  )  [inline, virtual]

Virtual destructor.


Member Function Documentation

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

Prints parameters of the discretization.

Implemented in NLTGlobalAssemble< T >.

template<typename T>
virtual void NLTimeAssemble< T >::PreProcess ( GridVec< T > &  u,
SysMatrix< T > &  J 
) [inline, virtual]

Prepares the assembling procedure for a given matrix hierarchy and the grid-function sizes.

Note:
Only the sizes of 'u' and 'J', not the values, may be used.
Parameters:
[in] u A vector for the guess on a time level
[in] J The matrix hierarchy for the Jacobian

Reimplemented in NLTGlobalAssemble< T >.

template<typename T>
virtual void NLTimeAssemble< T >::Defect ( double  delta_t,
GridVec< T > &  u,
GridVec< T > &  d,
s_a 
) [pure virtual]

Computes the non-linear defect for a given guess.

Parameters:
[in] delta_t The time step
[in] u The guess to compute the defect at
[in] d For the defect on the new time level
[in] s_a The factor for the stiffness part (that for the mass part is 1)

Implemented in NLTGlobalAssemble< T >.

template<typename T>
virtual bool NLTimeAssemble< T >::Jacobian ( double  delta_t,
GridVec< T > &  u,
SysMatrix< T > &  J,
s_a 
) [pure virtual]

Computes the Jacobian (for all the matrices in the hierarchy) of the system or its approximation at a given guess.

This function should return true if the Jacobian does not exist for this guess, or the approximation cannot be computed. Otherwise the function should return false.

Parameters:
[in] delta_t The time step
[in] u The guess to compute the Jacobian at
[in] J For the Jacobian on the new time level
[in] s_a The factor for the stiffness matrix (that for the mass matrix is 1)

Implemented in NLTGlobalAssemble< T >.

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

Releases the memory, etc.

Reimplemented in NLTGlobalAssemble< T >.


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