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

Classes | |
| struct | solver_t |
Public Types | |
| enum | SolverType { EMPTY_SOLVER = 0, HARWELL_SOLVER, LAPACK_SOLVER, MESCHACH_SOLVER, NAIVE_SOLVER, SUPERLU_SOLVER, TAUCS_SOLVER, UMFPACK_SOLVER, KLU_SOLVER, Y12_SOLVER, LAST_SOLVER } |
| enum | SolverFlags { SOLVER_FLAGS_NONE = 0x00U, SOLVER_FLAGS_ALLOWS_MAP = 0x01U, SOLVER_FLAGS_ALLOWS_CC = 0x02U, SOLVER_FLAGS_ALLOWS_DIR = 0x04U, SOLVER_FLAGS_TYPE_MASK = SOLVER_FLAGS_ALLOWS_MAP|SOLVER_FLAGS_ALLOWS_CC|SOLVER_FLAGS_ALLOWS_DIR, SOLVER_FLAGS_ALLOWS_MT_FCT = 0x10U, SOLVER_FLAGS_ALLOWS_MT_ASS = 0x20U, SOLVER_FLAGS_ALLOWS_COLAMD = 0x40U, SOLVER_FLAGS_ALLOWS_MMDATA = 0x80U, SOLVER_FLAGS_ALLOWS_REVERSE_CUTHILL_MC_KEE = 0x100U, SOLVER_FLAGS_ALLOWS_KING = 0x200U, SOLVER_FLAGS_ALLOWS_NESTED_DISSECTION = 0x400U, SOLVER_FLAGS_ALLOWS_MDAPLUSAT = 0x800U, SOLVER_FLAGS_ALLOWS_SLOAN = 0x1000U, SOLVER_FLAGS_PERM_MASK } |
Static Public Attributes | |
| static SolverType | defaultSolver |
Protected Attributes | |
| SolverType | currSolver |
| unsigned | solverFlags |
| unsigned | nThreads |
| integer | iWorkSpaceSize |
| unsigned | blockSize |
| doublereal | dPivotFactor |
| doublereal | dDropTolerance |
| SolutionManager::ScaleOpt | scale |
| integer | iMaxIter |
| enum LinSol::SolverFlags |
Definition at line 56 of file linsol.h.
| enum LinSol::SolverType |
| Enumerator | |
|---|---|
| EMPTY_SOLVER | |
| HARWELL_SOLVER | |
| LAPACK_SOLVER | |
| MESCHACH_SOLVER | |
| NAIVE_SOLVER | |
| SUPERLU_SOLVER | |
| TAUCS_SOLVER | |
| UMFPACK_SOLVER | |
| KLU_SOLVER | |
| Y12_SOLVER | |
| LAST_SOLVER | |
Definition at line 41 of file linsol.h.
|
virtual |
| bool LinSol::AddSolverFlags | ( | unsigned | f | ) |
Definition at line 292 of file linsol.cc.
References currSolver, and solverFlags.
Referenced by InverseSolver::Prepare(), Solver::Prepare(), and ReadLinSol().
| const doublereal & LinSol::dGetDropTolerance | ( | void | ) | const |
| const doublereal & LinSol::dGetPivotFactor | ( | void | ) | const |
| unsigned LinSol::GetBlockSize | ( | void | ) | const |
| integer LinSol::GetMaxIterations | ( | void | ) | const |
| unsigned LinSol::GetNumThreads | ( | void | ) | const |
|
inline |
| SolutionManager *const LinSol::GetSolutionManager | ( | integer | iNLD, |
| integer | iLWS = 0 |
||
| ) | const |
Definition at line 455 of file linsol.cc.
References ASSERT, blockSize, currSolver, dDropTolerance, dPivotFactor, EMPTY_SOLVER, HARWELL_SOLVER, iMaxIter, iWorkSpaceSize, KLU_SOLVER, LAPACK_SOLVER, MBDYN_EXCEPT_ARGS, MESCHACH_SOLVER, NAIVE_SOLVER, NO_OP, nThreads, SAFENEWWITHCONSTRUCTOR, scale, SOLVER_FLAGS_ALLOWS_CC, SOLVER_FLAGS_ALLOWS_COLAMD, SOLVER_FLAGS_ALLOWS_DIR, SOLVER_FLAGS_ALLOWS_KING, SOLVER_FLAGS_ALLOWS_MDAPLUSAT, SOLVER_FLAGS_ALLOWS_MMDATA, SOLVER_FLAGS_ALLOWS_MT_FCT, SOLVER_FLAGS_ALLOWS_NESTED_DISSECTION, SOLVER_FLAGS_ALLOWS_REVERSE_CUTHILL_MC_KEE, SOLVER_FLAGS_ALLOWS_SLOAN, SOLVER_FLAGS_PERM_MASK, SOLVER_FLAGS_TYPE_MASK, solverFlags, SUPERLU_SOLVER, TAUCS_SOLVER, UMFPACK_SOLVER, and Y12_SOLVER.
Referenced by Solver::AllocateSolman(), NRTrim::DoTrim(), and DataManager::InitialJointAssembly().
| LinSol::SolverType LinSol::GetSolver | ( | void | ) | const |
Definition at line 175 of file linsol.cc.
References currSolver.
Referenced by Solver::AllocateSchurSolman(), Solver::AllocateSolman(), ReadLinSol(), and RestartLinSol().
| unsigned LinSol::GetSolverFlags | ( | void | ) | const |
Definition at line 257 of file linsol.cc.
References solverFlags.
Referenced by InverseSolver::Prepare(), Solver::Prepare(), ReadLinSol(), RestartLinSol(), and SetNumThreads().
| unsigned LinSol::GetSolverFlags | ( | SolverType | t | ) | const |
| const char *const LinSol::GetSolverName | ( | void | ) | const |
Definition at line 269 of file linsol.cc.
References currSolver, LinSol::solver_t::s_name, and solver.
Referenced by Solver::AllocateSchurSolman(), InverseSolver::Prepare(), Solver::Prepare(), InverseSolver::ReadData(), Solver::ReadData(), ReadLinSol(), and RestartLinSol().
| const char *const LinSol::GetSolverName | ( | SolverType | t | ) | const |
| integer LinSol::iGetWorkSpaceSize | ( | void | ) | const |
Definition at line 339 of file linsol.cc.
References iWorkSpaceSize.
Referenced by RestartLinSol(), and Solver::SetupSolmans().
| bool LinSol::MaskSolverFlags | ( | unsigned | f | ) |
Definition at line 303 of file linsol.cc.
References currSolver, and solverFlags.
Referenced by ReadLinSol().
| bool LinSol::SetBlockSize | ( | unsigned | bs | ) |
Definition at line 402 of file linsol.cc.
References blockSize, currSolver, and UMFPACK_SOLVER.
Referenced by ReadLinSol().
| bool LinSol::SetDropTolerance | ( | const doublereal & | d | ) |
Definition at line 384 of file linsol.cc.
References currSolver, and dDropTolerance.
Referenced by ReadLinSol().
Definition at line 440 of file linsol.cc.
References currSolver, iMaxIter, and UMFPACK_SOLVER.
Referenced by ReadLinSol().
| bool LinSol::SetNumThreads | ( | unsigned | nt | ) |
Definition at line 314 of file linsol.cc.
References currSolver, GetSolverFlags(), nThreads, SOLVER_FLAGS_ALLOWS_MT_FCT, and solverFlags.
Referenced by InverseSolver::ReadData(), Solver::ReadData(), and ReadLinSol().

