#include <SolverNleInterface.h>
Interface to solver of systems of non-linear algebraic equations
#include <libpf/core/SolverNleInterface.h>
- Warning
-
Thread safe:
-
Extendable:
-
Platform dependencies:
◆ ~SolverNleInterface()
SolverNleInterface::~SolverNleInterface |
( |
void |
| ) |
|
|
protected |
◆ SolverNleInterface()
◆ bmpout()
void SolverNleInterface::bmpout |
( |
char * |
file_out_name | ) |
const |
◆ calculateF()
virtual double SolverNleInterface::calculateF |
( |
void |
| ) |
|
|
pure virtual |
calculates F; returns the norm of the residuals
Implemented in Numeric, and Automatic.
◆ calculateFJ()
virtual double SolverNleInterface::calculateFJ |
( |
void |
| ) |
|
|
pure virtual |
calculates F and J; returns the norm of the residuals
Implemented in Numeric, and Automatic.
◆ clearCounters()
void SolverNleInterface::clearCounters |
( |
void |
| ) |
|
|
protected |
◆ message()
virtual std::string SolverNleInterface::message |
( |
int |
code | ) |
|
|
pure virtual |
◆ nonConverged()
bool SolverNleInterface::nonConverged |
( |
void |
| ) |
|
returns true if the current value of half of the square of norm of the objective function vector is greater than 1e-3, or nan or inf
◆ norm()
virtual double SolverNleInterface::norm |
( |
const double * |
x | ) |
|
|
pure virtual |
◆ print_table()
void SolverNleInterface::print_table |
( |
double * |
xmin, |
|
|
double * |
xmax, |
|
|
int |
nsteps |
|
) |
| |
print dependence on all unknowns
◆ printMetrics()
void SolverNleInterface::printMetrics |
( |
void |
| ) |
|
◆ printResults()
void SolverNleInterface::printResults |
( |
void |
| ) |
|
◆ residual()
double SolverNleInterface::residual |
( |
int |
i | ) |
|
returns current value of the ith component of the residual vector
◆ resize()
virtual void SolverNleInterface::resize |
( |
int |
n | ) |
|
|
virtual |
◆ setMaximumIterations()
void SolverNleInterface::setMaximumIterations |
( |
int |
m | ) |
|
sets the maximum number of iterations
◆ setMaximumStepSize()
void SolverNleInterface::setMaximumStepSize |
( |
double |
stpmx | ) |
|
sets the maximum step size, as a fraction of the max between the square root of the sum of squares of the current estimate of the solution, and the number of unknowns the the maximum step size is them used as a bound for the sum of squares of the step in the line search note: this parameter only has an effect for the SolverNleRecipes solver
◆ setTolerances()
virtual void SolverNleInterface::setTolerances |
( |
double |
, |
|
|
double |
, |
|
|
double |
, |
|
|
double |
|
|
) |
| |
|
pure virtual |
◆ size()
int SolverNleInterface::size |
( |
void |
| ) |
const |
◆ solve()
virtual int SolverNleInterface::solve |
( |
void |
| ) |
|
|
pure virtual |
Globally convergent Newton's method algorithm zero return code: solved ok negative return code: solved with warnings positive return code: unrecoverable error
Implemented in SolverNleQ, and SolverNleRecipes.
◆ verifySolution()
virtual void SolverNleInterface::verifySolution |
( |
void |
| ) |
|
|
pure virtual |
evaluate equation set at the current set up estimates for the unknowns; useful to test for convergence after sequential solution
Implemented in Numeric, and Automatic.
◆ F_
double* SolverNleInterface::F_ |
current values of residuals
◆ MAXITS
int SolverNleInterface::MAXITS |
|
protected |
maximum number of Newton iterations
◆ nAuto_
int SolverNleInterface::nAuto_ |
|
protected |
Number of analytical Jacobian evaluations.
◆ NITER
int SolverNleInterface::NITER |
◆ nNewt_
int SolverNleInterface::nNewt_ |
|
protected |
Number of Newton method applications.
◆ nNume_
int SolverNleInterface::nNume_ |
|
protected |
Number of numerical Jacobian evaluations.
◆ nQuas_
int SolverNleInterface::nQuas_ |
|
protected |
Number of Quasi Newton method applications.
◆ nSyst_
int SolverNleInterface::nSyst_ |
|
protected |
Number of system evaluations.
◆ ofp_
◆ STPMX
double SolverNleInterface::STPMX |
|
protected |
scaled maximum step length allowed in line searches
◆ verbosityLocal
int SolverNleInterface::verbosityLocal |
|
protected |
◆ x_
double* SolverNleInterface::x_ |
current values of unknowns
The documentation for this class was generated from the following file: