NonLinSolver< T > Class Template Reference

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

#include <NonLinSolver.hpp>

Inheritance diagram for NonLinSolver< T >:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void PrintParam ()=0
 Pints the name and parameters of the solver.
virtual void Run (NonLinSys< T > &p, GridVec< T > &u)=0
 Solves a given non-linear system.
virtual ~NonLinSolver ()
 Virtual destructor.

Detailed Description

template<typename T>
class NonLinSolver< T >

The non-linear solver class template.

This virtual class is a base for all non-linear solvers (like the Newton method). The non-linear system must be represented by the class NonLinSys<T> (with the same T). The algorithm of the non-linear solver should be implemented in NonLinSolver<T>Run.

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

Virtual destructor.


Member Function Documentation

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

Pints the name and parameters of the solver.

Implemented in NewtonSolver< T >.

template<typename T>
virtual void NonLinSolver< T >::Run ( NonLinSys< T > &  p,
GridVec< T > &  u 
) [pure virtual]

Solves a given non-linear system.

If this is an iterative solver, starts the process with a given initial guess. This function should throw exceptions on errors.

Parameters:
[in] p The non-linear system to solve
[in] u The initial guess and the solution

Implemented in NewtonSolver< T >.


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