MBDyn-1.7.3
|
#include <solman.h>
Classes | |
struct | ScaleOpt |
Public Types | |
enum | ScaleWhen { SCALEW_NEVER = 0, SCALEW_ONCE, SCALEW_ALWAYS } |
enum | ScaleAlgorithm { SCALEA_NONE, SCALEA_UNDEF, SCALEA_ROW_MAX, SCALEA_ROW_SUM, SCALEA_COL_MAX, SCALEA_COL_SUM, SCALEA_LAPACK, SCALEA_ITERATIVE, SCALEA_ROW_MAX_COL_MAX } |
enum | ScaleFlags { SCALEF_DEFAULT = 0x0u, SCALEF_WARN = 0x1u, SCALEF_VERBOSE = 0x2u, SCALEF_COND_NUM_1 = 0x4u, SCALEF_COND_NUM_INF = 0x8u, SCALEF_COND_NUM = SCALEF_COND_NUM_1 | SCALEF_COND_NUM_INF } |
Public Member Functions | |
SolutionManager (void) | |
virtual | ~SolutionManager (void) |
virtual void | LinkToSolution (VectorHandler &XCurr, VectorHandler &XPrimeCurr) |
virtual void | MatrReset (void)=0 |
virtual void | MatrInitialize (void) |
virtual void | Solve (void)=0 |
virtual void | SolveT (void) |
virtual MatrixHandler * | pMatHdl (void) const =0 |
virtual VectorHandler * | pResHdl (void) const =0 |
virtual VectorHandler * | pSolHdl (void) const =0 |
doublereal * | pdSetResVec (doublereal *pd) |
doublereal * | pdSetSolVec (doublereal *pd) |
bool | bGetConditionNumber (doublereal &dCond) const |
Protected Attributes | |
LinearSolver * | pLS |
Enumerator | |
---|---|
SCALEA_NONE | |
SCALEA_UNDEF | |
SCALEA_ROW_MAX | |
SCALEA_ROW_SUM | |
SCALEA_COL_MAX | |
SCALEA_COL_SUM | |
SCALEA_LAPACK | |
SCALEA_ITERATIVE | |
SCALEA_ROW_MAX_COL_MAX |
Definition at line 108 of file solman.h.
Enumerator | |
---|---|
SCALEF_DEFAULT | |
SCALEF_WARN | |
SCALEF_VERBOSE | |
SCALEF_COND_NUM_1 | |
SCALEF_COND_NUM_INF | |
SCALEF_COND_NUM |
Definition at line 120 of file solman.h.
Enumerator | |
---|---|
SCALEW_NEVER | |
SCALEW_ONCE | |
SCALEW_ALWAYS |
SolutionManager::SolutionManager | ( | void | ) |
|
virtual |
bool SolutionManager::bGetConditionNumber | ( | doublereal & | dCond | ) | const |
Definition at line 107 of file solman.cc.
References LinearSolver::bGetConditionNumber(), and pLS.
Referenced by DataManager::InitialJointAssembly(), NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
virtual |
|
virtual |
Reimplemented in SchurSolutionManager, and NaiveSparsePermSolutionManager< T >.
Definition at line 72 of file solman.cc.
References MatrReset().
Referenced by DataManager::InitialJointAssembly(), LineSearchSolver::Jacobian(), main(), BiCGStab::Solve(), NewtonRaphsonSolver::Solve(), and Gmres::Solve().
|
pure virtual |
doublereal * SolutionManager::pdSetResVec | ( | doublereal * | pd | ) |
Definition at line 93 of file solman.cc.
References ASSERT, LinearSolver::pdSetResVec(), and pLS.
Referenced by FullJacobianPr::Precond().
doublereal * SolutionManager::pdSetSolVec | ( | doublereal * | pd | ) |
Definition at line 101 of file solman.cc.
References ASSERT, LinearSolver::pdSetSolVec(), and pLS.
Referenced by FullJacobianPr::Precond().
|
pure virtual |
Implemented in SchurSolutionManager, and NaiveSparseSolutionManager.
Referenced by InverseDynamicsStepSolver::Advance(), NRTrim::DoTrim(), Solver::Eig(), DataManager::InitialJointAssembly(), LineSearchSolver::Jacobian(), main(), BiCGStab::Solve(), Gmres::Solve(), NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
pure virtual |
Implemented in SchurSolutionManager, and NaiveSparseSolutionManager.
Referenced by InverseDynamicsStepSolver::Advance(), NRTrim::DoTrim(), DataManager::InitialJointAssembly(), main(), FullJacobianPr::Precond(), BiCGStab::Solve(), Gmres::Solve(), NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
pure virtual |
|
pure virtual |
Implemented in SchurSolutionManager, NaiveSparsePermSolutionManager< T >, and NaiveSparseSolutionManager.
Referenced by InverseDynamicsStepSolver::Advance(), NRTrim::DoTrim(), DataManager::InitialJointAssembly(), main(), FullJacobianPr::Precond(), NewtonRaphsonSolver::Solve(), and LineSearchSolver::Solve().
|
virtual |
Definition at line 78 of file solman.cc.
References MBDYN_EXCEPT_ARGS.
Referenced by InverseDynamicsStepSolver::Advance(), and main().
|
protected |
Definition at line 151 of file solman.h.
Referenced by bGetConditionNumber(), NaiveSparseSolutionManager::MatrReset(), NaiveSparsePermSolutionManager< T >::NaiveSparsePermSolutionManager(), NaiveSparseSolutionManager::NaiveSparseSolutionManager(), pdSetResVec(), pdSetSolVec(), NaiveSparseSolutionManager::ScaleMatrixAndRightHandSide(), NaiveSparseSolutionManager::Solve(), and ~SolutionManager().