19#include "arccore/alina/AlinaLib.h"
20#include "./SampleProblemCommon.h"
25#include <gtest/gtest.h>
27TEST(alina_test_alina_lib, basic)
29 std::cout <<
"Testing AlinaLib\n";
33 std::vector<double> val;
34 std::vector<double> rhs;
36 int n = sample_problem(12l, val, col, ptr, rhs);
40 AlinaLib::params_set_int(prm,
"precond.coarse_enough", 1000);
41 AlinaLib::params_set_string(prm,
"precond.coarsening.type",
"smoothed_aggregation");
42 AlinaLib::params_set_float(prm,
"precond.coarsening.aggr.eps_strong", 1e-3f);
43 AlinaLib::params_set_string(prm,
"precond.relax.type",
"spai0");
45 AlinaLib::params_set_string(prm,
"solver.type",
"bicgstabl");
46 AlinaLib::params_set_int(prm,
"solver.L", 1);
47 AlinaLib::params_set_int(prm,
"solver.maxiter", 100);
51 AlinaLib::params_destroy(prm);
53 std::vector<double> x(n, 0);
57 std::fill(x.begin(), x.end(), 0);
58 cnv = AlinaLib::solver_solve_matrix(solver, ptr.data(), col.data(), val.data(),
59 rhs.data(), x.data());
61 std::cout <<
"Iterations: " << cnv.iterations << std::endl
62 <<
"Error: " << cnv.residual << std::endl;
64 AlinaLib::solver_destroy(solver);