HermesCommon
3.0
|
Linear matrix solver functionality. More...
#include "precond.h"
#include "exceptions.h"
#include "algebra/cs_matrix.h"
#include "algebra/vector.h"
#include "mixins.h"
#include "algebra/algebra_mixins.h"
Go to the source code of this file.
Classes | |
class | Hermes::Solvers::DirectSolver< Scalar > |
Forward declarations. More... | |
class | Hermes::Solvers::LoopSolver< Scalar > |
Abstract middle-class for solvers that work in a loop of a kind (iterative, multigrid, ...) More... | |
class | Hermes::Solvers::IterSolver< Scalar > |
Abstract class for defining interface for iterative solvers. Internal, though utilizable for defining interfaces to other algebraic packages. More... | |
class | Hermes::Solvers::AMGSolver< Scalar > |
Abstract class for defining interface for Algebraic Multigrid solvers. Internal, though utilizable for defining interfaces to other algebraic packages. More... | |
class | Hermes::Solvers::LinearMatrixSolver< Scalar > |
Abstract class for defining solver interface. More... | |
class | Hermes::Solvers::ExternalSolver< Scalar > |
Special-purpose abstract class for using external solvers. For examples implementation, see the class SimpleExternalSolver. More... | |
class | Hermes::Solvers::SimpleExternalSolver< Scalar > |
An example class for using external solvers that run a command and store the result in a file. More... | |
class | Hermes::Solvers::DirectSolver< Scalar > |
Forward declarations. More... | |
class | Hermes::Solvers::LoopSolver< Scalar > |
Abstract middle-class for solvers that work in a loop of a kind (iterative, multigrid, ...) More... | |
class | Hermes::Solvers::IterSolver< Scalar > |
Abstract class for defining interface for iterative solvers. Internal, though utilizable for defining interfaces to other algebraic packages. More... | |
class | Hermes::Solvers::AMGSolver< Scalar > |
Abstract class for defining interface for Algebraic Multigrid solvers. Internal, though utilizable for defining interfaces to other algebraic packages. More... | |
Namespaces | |
Hermes | |
General namespace for the Hermes library. | |
Hermes::Solvers | |
Namespace for linear / nonlinear / iterative solvers. | |
Enumerations | |
enum | Hermes::Solvers::MatrixStructureReuseScheme { Hermes::Solvers::HERMES_CREATE_STRUCTURE_FROM_SCRATCH, Hermes::Solvers::HERMES_REUSE_MATRIX_REORDERING, Hermes::Solvers::HERMES_REUSE_MATRIX_REORDERING_AND_SCALING, Hermes::Solvers::HERMES_REUSE_MATRIX_STRUCTURE_COMPLETELY } |
enum | Hermes::Solvers::LoopSolverToleranceType { AbsoluteTolerance = 0, RelativeTolerance = 1, DivergenceTolerance = 2 } |
enum | Hermes::Solvers::IterSolverType { CG = 0, GMRES = 1, BiCGStab = 2, CR = 3, IDR = 4 } |
Functions | |
template<typename Scalar > | |
HERMES_API LinearMatrixSolver < Scalar > * | Hermes::Solvers::create_linear_solver (Matrix< Scalar > *matrix, Vector< Scalar > *rhs, bool use_direct_solver=false) |
Function returning a solver according to the users's choice. More... | |
Linear matrix solver functionality.
Definition in file linear_matrix_solver.h.