Hi all,
In optimized mode, numerical operations are performed in a different
order. Therefore, round-off errors may accumulate differently. Now,
if the refinement indicators on the last cell to be refined and on
the first not to be refined are the same in exact arithmetic, they
may swap positions depending on roundoff-errors, and this effect
accumulates over several refinement steps, since then we actually
solve different problems. Nevertheless, qualitatively the meshes
should be similar. Is that what you see?
Yes, that sounds reasonable.
I have modified the output of step-13:
(debug-mode=on):
noname:step-13 chris$ ./step-13
Running tests with "kelly" refinement criterion:
------------------------------------------------
Refinement cycle: 0 1 2 3 4 5 6 7 8 9 10 11
DoFs u(x_0) u.l2_norm() est_err.l2_norm()
25 1.2868 10.88435351565101 2.35964751243591
47 0.8775 17.77521273254474 8.17873764038086
89 1.5365 25.48124128112532 8.65840816497803
165 1.2974 42.82110241048710 9.45494556427002
316 1.6442 59.72877318375960 8.43074417114258
589 1.5221 89.07750346127868 6.78823041915894
1093 1.5724 112.22270858591776 5.61467742919922
2042 1.5627 160.72773022604738 4.27607965469360
3766 1.5916 203.16596600342640 3.08454537391663
7124 1.5876 289.75523003127216 2.25233936309814
13111 1.5942 384.49796027428187 1.61535799503326
24838 1.5932 532.42585236039486 1.18739819526672
(debug-mode=off):
noname:step-13 chris$ ./step-13
Running tests with "kelly" refinement criterion:
------------------------------------------------
Refinement cycle: 0 1 2 3 4 5 6 7 8 9 10 11
DoFs u(x_0) u.l2_norm() est_err.l2_norm()
25 1.2868 10.88435351565101 2.35964741934119
47 0.8775 17.77521273254474 8.17873746497564
89 1.5365 25.48124128112531 8.65840821611652
165 1.2974 42.82110241048711 9.45494478222697
316 1.6442 59.72877318375943 8.43074364184395
589 1.5221 89.07750346127871 6.78823029188061
1090 1.5724 112.08996761022929 5.61678426300613
2035 1.5622 160.05675403611127 4.28142619640565
3754 1.5916 203.03281964377365 3.08870941444202
7100 1.5876 289.27340944012650 2.25662337407668
13059 1.5942 384.01704715355299 1.61878085309529
24745 1.5933 531.35534874684197 1.18975204945977
Because of the first line with 25 DoFs I think the round-off errors
occurs only in KellyErrorEstimator<dim>::estimate(...).
My system:
dealii 6.2.1 with ./configure --enable-multithreading --with-
multithreading --enable-multigrid --with-trilin
os=/sw/source/trilinos-9.0.3/SERIAL --with-cpu=i686
Mac OS 10.5.6,
gcc -v
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5465~16/src/configure --disable-
checking -enable-werror --prefix=/usr --mandir=/share/man --enable-
languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/
$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/
lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --
host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5465)
Best Christian
----------------------------------------------------------------
Dipl.-Math. Christian Henke Tel.: +49 (0) 5323 72-2968
Institut für Mathematik Fax: +49 (0) 5323 72-3601
Erzstr. 1 [email protected]
38678 Clausthal-Zellerfeld http://www.math.tu-clausthal.de
----------------------------------------------------------------
_______________________________________________
dealii mailing list http://poisson.dealii.org/mailman/listinfo/dealii