template<typename PRECONDITIONER, typename SPARSITYPATTERN, typename MATRIX, typename VECTOR>
class DOpE::GMRESLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >
This class provides a linear solve for the nonlinear solvers of DOpE. Here we interface to the GMRES-Solver of dealii
- Template Parameters
-
<PRECONDITIONER> | The preconditioner class to be used with the solver |
<SPARSITYPATTERN> | The sparsity pattern for the matrix |
<MATRIX> | The matrix type that is used for the storage of the system_matrix |
<VECTOR> | The vector type for the solution and righthandside data, |
template<typename PRECONDITIONER , typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
template<typename PROBLEM >
This Function should be called once after grid refinement, or changes in boundary values to recompute sparsity patterns, and constraint matrices.
template<typename PRECONDITIONER , typename SPARSITYPATTERN , typename MATRIX , typename VECTOR >
template<typename PROBLEM , typename INTEGRATOR >
void DOpE::GMRESLinearSolverWithMatrix< PRECONDITIONER, SPARSITYPATTERN, MATRIX, VECTOR >::Solve |
( |
PROBLEM & |
pde, |
|
|
INTEGRATOR & |
integr, |
|
|
VECTOR & |
rhs, |
|
|
VECTOR & |
solution, |
|
|
bool |
force_matrix_build = false |
|
) |
| |
Solves the linear PDE in the form Ax = b using dealii::SolverGMRES
- Template Parameters
-
<PROBLEM> | The problem that we want to solve, this is passed on to the INTEGRATOR to calculate the matrix. |
<INTEGRATOR> | The integrator used to calculate the matrix A. |
- Parameters
-
rhs | Right Hand Side of the Equation, i.e., the VECTOR b. Note that rhs is not const, this is because we need to apply the boundary values to this vector! |
solution | The Approximate Solution of the Linear Equation. It is assumed to be zero! Upon completion this VECTOR stores x |
force_build_matrix | A boolean value, that indicates whether the Matrix should be build by the linear solver in the first iteration. The default is false, meaning that if we have no idea we don't want to build a matrix. |