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
>
>
>
>
>
>



_______________________________________________

Reply via email to