On Mon, 6 Oct 2014, Rodrigo Broggi wrote:
const Real norm_delta = last_nonlinear_soln->l2_norm();
This way I'am actually computing the l2 vector norm not the function norm, is
that right?
Right.
To compute the actual functional norm I should have to associate it
to the system.
With calculate_norm(), right.
Is there any particular reason to consider the vector norm and not the
functional one?
Two reasons to default to the vector norm:
Speed. Calculating l2 is just a loop over DoFs; calculating L2
also requires an internal loop over quadrature points.
Physics independence. There are definitely good arguments to be made
for using a functional norm for your stopping criterion instead, but
*which* norm you want usually depends on what your problem is. Even
"the" H1 norm is dependent on your choice of units unless you
nondimensionalize.
And one reason not to allow function norms:
Developer time. Making the NewtonSolver stopping criterion a
user-overrideable strategy pattern would be an improvement; we've just
never had any developers motivated to code it up.
---
Roy
------------------------------------------------------------------------------
Slashdot TV. Videos for Nerds. Stuff that Matters.
http://pubads.g.doubleclick.net/gampad/clk?id=160591471&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users