BiCGSTAB based solver implementation. More...
#include <bicgstab_solver.hpp>
Public Member Functions | |
BiCGSTABSolver (double eps=1.0e-6, uint32_t imax=10000, double newton_Reps=1.0e-5, double newton_dXeps=1.0e-6, uint32_t newton_imax=10) | |
Constructor. | |
~BiCGSTABSolver () | |
Destructor. | |
virtual void | solve (const Problem &p, Vector &X) |
Solve problem p defined in geometry g. Initial guess and solution are in vector X. | |
virtual void | reset (void) |
Reset solver. | |
void | set_eps (double eps) |
Sets the accuracy request for BiCGSTAB solver. | |
void | set_imax (uint32_t imax) |
Sets maximum iteration count for BiCGSTAB solver. | |
void | set_newton_imax (uint32_t newton_imax) |
Sets maximum iteration count for Newton-Raphson steps. | |
void | set_newton_residual_eps (double newton_Reps) |
Sets the accuracy request for Newton-Raphson residual. | |
void | set_newton_step_eps (double newton_dXeps) |
Sets the accuracy request for Newton-Raphson step size. |
BiCGSTAB based solver implementation.
An implementation of virtual class Solver using ILU0 preconditioner and bicgstab() solver function. Linear and nonlinear solvers.
BiCGSTABSolver::BiCGSTABSolver | ( | double | eps = 1.0e-6 , |
|
uint32_t | imax = 10000 , |
|||
double | newton_Reps = 1.0e-5 , |
|||
double | newton_dXeps = 1.0e-6 , |
|||
uint32_t | newton_imax = 10 | |||
) |
Constructor.
BiCGSTABSolver::~BiCGSTABSolver | ( | ) | [inline] |
Destructor.
virtual void BiCGSTABSolver::reset | ( | void | ) | [virtual] |
Reset solver.
This is a signal from the problem that the problem has changed and internal caches (if they exist) in the solver should be resetted.
Implements Solver.
void BiCGSTABSolver::set_eps | ( | double | eps | ) | [inline] |
Sets the accuracy request for BiCGSTAB solver.
void BiCGSTABSolver::set_imax | ( | uint32_t | imax | ) | [inline] |
Sets maximum iteration count for BiCGSTAB solver.
void BiCGSTABSolver::set_newton_imax | ( | uint32_t | newton_imax | ) | [inline] |
Sets maximum iteration count for Newton-Raphson steps.
void BiCGSTABSolver::set_newton_residual_eps | ( | double | newton_Reps | ) | [inline] |
Sets the accuracy request for Newton-Raphson residual.
void BiCGSTABSolver::set_newton_step_eps | ( | double | newton_dXeps | ) | [inline] |
Sets the accuracy request for Newton-Raphson step size.
Solve problem p defined in geometry g. Initial guess and solution are in vector X.