Abstract class that implements the LinearSolver algorithm. For example, the derived classes of it, such as CGLinearSolver, GMRESLinearSolver implement the Conjugate-Gradient (CG) and Generalized Minimum Residual (GMRES) Krylov subspace based approches, respectively, to solve a linear system of equations.
More...
#include <LinearSolverImpl.h>
template<typename ValueTypeOperator, typename ValueTypeOperand,
utils::MemorySpace memorySpace>
class dftefe::linearAlgebra::LinearSolverImpl< ValueTypeOperator, ValueTypeOperand, memorySpace >
Abstract class that implements the LinearSolver algorithm. For example, the derived classes of it, such as CGLinearSolver, GMRESLinearSolver implement the Conjugate-Gradient (CG) and Generalized Minimum Residual (GMRES) Krylov subspace based approches, respectively, to solve a linear system of equations.
- Template Parameters
-
ValueTypeOperator | The datatype (float, double, complex<double>, etc.) for the operator (e.g. Matrix) associated with the linear solve |
ValueTypeOperand | The datatype (float, double, complex<double>, etc.) of the vector, matrices, etc. on which the operator will act |
memorySpace | The meory space (HOST, DEVICE, HOST_PINNED, etc.) in which the data of the operator and its operands reside |
◆ ~LinearSolverImpl()
template<typename ValueTypeOperator , typename ValueTypeOperand ,
utils::MemorySpace memorySpace>
◆ solve()
template<typename ValueTypeOperator , typename ValueTypeOperand ,
utils::MemorySpace memorySpace>
Function that initiates the linear solve.
- Parameters
-
[in] | linearSolverFunction | Reference to a LinearSolverFunction object that encapsulates the discrete partial differential equation that is being solved as a linear solve. Typically, the linearSolverFunction provides the right hand side vector (i.e., \(\mathbf{b}$\f) and the handle to the action of the
discrete operator on a Vector. It also stores the final solution
\)\mathbf{x}$\f |
The documentation for this class was generated from the following file: