[dune-pdelab] Bug in l2norm for parallel execution

Gregor Corbin corbin at mathematik.uni-kl.de
Thu Aug 2 11:37:38 CEST 2018


Dear all,

while implementing a convergence test, I may have  found an error in the
computation of the L2-norm for grid functions:

Using the l2norm function from  <dune/pdelab/test/l2norm.hh>, I compute
the L2 norm of a constant 1 function on a [0,1]x[0,1] grid.

In serial mode, everything works fine and I get 1 as a result. In
parallel execution (mpirun ) with N threads, the L2 norm on each process
is 1/sqrt(N) and so the total L2 norm is computed as sqrt(N)! Any Idea
where this goes wrong?


I compiled with g++-7.3 with -std=c++17. All dune modules are from the 
releases/2.6 branch.

Cheers and thanks in advance,
Gregor

Ps.: A minimal test code that reproduces this behaviour is attached.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: testL2Norm.cc
Type: text/x-c++src
Size: 3018 bytes
Desc: not available
URL: <https://lists.dune-project.org/pipermail/dune-pdelab/attachments/20180802/92d18e28/attachment.cc>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <https://lists.dune-project.org/pipermail/dune-pdelab/attachments/20180802/92d18e28/attachment.sig>


More information about the dune-pdelab mailing list