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