| bool LinSol::SetPivotFactor | ( | const doublereal & | d | ) |
Definition at line 372 of file linsol.cc.
References currSolver, and dPivotFactor.
Referenced by ReadLinSol().
| bool LinSol::SetScale | ( | const SolutionManager::ScaleOpt & | scale | ) |
Definition at line 417 of file linsol.cc.
References currSolver, KLU_SOLVER, NAIVE_SOLVER, scale, and UMFPACK_SOLVER.
Referenced by ReadLinSol().
| bool LinSol::SetSolver | ( | LinSol::SolverType | t, |
| unsigned | f = SOLVER_FLAGS_NONE |
||
| ) |
Definition at line 181 of file linsol.cc.
References currSolver, EMPTY_SOLVER, HARWELL_SOLVER, KLU_SOLVER, LAPACK_SOLVER, MESCHACH_SOLVER, NAIVE_SOLVER, solverFlags, SUPERLU_SOLVER, TAUCS_SOLVER, UMFPACK_SOLVER, and Y12_SOLVER.
Referenced by InverseSolver::Prepare(), Solver::Prepare(), and ReadLinSol().
| bool LinSol::SetSolverFlags | ( | unsigned | f | ) |
Definition at line 281 of file linsol.cc.
References currSolver, and solverFlags.
Referenced by ReadLinSol().
Definition at line 357 of file linsol.cc.
References currSolver, iWorkSpaceSize, and Y12_SOLVER.
Referenced by ReadLinSol().
|
protected |
Definition at line 117 of file linsol.h.
Referenced by GetBlockSize(), GetSolutionManager(), and SetBlockSize().
|
protected |
Definition at line 95 of file linsol.h.
Referenced by AddSolverFlags(), GetSolutionManager(), GetSolver(), GetSolverName(), MaskSolverFlags(), SetBlockSize(), SetDropTolerance(), SetMaxIterations(), SetNumThreads(), SetPivotFactor(), SetScale(), SetSolver(), SetSolverFlags(), and SetWorkSpaceSize().
|
protected |
Definition at line 134 of file linsol.h.
Referenced by dGetDropTolerance(), GetSolutionManager(), and SetDropTolerance().
|
static |
|
protected |
Definition at line 127 of file linsol.h.
Referenced by dGetPivotFactor(), GetSolutionManager(), and SetPivotFactor().
|
protected |
Definition at line 148 of file linsol.h.
Referenced by GetMaxIterations(), GetSolutionManager(), and SetMaxIterations().
|
protected |
Definition at line 110 of file linsol.h.
Referenced by GetSolutionManager(), iGetWorkSpaceSize(), and SetWorkSpaceSize().
|
protected |
Definition at line 103 of file linsol.h.
Referenced by GetNumThreads(), GetSolutionManager(), and SetNumThreads().
|
protected |
Definition at line 141 of file linsol.h.
Referenced by GetScale(), GetSolutionManager(), and SetScale().
|
protected |
Definition at line 96 of file linsol.h.
Referenced by AddSolverFlags(), GetSolutionManager(), GetSolverFlags(), MaskSolverFlags(), SetNumThreads(), SetSolver(), and SetSolverFlags().