Cantera  2.0
Classes | Namespaces
NonlinearSolver.h File Reference

Class that calculates the solution to a nonlinear, dense, set of equations (see Numerical Utilities within Cantera and class NonlinearSolver). More...

#include "ResidJacEval.h"
#include "SquareMatrix.h"
Include dependency graph for NonlinearSolver.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  NonlinearSolver
 Class that calculates the solution to a nonlinear system. More...
 

Namespaces

namespace  Cantera
 Provides class Nucleus.
 

Macros

Constant which determines the type of the nonlinear solve
#define NSOLN_TYPE_PSEUDO_TIME_DEPENDENT   2
 The nonlinear problem is part of a pseudo time dependent calculation (NOT TESTED)
 
#define NSOLN_TYPE_TIME_DEPENDENT   1
 The nonlinear problem is part of a time dependent calculation.
 
#define NSOLN_TYPE_STEADY_STATE   0
 The nonlinear problem is part of a steady state calculation.
 
Constant which determines the Return int from the nonlinear solver
#define NSOLN_RETN_SUCCESS   1
 The nonlinear solve is successful.
 
#define NSOLN_RETN_CONTINUE   0
 Problem isn't solved yet.
 
#define NSOLN_RETN_FAIL_STEPTOOSMALL   -1
 The nonlinear problem started to take too small an update step.
 
#define NSOLN_RETN_FAIL_DAMPSTEP   -2
 The nonlinear problem didn't solve the problem.
 
#define NSOLN_RETN_MATRIXINVERSIONERROR   -3
 The nonlinear problem's jacobian is singular.
 
#define NSOLN_RETN_JACOBIANFORMATIONERROR   -4
 The nonlinear problem's jacobian formation produced an error.
 
#define NSOLN_RETN_RESIDUALFORMATIONERROR   -5
 The nonlinear problem's base residual produced an error.
 
#define NSOLN_RETN_MAXIMUMITERATIONSEXCEEDED   -7
 The nonlinear problem's max number of iterations has been exceeded.
 
Constant which determines the type of the Jacobian

The jacobian will be calculated from a numerical method

#define NSOLN_JAC_NUM   1
 
#define NSOLN_JAC_ANAL   2
 The jacobian is calculated from an analytical function.
 

Detailed Description

Class that calculates the solution to a nonlinear, dense, set of equations (see Numerical Utilities within Cantera and class NonlinearSolver).

Definition in file NonlinearSolver.h.

Macro Definition Documentation

#define NSOLN_TYPE_PSEUDO_TIME_DEPENDENT   2

The nonlinear problem is part of a pseudo time dependent calculation (NOT TESTED)

I think steady state is the only option I'm gunning for

Definition at line 30 of file NonlinearSolver.h.

#define NSOLN_TYPE_TIME_DEPENDENT   1

The nonlinear problem is part of a time dependent calculation.

Definition at line 32 of file NonlinearSolver.h.

#define NSOLN_TYPE_STEADY_STATE   0
#define NSOLN_RETN_SUCCESS   1

The nonlinear solve is successful.

This int is returned from the nonlinear solver

Definition at line 44 of file NonlinearSolver.h.

Referenced by NonlinearSolver::solve_nonlinear_problem().

#define NSOLN_RETN_CONTINUE   0

Problem isn't solved yet.

Definition at line 46 of file NonlinearSolver.h.

Referenced by NonlinearSolver::solve_nonlinear_problem().

#define NSOLN_RETN_FAIL_STEPTOOSMALL   -1

The nonlinear problem started to take too small an update step.

This indicates that either the Jacobian is bad, or a constraint is being bumped up against.

Definition at line 49 of file NonlinearSolver.h.

#define NSOLN_RETN_FAIL_DAMPSTEP   -2

The nonlinear problem didn't solve the problem.

Definition at line 51 of file NonlinearSolver.h.

Referenced by NonlinearSolver::dampDogLeg(), and NonlinearSolver::dampStep().

#define NSOLN_RETN_MATRIXINVERSIONERROR   -3

The nonlinear problem's jacobian is singular.

Definition at line 53 of file NonlinearSolver.h.

Referenced by NonlinearSolver::solve_nonlinear_problem().

#define NSOLN_RETN_JACOBIANFORMATIONERROR   -4

The nonlinear problem's jacobian formation produced an error.

Definition at line 55 of file NonlinearSolver.h.

Referenced by NonlinearSolver::solve_nonlinear_problem().

#define NSOLN_RETN_RESIDUALFORMATIONERROR   -5

The nonlinear problem's base residual produced an error.

Definition at line 57 of file NonlinearSolver.h.

Referenced by NonlinearSolver::solve_nonlinear_problem().

#define NSOLN_RETN_MAXIMUMITERATIONSEXCEEDED   -7

The nonlinear problem's max number of iterations has been exceeded.

Definition at line 59 of file NonlinearSolver.h.

Referenced by NonlinearSolver::solve_nonlinear_problem().

#define NSOLN_JAC_ANAL   2

The jacobian is calculated from an analytical function.

Definition at line 68 of file NonlinearSolver.h.

Referenced by NonlinearSolver::beuler_jac().