Diffpack Documentation
Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Search
NonLinEqSolvers Class Reference
switching of various nonlinear solvers to improve convergence.
More...
#include <NonLinEqSolvers.h>
Inheritance diagram for NonLinEqSolvers::
List of all members.
Detailed Description
switching of various nonlinear solvers to improve convergence.
NAME: NonLinEqSolvers - switching of various nonlinear solvers to improve convergence
DESCRIPTION:
The class allows a nonlinear problem to be solved by a collection of standard nonlinear solvers such as the Newton-Raphson method or the successive substitution method (also known as Picard iteration). For example, one can employ the more robust successive substitution method during the first iterations and when convergence is within reach, one can switch to the faster Newton-Raphson scheme. If the iterations diverge, one can switch back again and so on.
The class behaves very much like "NonLinEqSolver" (in fact, a simulation code will hardly distinguish the use of the two).
Constructor & Destructor Documentation
|
|
There is one constrcutor accepting a "NonLinEqSolvers_prm" object that will do the initialization. There is also a default constructor without arguments, but this should not be used and will result in an error message. |
|
NonLinEqSolvers::NonLinEqSolvers (
|
)
|
|
|
|
See documentation of one of the overloaded constructor. |
Member Function Documentation
|
void NonLinEqSolvers::attachLinSol (
|
Vector(NUMT) & linear_subproblem_solution )
|
|
|
void NonLinEqSolvers::attachLinSol (
|
LinEqVector & linear_subproblem_solution )
|
|
|
void NonLinEqSolvers::attachMatrix (
|
Matrix(NUMT) & coeff_matrix )
|
|
|
void NonLinEqSolvers::attachMatrix (
|
LinEqMatrix & coeff_matrix )
|
|
|
void NonLinEqSolvers::attachNonLinSol (
|
Vector(NUMT) & nonlinear_solution )
|
|
|
void NonLinEqSolvers::attachNonLinSol (
|
LinEqVector & nonlinear_solution )
|
|
|
void NonLinEqSolvers::attachResidual (
|
Vector(NUMT) & residual )
|
|
|
void NonLinEqSolvers::attachResidual (
|
LinEqVector & residual )
|
|
|
bool NonLinEqSolvers::converged (
|
)
|
|
|
int NonLinEqSolvers::getCurrentSolver (
|
) const [inline]
|
|
|
real NonLinEqSolvers::getEps (
|
) const [inline]
|
|
|
int NonLinEqSolvers::getTotalNoIter (
|
) const [inline]
|
|
|
void NonLinEqSolvers::initSingleStep (
|
)
|
|
|
const NonLinEqSolver & NonLinEqSolvers::operator() (
|
int i ) const [inline]
|
|
|
void NonLinEqSolvers::setCurrentSolver (
|
int i ) [inline]
|
|
|
bool NonLinEqSolvers::singleStep (
|
) [inline]
|
|
|
bool NonLinEqSolvers::solve (
|
)
|
|
|
void NonLinEqSolvers::writeHeadings (
|
StringList & headings ) [static]
|
|
|
void NonLinEqSolvers::writeResults (
|
StringList & results )
|
|
Member Data Documentation
|
bool NonLinEqSolvers::continuation_stop
|
|
int NonLinEqSolvers::current [protected]
|
|
real NonLinEqSolvers::eps [protected]
|
|
int NonLinEqSolvers::total_niter [protected]
|
|
The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.