i.e., in most cases the initial solution will be written into file
$SIM_NAME-00000.vtu and each time step will be written to the file
with the same number as the one printed during the simulation. (note
that this statement does not apply if the visualization files are not
written for all time steps.)
The most important issue was that PR#20 removed the possibility to use
a test driver script. In eWoms, this script is responsible for
(fuzzily) comparing the results of the test runs with reference
solutions, to test the simulators in parallel and compare the results,
and to make sure that the --help command continues to work as
intended.
the approach taken to bring this functionality back is to specify the
test driver script and its parameters using the new macro
'opm_set_test_driver(${DRIVER_COMMAND} ${DRIVER_DEFAULT_ARGUMENTS})'
before the first call to 'opm_add_test'. If no test driver is
specified, the binary is run 'naked', so nothing should change in this
case.
this patch requires the changes for opm-cmake to be merged first.
this also comes with moving responsibilities around and some smaller
cleanups for the grid creation. (although grid creation could be
possibly done by the simulator now, the GridCreator concept has not
been abandoned, yet...)
this allows to retrieve the name of the problem before it is
instantiated. this is required to be able to print the "Initializing
problem" message at the correct point (i.e., before instantiating the
problem).
normally, this should fine as it was before this patch because the
non-restarted tests produces more timesteps than the restarted one and
only the last file gets verified, but it used to be quite a hack and
one never knows, so it's wise to explicitly specify this as a
dependency.
Also, this change makes sure that ctest is aware of the number of
cores required by a test, which should lead to less contention...
it seems like shellcheck complains about this but once the order of
'>' and '2>&1' is reversed, bash does not like it anymore. since
making bash happy is way more important than shellcheck, let's revert
this part of the change...
if one of the files matches (fuzzyly, obviously), the test counts as
passed if none matches it counts as failed. this lets us add reference
results for hosts that need the same number of time steps, but for
whatever reason produce a different result. also, the number of time
steps required to produce the result do not matter anymore, as long as
the data is the same (in the fuzzy sense).
- run one simulation in parallel if MPI is available
- test the parameter passing infrastructure
- reduce end time of the navier stokes problem to 1e-3 to make it pass
on the first try
- add CUSTOM_CXX_FLAGS to CMakeLists.txt to allow passing compiler
flags from the command line to make clang shut up about the dune
issues it encounters.