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().