9 IAlgebraicMng *alg_mng = createAlgebraicMng(m_parallel_mng);
12 IndexedSpace space = alg_mng->createSpace(
"Nom", index_manager->global_size());
16 Matrix m_a(space,space);
20 MatrixIJBuilder build_a(m_a, index_manager);
24 build_a(icell,icell) += fij(icell, icell);
26 build_a(icell, isubcell) += fij(icell, isubcell);
32 build_a(inode, isubcell) += fij(inode, isubcell);
41 VectorAccessor va_b (v_b, index_manager);
44 va_b(icell) = var_cell[icell];
47 va_b(inode) = var_node[inode];
53 Solver solver = solverMng->createSolver(alg_mng, options);
54 v_x = solver.solve(m_a, v_b);
56 if (!solver.failed()) {
57 Fatal(
"Unable to solve Ax=b");
61 Vector v_residual = v_b - m_a*v_x;
63 info() <<
"Residual norm_2 = " << norm2(v_residual);