> I see that from deal, the convergence test is always performed as
> norm_of_residual_calculated_by_petsc against
> tolerance_of_deal_solver_control (using SolverBase::convergence_test). I
> wish to use test for the relative residual (i.e. comparing
> norm_of_residual_calculated_by_petsc against some_factor*initial_residual)
> as a stopping criterion, but I cannot see how this can be done from source
> code (as deal.ii philosophy prescribes :-) ) from my application.

I have to admit that I haven't had time to look at your patch closely,
but if the above thing is the only thing that you want to do, that is
easy without any changes. Just use:
SolverControl           solver_control (100, 1e-10*rhs.l2_norm());

Of course this assumes that you start with x=0 (because then
residual=\|Ax -b\|=\|b\|). If your x!=0, you simply compute the
residual \|Ax-b\| and stick it into the absolute tolerance.

Does that make sense?

-- 
Timo Heister
http://www.math.tamu.edu/~heister/
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii

Reply via email to