|
MBDyn-1.7.3
|
#include <linesearch.h>


Classes | |
| class | MaxIterations |
| class | ResidualNotDecreased |
| class | SlopeNotNegative |
| class | ZeroGradient |
Private Member Functions | |
| void | LineSearch (doublereal stpmax, doublereal fold, doublereal &f, bool &check, const integer &iIterCnt) |
| void | Residual (doublereal &f, integer iIterCnt) |
| void | Jacobian () |
Private Member Functions inherited from LineSearchParameters | |
| LineSearchParameters () | |
Private Attributes | |
| VectorHandler * | pRes |
| VectorHandler * | pSol |
| MyVectorHandler | p |
| MyVectorHandler | g |
| MyVectorHandler | dXneg |
| const NonlinearProblem * | pNLP |
| Solver * | pS |
| const DataManager *const | pDM |
Private Attributes inherited from LineSearchParameters | |
| doublereal | dTolX |
| doublereal | dTolMin |
| integer | iMaxIterations |
| doublereal | dMaxStep |
| doublereal | dAlpha |
| doublereal | dLambdaMin |
| doublereal | dLambdaFactMin |
| doublereal | dDivergenceCheck |
| doublereal | dMinStepScale |
| unsigned | uFlags |
Definition at line 81 of file linesearch.h.
| LineSearchSolver::LineSearchSolver | ( | DataManager * | pDM, |
| const NonlinearSolverOptions & | options, | ||
| const struct LineSearchParameters & | param | ||
| ) |
Definition at line 102 of file linesearch.cc.
References LineSearchParameters::ALGORITHM_CUBIC, LineSearchParameters::ALGORITHM_FACTOR, NonlinearSolverOptions::bHonorJacRequest, LineSearchParameters::dAlpha, LineSearchParameters::dDivergenceCheck, LineSearchParameters::DIVERGENCE_CHECK, LineSearchParameters::dLambdaFactMin, LineSearchParameters::dLambdaMin, LineSearchParameters::dMaxStep, LineSearchParameters::dMinStepScale, LineSearchParameters::dTolMin, LineSearchParameters::dTolX, LineSearchParameters::iMaxIterations, LineSearchParameters::PRINT_CONVERGENCE_INFO, LineSearchParameters::RELATIVE_LAMBDA_MIN, LineSearchParameters::SCALE_NEWTON_STEP, TRACE_FLAG, TRACE_VAR, LineSearchParameters::uFlags, and LineSearchParameters::ZERO_GRADIENT_CONTINUE.
| LineSearchSolver::~LineSearchSolver | ( | void | ) |
Definition at line 134 of file linesearch.cc.
References NO_OP.
|
private |
Definition at line 163 of file linesearch.cc.
References MatrixHandler::ConditionNumber(), SolverDiagnostics::GetCondMatNorm(), NonlinearProblem::Jacobian(), SolutionManager::MatrInitialize(), SolutionManager::MatrReset(), MBDYN_EXCEPT_ARGS, SolverDiagnostics::outputJac(), SolverDiagnostics::outputMatrixConditionNumber(), Solver::pGetSolutionManager(), SolutionManager::pMatHdl(), pNLP, pS, and NonlinearSolver::TotJac.
Referenced by Solve().

|
private |
Definition at line 210 of file linesearch.cc.
References a, LineSearchParameters::ALGORITHM_CUBIC, ASSERT, Solver::CheckTimeStepLimit(), LineSearchParameters::dAlpha, DataManager::dGetTime(), LineSearchParameters::dLambdaFactMin, LineSearchParameters::dLambdaMin, LineSearchParameters::dMinStepScale, LineSearchParameters::dTolX, dXneg, g, DataManager::GetpXCurr(), DataManager::GetpXPCurr(), LineSearchParameters::iMaxIterations, VectorHandler::InnerProd(), NonlinearSolver::MakeResTest(), MBDYN_EXCEPT_ARGS, mbdyn_stop_at_end_of_iteration(), LineSearchParameters::NON_NEGATIVE_SLOPE_CONTINUE, VectorHandler::Norm(), SolverDiagnostics::outputIters(), p, pDM, pNLP, pRes, LineSearchParameters::PRINT_CONVERGENCE_INFO, pS, pSol, LineSearchParameters::RELATIVE_LAMBDA_MIN, VectorHandler::Reset(), Residual(), VectorHandler::ScalarMul(), LineSearchParameters::SCALE_NEWTON_STEP, NonlinearSolver::Size, grad::sqrt(), TRACE, TRACE_VAR, LineSearchParameters::uFlags, NonlinearProblem::Update(), and LineSearchParameters::VERBOSE_MODE.
Referenced by Solve().

