Changes in opm-material 2019.10
===============================

- Support one phase simulations
- Small improvements/bugfixes concerning evaluations.

Changes in opm-material 2019.04
===============================

- Support changes in indexing of phases and components
- Support for regular 2d cartesian interpolation for injectivity simulation
- Several bugfixes (viscosity, swatinit, interpolation 2d miscibility)

Changes in opm-material 2018.10
===============================

- Support for dynamically-sized automatic diffentiation objects has
  been added. This feature is provided by the `DynamicEvaluation`
  class.
- The nested `Opm::FluidSystems` namespace has been removed. All fluid
  system classes are now located directly in the `Opm` namespace and
  are suffixed by `FluidSystem`.
- Setting the second item of the EHYSTR keyword to "1" is now
  supported by the ECL saturation functions.
- Various minor fixes and improvements.

Changes in opm-material 2018.04
===============================

- The thermal laws for heat conduction and for the internal energy of
  the solid matrix have been overhauled:
  - They are now two independent laws, so it is possible to mix-and-match
    any approach for heat conduction with any law for solid heat capacity.
- Support for the thermal ECL keywords has been added
- A fluid state specialized for the black-oil assumptions has been added.
- opm-material can now be build without opm-common if the alternative
  build system described in the INSTALL file of eWoms is used. In this
  case most ECL-specific functionality will be unavailable.
- The code now works with DUNE 2.6 and the latest development version
  of DUNE 2.7 at time of release. The minimum required DUNE version
  stays 2.4.
- Many smaller bug fixes and improvements.

Changes in opm-material 2017.10
===============================

- Support for solvents in the black-oil PVT classes
- Switch the dense automatic differentiation code to use the
  convenience functions by default instead of using the math toolbox
  classes. The main motivation is that this makes the code more
  flexible when multiple Evaluation types are involved, but the
  resulting code looks simpler also helps.
- Addition of specialized Evaluation classes. In many cases, this
  yields better performance because it convinces the compiler to emit
  SIMD instructions instead of generic ones. (In principle this is not
  necessary, but contemporary compilers do not seem to notice this
  important optimization opportunity without "hand-unrolling" these
  loops.)
- The minimum version of DUNE is now 2.4
- The C++ compiler is now assumed to be fully C++-2011 compliant. GCC
  >= 4.8.2 and clang > 3.3 should work
- Many smaller bug fixes and general improvements.


Changes in opm-material 2017.04
===============================

- Proper support for ECL oil-water saturation functions.
- In the black oil fluid system, convenience methods to calculate the
  bubble-point pressure of oil and the dew-point pressure of gas have
  been added. These quantities were already available using the
  "saturationPressure()" method, but the new names make the calling
  code more explicit.
- The numerical stability of the saturationPressure() methods for live
  oil and wet gas has been considerably improved.
- Direct use of the Opm::Deck class provided by the opm-parser
  module has been reduced in favor of Opm::EclipseState.
- Support for checkpointing and restart has been added to the
  code that deals with ECL saturation functions.
- Various random fixes.

Changes in opm-material 2016.04 and 2016.10
===========================================

- Improvements to the ECL/Black-Oil related functionality:
 - Support for Leverett-like capillary pressure scaling. (The "JFUNC"
   keyword.)
 - Support for dissolution limits based on the maximum observed
   saturation of the oil phase. (The "VAPPARS" keyword.)
 - Most (all?) consistency checks for saturation functions have been
   removed. They are now supposed to be done by higher-level modules
   like opm-simulators.
 - The BlackoilFluidSystem can now be queried about which components dissolve 
   in which phases.
- Various improvements related to the dense automatic differentiation code:
 - The namespace which contains that functionality was changed from
   "Opm::LocalAd" to "Opm::DenseAd".
 - Toolbox::toLhs() has been renamed to Toolbox::decay().
 - The isnan() and isfinite() functions have been added for Evaluations.
 - A briefer alternative syntax for calling mathematical functions for
   Evaluations has been added: e.g. Opm::sqrt(x) can be now used instead of
   Opm::MathToolbox<Eval>::sqrt(x).
 - Various smaller bugfixes; e.g., calling pow() with a base of 0.0
   does not produce NaNs anymore.
- Fluid states can now specify whether a phase should be assumed to be present 
  independently of the phase's saturation.
- Better support for single precision floating point scalars has been
  added: "Extremely large" values are now expressed using 10^30
  instead of 10^100 since the latter is too large to be represented by
  single-precision IEEE-754 floating point objects.
