MBDyn-1.7.3
|
#include <nonlin.h>
Classes | |
class | ConvergenceOnSolution |
class | ErrGeneric |
class | ErrSimulationDiverged |
class | MaxResidualExceeded |
class | NoConvergence |
class | TimeStepLimitExceeded |
Public Types | |
enum | Type { UNKNOWN = -1, NEWTONRAPHSON, MATRIXFREE, LINESEARCH, DEFAULT = NEWTONRAPHSON, LASTSOLVERTYPE } |
Protected Types | |
enum | CPUTimeType { CPU_RESIDUAL, CPU_JACOBIAN, CPU_LINEAR_SOLVER, CPU_LAST_TYPE } |
Protected Types inherited from SolverDiagnostics | |
enum | { OUTPUT_NONE = 0x0000, OUTPUT_ITERS = 0x0001, OUTPUT_RES = 0x0002, OUTPUT_SOL = 0x0004, OUTPUT_JAC = 0x0008, OUTPUT_BAILOUT = 0x0010, OUTPUT_MSG = 0x0020, OUTPUT_COUNTER = 0x0040, OUTPUT_MAT_COND_NUM_1 = 0x0080, OUTPUT_MAT_COND_NUM_INF = 0x0100, OUTPUT_SOLVER_COND_NUM = 0x0200, OUTPUT_SOLVER_COND_STAT = 0x400, OUTPUT_CPU_TIME = 0x800, OUTPUT_MAT_COND_NUM = OUTPUT_MAT_COND_NUM_1 | OUTPUT_MAT_COND_NUM_INF, OUTPUT_DEFAULT = OUTPUT_MSG, OUTPUT_STEP = (OUTPUT_ITERS | OUTPUT_RES | OUTPUT_SOL | OUTPUT_JAC | OUTPUT_MAT_COND_NUM | OUTPUT_SOLVER_COND_NUM), OUTPUT_MASK = 0x07FF } |
Protected Types inherited from NonlinearSolverOptions | |
enum | ScaleFlags { SCALE_ALGEBRAIC_EQUATIONS_NO = 0, SCALE_ALGEBRAIC_EQUATIONS_YES = 1 } |
Protected Member Functions | |
virtual bool | MakeSolTest (Solver *pS, const VectorHandler &Vec, const doublereal &dTol, doublereal &dTest) |
doublereal | dGetCondMax () const |
doublereal | dGetCondMin () const |
doublereal | dGetCondAvg () const |
doublereal | dGetTimeCPU (CPUTimeType eType) const |
void | AddCond (doublereal dCond) |
void | AddTimeCPU (doublereal dTime, CPUTimeType eType) |
Protected Member Functions inherited from NonlinearSolverOptions | |
NonlinearSolverOptions (bool bHonorJacRequest=false, enum ScaleFlags eScaleFlags=SCALE_ALGEBRAIC_EQUATIONS_NO, doublereal dScaleAlgebraic=1.) | |
Protected Attributes | |
integer | Size |
integer | TotJac |
NonlinearSolverTest * | pResTest |
NonlinearSolverTest * | pSolTest |
Protected Attributes inherited from SolverDiagnostics | |
unsigned | OutputFlags |
DriveCaller * | pOutputMeter |
Protected Attributes inherited from NonlinearSolverOptions | |
bool | bHonorJacRequest |
enum NonlinearSolverOptions::ScaleFlags | eScaleFlags |
doublereal | dScaleAlgebraic |
Private Attributes | |
integer | iNumCond |
doublereal | dMaxCond |
doublereal | dMinCond |
doublereal | dSumCond |
doublereal | dTimeCPU [CPU_LAST_TYPE] |
|
protected |
Enumerator | |
---|---|
CPU_RESIDUAL | |
CPU_JACOBIAN | |
CPU_LINEAR_SOLVER | |
CPU_LAST_TYPE |
Enumerator | |
---|---|
UNKNOWN | |
NEWTONRAPHSON | |
MATRIXFREE | |
LINESEARCH | |
DEFAULT | |
LASTSOLVERTYPE |
Definition at line 239 of file nonlin.h.
|
explicit |
Definition at line 434 of file nonlin.cc.
References dTimeCPU.
|
virtual |
|
inlineprotected |
Definition at line 331 of file nonlin.h.
References dMaxCond, dMinCond, dSumCond, and iNumCond.
Referenced by NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
inlineprotected |
Definition at line 355 of file nonlin.h.
References ASSERT, CPU_LAST_TYPE, and dTimeCPU.
Referenced by NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
inlineprotected |
Definition at line 277 of file nonlin.h.
References dSumCond, and iNumCond.
Referenced by NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
inlineprotected |
Definition at line 275 of file nonlin.h.
References dMaxCond.
Referenced by NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
inlineprotected |
Definition at line 276 of file nonlin.h.
References dMinCond.
Referenced by NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
inlineprotected |
Definition at line 346 of file nonlin.h.
References ASSERT, CPU_LAST_TYPE, and dTimeCPU.
Referenced by NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
virtual |
Definition at line 474 of file nonlin.cc.
References NonlinearSolverOptions::dScaleAlgebraic, NonlinearSolverOptions::eScaleFlags, DataManager::IsConverged(), NonlinearSolverTest::MakeTest(), Solver::pGetDataManager(), pResTest, NonlinearSolverOptions::SCALE_ALGEBRAIC_EQUATIONS_NO, Size, and NonlinearProblem::TestScale().
Referenced by LineSearchSolver::LineSearch(), BiCGStab::Solve(), Gmres::Solve(), NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
protectedvirtual |
Definition at line 497 of file nonlin.cc.
References DataManager::IsConverged(), NonlinearSolverTest::MakeTest(), Solver::pGetDataManager(), pSolTest, and Size.
Referenced by BiCGStab::Solve(), NewtonRaphsonSolver::Solve(), Gmres::Solve(), and LineSearchSolver::Solve().
|
inlinevirtual |
|
inlinevirtual |
|
virtual |
Definition at line 455 of file nonlin.cc.
References pResTest, and pSolTest.
Referenced by InverseSolver::Prepare(), and Solver::Prepare().
|
pure virtual |
Implemented in LineSearchSolver, Gmres, NewtonRaphsonSolver, and BiCGStab.
Referenced by ThirdOrderIntegrator::Advance(), DerivativeSolver::Advance(), Step1Integrator::Advance(), Step2Integrator::Advance(), and InverseDynamicsStepSolver::Advance().
|
virtual |
Definition at line 468 of file nonlin.cc.
References TotJac.
Referenced by InverseSolver::Advance(), and Solver::Advance().
|
private |
Definition at line 285 of file nonlin.h.
Referenced by AddCond(), and dGetCondMax().
|
private |
Definition at line 286 of file nonlin.h.
Referenced by AddCond(), and dGetCondMin().
|
private |
Definition at line 287 of file nonlin.h.
Referenced by AddCond(), and dGetCondAvg().
|
private |
Definition at line 288 of file nonlin.h.
Referenced by AddTimeCPU(), dGetTimeCPU(), and NonlinearSolver().
|
private |
Definition at line 284 of file nonlin.h.
Referenced by AddCond(), and dGetCondAvg().
|
protected |
Definition at line 257 of file nonlin.h.
Referenced by MakeResTest(), pGetResTest(), SetTest(), and ~NonlinearSolver().
|
protected |
Definition at line 258 of file nonlin.h.
Referenced by MakeSolTest(), pGetSolTest(), SetTest(), and ~NonlinearSolver().
|
protected |
Definition at line 251 of file nonlin.h.
Referenced by LineSearchSolver::LineSearch(), MakeResTest(), MakeSolTest(), BiCGStab::Solve(), NewtonRaphsonSolver::Solve(), Gmres::Solve(), and LineSearchSolver::Solve().
|
protected |
Definition at line 252 of file nonlin.h.
Referenced by LineSearchSolver::Jacobian(), BiCGStab::Solve(), Gmres::Solve(), NewtonRaphsonSolver::Solve(), and TotalAssembledJacobian().