44 #define GS_SOLVER_HPP 1
77 static void gauss_seidel_error(
const std::string func,
int status );
85 uint32_t imax = 10000,
86 double newton_Reps = 1.0e-5,
87 double newton_dXeps = 1.0e-6,
88 uint32_t newton_imax = 10 );
105 virtual void reset(
void );
110 _newton_imax = newton_imax;
116 _newton_Reps = newton_Reps;
122 _newton_dXeps = newton_dXeps;
132 uint32_t &imax,
double &eps,
double w );
Compressed row sparse matrix class.
Definition: crowmatrix.hpp:76
Basis for matrix implementations.
Dense math vector class.
Definition: mvector.hpp:68
Abstract base class for linear/non-linear problem, which can be described by a non-linear system of e...
Definition: problem.hpp:54
void set_newton_imax(uint32_t newton_imax)
Sets maximum iteration count for Newton-Raphson steps.
Definition: gs_solver.hpp:109
Compressed row sparse matrix algebra.
Gauss-Seidel based solver implementation.
Definition: gs_solver.hpp:68
static bool gauss_seidel(const CRowMatrix &mat, const Vector &rhs, Vector &sol, uint32_t &imax, double &eps, double w)
Direct interface to gauss_seidel matrix solver.
void set_newton_residual_eps(double newton_Reps)
Sets the accuracy request for Newton-Raphson residual.
Definition: gs_solver.hpp:115
void set_newton_step_eps(double newton_dXeps)
Sets the accuracy request for Newton-Raphson step size.
Definition: gs_solver.hpp:121
Abstract base class for solving linear and nonlinear problems. Different implementation may exist...
Definition: solver.hpp:57
virtual void solve(const Problem &p, Vector &X)
Solve problem p defined in geometry g. Initial guess and solution are in vector X.
~GSSolver()
Destructor.
Definition: gs_solver.hpp:92
virtual void reset(void)
Reset solver.
GSSolver(double w=1.66, 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.