[material][tabulation] IAPWS tabulation causes tests to sometimes fail locally
Testing dumux 3.6 and dune 2.8 the Tabulation test test_tabulation
as well as test_1pnc_dispersion_scheidegger
sometimes fails when compiled locally (gcc 11.2.0). The behavior is consistent between multiple runs of the same executable, also for DUMUX_NUM_THREADS = 1
, but compiling with slight changes to the source (even just comments) leads to different outcomes such as:
- While testing within the allowed range of temperatures and pressures a pressure outside the range is requested. The requested value is the same for at least two machines (@IvBu you are probably using the same compiler, right?)
terminate called after throwing an instance of 'Dumux::NumericalProblem'
what(): NumericalProblem [checkValidityRange:dumux/material/components/iapws/region1.hh:71]: Density of water is only implemented for temperatures below 623.15K and pressures below 100MPa. (T=622.15, p=1.14455e+08)
- Testing
fluidPressure
returns incorrect value
Compiling with debug options seems to hide the erroneous behavior, making it difficult to track down. Running with valgrind reveals reads of uninitialized values during initialization.
Possibly related to #1185 (closed). The added check to only use lazy initialization if using Multithreading::Serial
(default) seems odd as we check this during compilation time and can then later run applications in parallel.