|
private |
Definition at line 140 of file linesearch.cc.
References VectorHandler::Dot(), SolverDiagnostics::outputRes(), pNLP, pRes, Solver::PrintResidual(), pS, VectorHandler::Reset(), and NonlinearProblem::Residual().
Referenced by LineSearch(), and Solve().

|
virtual |
Implements NonlinearSolver.
Definition at line 400 of file linesearch.cc.
References LineSearchParameters::ABORT_AT_LAMBDA_MIN, NonlinearSolver::AddCond(), NonlinearSolver::AddTimeCPU(), ASSERT, SolutionManager::bGetConditionNumber(), Solver::CheckTimeStepLimit(), NonlinearSolver::CPU_JACOBIAN, NonlinearSolver::CPU_LINEAR_SOLVER, NonlinearSolver::CPU_RESIDUAL, LineSearchParameters::dDivergenceCheck, NonlinearSolver::dGetCondAvg(), NonlinearSolver::dGetCondMax(), NonlinearSolver::dGetCondMin(), DataManager::dGetTime(), NonlinearSolver::dGetTimeCPU(), LineSearchParameters::DIVERGENCE_CHECK, LineSearchParameters::dMaxStep, VectorHandler::Dot(), LineSearchParameters::dTolMin, dXneg, g, DataManager::GetpXCurr(), DataManager::GetpXPCurr(), MatrixHandler::iGetNumCols(), MatrixHandler::iGetNumRows(), VectorHandler::iGetSize(), MyVectorHandler::iGetSize(), Jacobian(), LineSearch(), NonlinearSolver::MakeResTest(), NonlinearSolver::MakeSolTest(), MatrixHandler::MatTVecDecMul(), mbdyn_clock_time(), MBDYN_EXCEPT_ARGS, SolverDiagnostics::outputBailout(), SolverDiagnostics::outputCPUTime(), SolverDiagnostics::outputIters(), SolverDiagnostics::outputSol(), SolverDiagnostics::outputSolverConditionNumber(), SolverDiagnostics::outputSolverConditionStat(), p, pDM, Solver::pGetSolutionManager(), SolutionManager::pMatHdl(), pNLP, pRes, SolutionManager::pResHdl(), LineSearchParameters::PRINT_CONVERGENCE_INFO, Solver::PrintResidual(), Solver::PrintSolution(), pS, pSol, SolutionManager::pSolHdl(), MyVectorHandler::Reset(), Residual(), MyVectorHandler::Resize(), LineSearchParameters::SCALE_NEWTON_STEP, NonlinearSolver::Size, SolutionManager::Solve(), grad::sqrt(), TRACE, TRACE_VAR, LineSearchParameters::uFlags, LineSearchParameters::VERBOSE_MODE, and LineSearchParameters::ZERO_GRADIENT_CONTINUE.

|
private |
Definition at line 87 of file linesearch.h.
Referenced by LineSearch(), and Solve().
|
private |
Definition at line 86 of file linesearch.h.
Referenced by LineSearch(), and Solve().
|
private |
Definition at line 85 of file linesearch.h.
Referenced by LineSearch(), and Solve().
|
private |
Definition at line 90 of file linesearch.h.
Referenced by LineSearch(), and Solve().
|
private |
Definition at line 88 of file linesearch.h.
Referenced by Jacobian(), LineSearch(), Residual(), and Solve().
|
private |
Definition at line 83 of file linesearch.h.
Referenced by LineSearch(), Residual(), and Solve().
|
private |
Definition at line 89 of file linesearch.h.
Referenced by Jacobian(), LineSearch(), Residual(), and Solve().
|
private |
Definition at line 84 of file linesearch.h.
Referenced by LineSearch(), and Solve().