BiCGstab
This class is used to manage the Preconditioned Bi-Coniugate Gradient Stab. More…
#include "BiCGstab.h"
Inherits from LinSolver
Public Functions
Name | |
---|---|
BiCGstab() Constructs the BiCGstab object. |
|
~BiCGstab() Deletes the BiCGstab object. |
|
virtual void | Set_Solver(MatrixProd &restrict MAT, DDMat &restrict RHS, MatrixProd &restrict PREC) Sets the solver for monolithic preconditoning. |
virtual void | Set_Solver(MatrixProd &restrict MAT, DDMat &restrict RHS, MatrixProd &restrict PREC_L, MatrixProd &restrict PREC_R) Sets the solver for split preconditoning. |
virtual void | Solve(MatrixProd &restrict MAT, DDMat &restrict RHS, DDMat &restrict SOL, MatrixProd &restrict PREC, const string filename) Solves the linear system with monolithic preconditoning. |
virtual void | Solve(MatrixProd &restrict MAT, DDMat &restrict RHS, DDMat &restrict SOL, MatrixProd &restrict PREC_L, MatrixProd &restrict PREC_R, const string filename) Solves the linear system with split preconditoning. |
Additional inherited members
Public Functions inherited from LinSolver
Name | |
---|---|
virtual | ~LinSolver() =0 Deletes the object. |
void | Set_rhs(MatrixProd &restrict MAT, DDMat &restrict RHS) Sets the rhs array. |
void | Set_maxITER(const iReg input_maxITER) Sets the maximum number of iterations. |
void | Set_exitTOL(const rExt input_exitTOL) Sets the exit tolerance. |
void | Set_final_sol_1(const bool input_final_sol_1) Sets the flag to have the final solution = 1. |
void | Set_initial_sol(const iReg input_initial_sol) Sets the flag for initial solution. |
void | Set_printConvProfile(const bool input_printConvProfile) Sets the flag for Convergence Profile printing. |
Public Attributes inherited from LinSolver
Name | |
---|---|
iReg | maxITER maximum number of iterations. |
rExt | exitTOL exit tolerance. |
bool | final_sol_1 flag to set the final solution equal to one. |
iReg | initial_sol flag to set the initial solution. |
bool | printConvProfile flag for Convergence Profile printing. |
DDMat | RES residual array. |
DDMat | SCR1 array for scratch 1. |
iReg | ITER total number of iterations. |
VEC< rExt > | normRES0 euclidean norm of the initial residual. |
VEC< rExt > | normRES euclidean norm of the final iterative residual. |
VEC< rExt > | normRESreal euclidean norm of the final real residual. |
VEC< rExt > | normRHS euclidean norm of the Right Hand Side. |
Detailed Description
class BiCGstab;
This class is used to manage the Preconditioned Bi-Coniugate Gradient Stab.
class BiCGstab.
Public Functions Documentation
function BiCGstab
BiCGstab()
Constructs the BiCGstab object.
function ~BiCGstab
~BiCGstab()
Deletes the BiCGstab object.
function Set_Solver
virtual void Set_Solver(
MatrixProd &__restrict__ MAT,
DDMat &__restrict__ RHS,
MatrixProd &__restrict__ PREC
)
Sets the solver for monolithic preconditoning.
Parameters:
- MAT system matrix.
- RHS Right Hand Side.
- PREC preconditioner.
Reimplements: LinSolver::Set_Solver
function Set_Solver
virtual void Set_Solver(
MatrixProd &__restrict__ MAT,
DDMat &__restrict__ RHS,
MatrixProd &__restrict__ PREC_L,
MatrixProd &__restrict__ PREC_R
)
Sets the solver for split preconditoning.
Parameters:
- MAT system matrix.
- RHS Right Hand Side.
- PREC_L LEFT preconditioner.
- PREC_R RIGHT preconditioner.
Reimplements: LinSolver::Set_Solver
function Solve
virtual void Solve(
MatrixProd &__restrict__ MAT,
DDMat &__restrict__ RHS,
DDMat &__restrict__ SOL,
MatrixProd &__restrict__ PREC,
const string filename
)
Solves the linear system with monolithic preconditoning.
Parameters:
- MAT system matrix.
- RHS system Right Hand Side.
- SOL solution array.
- PREC preconditioner.
- filename file name where the convergence profile is printed.
Reimplements: LinSolver::Solve
function Solve
virtual void Solve(
MatrixProd &__restrict__ MAT,
DDMat &__restrict__ RHS,
DDMat &__restrict__ SOL,
MatrixProd &__restrict__ PREC_L,
MatrixProd &__restrict__ PREC_R,
const string filename
)
Solves the linear system with split preconditoning.
Parameters:
- MAT system matrix.
- RHS system Right Hand Side.
- SOL solution array.
- PREC_L LEFT preconditioner.
- PREC_R RIGHT preconditioner.
- filename file name where the convergence profile is printed.
Reimplements: LinSolver::Solve
Updated on 12 February 2021 at 11:59:50 CET