- add methods to calculate the derivatives of the capillary pressures
and relative permeabilities with regard to the phase saturations,
temperature, absolute pressure and phase composition
- extend the unit test to enforce the above
- make the NullMaterial conform to the API and add it to the unit test
- introduce Opm::NullMaterialTraits for material laws that don't use
any phase indices
They are now all generic capillary pressure laws, but with some
additional methods to make working with them easier. For this reason,
they have been moved up one directory to opm/material/fluidmatrixinteractions
Also, a unit test which ensures that all capillary pressure laws
conform to their respective APIs has been added.
this lead to a compiler warning on gcc 4.8 that this case was already
covered by catching std::exception. Since we did the same in both
branches anyway, these statements were not required...
this was due to a missing initialization of the MPI. Because
MPI_Finalize should probably called even if the program is aborted due
to an exception, this is done using a helper class. (which does the
same job as Dune::MPIHelper, but is much simpler.)
basically the only Dune thing which is still used are the FieldVector
and FieldMatrix classes used by some constraint solvers. Until
something similar goes into opm-core, opm-material must depend on
dune-common...
the dune/common/{unused,deprecated}.hh headers do not get implicitly
included by the OPM build system. Since the test for valgrind is has
been added recently, this file produced a compiler error if
HAVE_VALGRIND is 1.
use 'const' instead to make old compilers happy. the disadvantage is
that you cannot use the normal methods for template specialization,
but this currently should not be a major drawback.