NonLinSys< T > Class Template Reference

The non-linear system class template. More...

#include <NonLinSolver.hpp>

Inheritance diagram for NonLinSys< T >:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void PrintParam ()=0
 Prints the name and short description of the system and assembles the known parts of the solution.
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 (GridVec< T > &u, GridVec< T > &d)=0
 Computes the non-linear defect for a given guess.
virtual bool Jacobian (GridVec< T > &u, SysMatrix< T > &J)=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 ~NonLinSys ()
 Virtual destructor.

Detailed Description

template<typename T>
class NonLinSys< T >

The non-linear system class template.

The non-linear system should be represented by assempling routines for the residual and the Jacobian (or its approximation) at a given point (guess). This is provided by the standard interface class NonLinSys<T>. The Jacobian should be assembled on all the grid levels of the hierarchy. For this, the assembling procedure may need to restrict the guess (which is given only on the finest level) to the coarser grid levels.

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

Virtual destructor.


Member Function Documentation

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

Prints the name and short description of the system and assembles the known parts of the solution.

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

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

Parameters:
[in] u A vector for the guess
[in] J The matrix hierarchy for the Jacobian
Note:
Only the sizes of 'u' and 'J', not the values, may be used. But the function can initialize some entries of the solution.

template<typename T>
virtual void NonLinSys< T >::Defect ( GridVec< T > &  u,
GridVec< T > &  d 
) [pure virtual]

Computes the non-linear defect for a given guess.

Parameters:
[in] u The guess
[in] d For the defect

template<typename T>
virtual bool NonLinSys< T >::Jacobian ( GridVec< T > &  u,
SysMatrix< T > &  J 
) [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] u The guess
[in] J For the Jacobian

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

Releases the memory, etc.


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