Ok. It was a stupid question, sorry, I can calculate this value, doing Vanka*A*x=Vanka*b; (Vanka*A*x-Vanka*b).l2_norm;
Sorry and thanks. Best Isa > Hello everybody! > > I have the following orders to solve the system Ax=b: > > . > . > . > > ////////////////////////////////////////////////////////////// > Vector<double> temp1; > temp1.reinit(dof_handler_total.n_dofs()); > > A.vmult(temp1,x); > temp1*=(-1.0); > temp1+=b; > res=temp1.l2_norm(); > cout<<"The residual is: "<<res<<endl; > > vector<bool> signature(DIMENSION+1, false); > signature[DIMENSION] = true; > vector<bool> selected_dofs (dof_handler_total.n_dofs(), false); > > DoFTools::extract_dofs(dof_handler_total, signature, selected_dofs); > SparseVanka<double> vanka (A, selected_dofs); > SolverControl solver_control (2000,1e-02); > > GrowingVectorMemory<Vector<double> > vector_memory; > SolverGMRES<Vector<double> > > my_solver(solver_control,vector_memory,SolverGMRES<Vector<double> >>::AdditionalData()); > my_solver.solve (A, x, b,vanka); > std::cout << " " << solver_control.last_step() > << " GMRES iterations needed to obtain convergence." > << std::endl; > . > . > . > > ////////////////////////////////////////////////////////////// > > As result I obtain the following message: > . > . > . > ////////////////////////////////////////////////////////////// > The residual is: 0.000100338 > > DEAL:GMRES::Starting value 0.0666412 > DEAL:GMRES::Convergence step 16 value 0.00998494 > 16 GMRES iterations needed to obtain convergence. > DEAL::GrowingVectorMemory:Overall allocated vectors: 18 > DEAL::GrowingVectorMemory:Maximum allocated vectors: 18 > . > . > . > > ////////////////////////////////////////////////////////////// > I would like to take the value given behind "DEAL:GMRES::Starting value", > i.e., in this case 0.0666412, in order to change the tolerance of > SolverControl (at the beginning, as it can be seen, the tolerance I put is > 1e-02), is there any direct variable or method to get it? Or should I > change the code of "solver_contro.cc" or "solver_gmres.h" (both belonging > to DealII) to obtain this value? > > Thanks in advance > > Best > Isa > > > > > > _______________________________________________
