Tags give the ability to mark specific points in history as being important
  • 3.3.0   We happily announce today's release of DuMux 3.3.
    Release 3.3.0

    Differences Between DuMux 3.3 and DuMux 3.2

    Improvements and Enhancements

    • Requirements: DuMux now requires Dune >=2.7 and CMake >= 3.13.
    • New way to use material laws: The usage of laws for pc-Sw and kr-Sw has been completely revised. A caller does not have to pass a parameters object to the laws anymore. The spatialParams now provide a fluidMatrixInteraction function which bundles an arbitrary number of different interaction laws such as a pc-Sw and kr-Sw curve and interfacial areas. New pre-cached spline laws were added which can help to increase efficiency. The usage of the old interface is deprecated and warnings will be raised. The old interface will be removed after the release of 3.3.
    • New example: We have added another free-flow example dealing with lid-driven cavity flow.
    • Install script written in Python: The DuMux install script has been translated to Python to improve portability. The old shell script will be removed after release 3.3.
    • Improved velocity reconstruction: The velocity reconstruction for immiscible porous-media models has been improved, leading to slightly different velocity fields in the vicinity of Neumann boundaries.
    • Python bindings (experimental): Basic support for Python bindings has been added. Python bindings are an experimental feature and might undergo unannounced API changes until further notice. This concerns the files in the folders python and dumux/python. To activate
      • add -DDUNE_ENABLE_PYTHONBINDINGS=TRUE and -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE to your CMAKE_FLAGS and run dunecontrol
      • run python3 dune-common/bin/setup-dunepy.py
      • adapt your PYTHONPATH environment variable as described here
    • fmt-library: We now include a basic version of the fmt-library which implements std::format (coming with C++20) without the need for C++20. In order to use this, include <dumux/io/format.hh>. format, format_to, format_to_n, formatted_size are available in the Dumux::Fmt namespace. The string formatting is documented here and follows the Python string formatting rules. The functions are documented on cppreference.
    • RANS: The RANS models now include variable densities. Compositional or nonisothermal RANS models could produce slightly different, more accurate, results.

    Immediate interface changes not allowing/requiring a deprecation period:

    • Flash/Constraintsolver: The flashes depending on material laws are immediately required to use new-style material laws (fluidMatrixInteraction interface in spatialparams)
    • Box interface solver: The box interface solver immediately requires the new material law interface without deprecation period. Use the new class BoxMaterialInterfaces and update your spatial params to use the new fluidmatrixinteraction interface to be able to use the box interface solver in version 3.3.
    • For the "sequential" models, the property BoundaryTypes has been simply renamed to SequentialBoundaryTypes
    • Quadmath: Dumux::Quad has been removed without deprecation. Use Dune::Float128 instead.
    • Within the RANS group, two additional runtime parameters have been included 'IsFlatWallBounded' and 'WriteFlatWallBoundedFields'. For both the K-Epsilon and Zero-eq RANS models the 'IsFlatWallBounded' runtime parameter should be set as True, as wall topology is not supported for these models with our geometric constraints. If not set as true, the geometry will be checked before the model is run. If either the runtime parameter or the geometry check indicate non-flat walls, the model will terminate. To add FlatWallBounded specific output to the vtk output, WriteFlatWallBoundedFields can be set as True.
    • 1d3d coupling: The kernel coupling manager has been replaced with the one from Koch et al (2020) JCP https://doi.org/10.1016/j.jcp.2020.109370
    • 1d3d coupling: The average and surface coupling managers has been updated with a slightly more accurate version to compute the stencils and the average operator. The results might differ a bit when using coarse grids. However, both version are expected to converge to the same result with grid refinement.

    Deprecated properties/classes/functions/files, to be removed after 3.3:

    • The property BoundaryTypes has been deprecated. The boundary condition type can now be deduced from the problem type using ProblemTraits.

    Deleted classes/files, property names, constants/enums:

    • Everything that has been deprecated before release 3.2 has been removed.
    • All of the geometry headers previously saved in dumux/common/geometry have been relocated to dumux/geometry. The headers in dumux/common/geometry are deprecated and will be removed after 3.3. The geometry tests have been moved from test/common/geometry and test/common/boundingboxtree to test/geometry.

    Other noteworthy changes:

    • Releases earlier than 3.0 are no longer automatically tested or supported.
  • 3.3.0-rc1   The first release candidate for the upcoming 3.3.0 release is now available. You can checkout the 3.3.0-rc1 tag via Git
  • 3.2.0   We happily announce today's release of DuMuX 3.2.
    Release 3.2.0

    Differences Between DuMux 3.2 and DuMux 3.1

    Improvements and Enhancements

    • C++17: DuMux now requires a C++ compiler supporting the C++17 features of GCC 7 (e.g. GCC 7, Clang 5).

    • Radially symmetric problems: We now have support for radially symmetric problems (disc, ball, toroid). The support comes in form of wrappers for sub control volumes and faces that overload the respective volume() and area() function turning a 1d or 2d problem into a 2d or 3d radially symmetric problem.

    • Improvements of Beavers-Joseph(-Saffman) condition for the free flow model: The naming for handling BJ(-S) boundary conditions has been adapted from isBJS() to isBeaversJoseph() / setBJS() to setBeaversJoseph(). In order to consider the velocity within the porous medium, the old velocityPorousMedium(element, scvf) method (returning a Scalar) has been renamed to porousMediumVelocity(element, scvf) (returning a velocity vector). The latter defaults to VelocityVector(0.0).

    • Van Genuchten: The VanGenuchten-Mualem material law now allows to set a parameter l (default to 0.5) which is sometimes fitted.

    • Runtime variable output precision e.g. Float64: The VtkOutputModule has been adapted to allow easy changes of the vtk output precision. It is now possible to specify output precision in the input file using Vtk.Precision followed by either Float32, Float64, UInt32, UInt8 or Int32. Float32 stays the default. We especially advice the use of Float64 when working with restart files. An additional new option is Vtk.CoordPrecision which changes the precision of the coordinates only and uses the default of Vtk.Precision.

    • Effective Laws and Diffusion Coefficients: The effective laws interface has been changed within !1684. The interface for these laws has been unified, and all coefficents are to be stored in containers that fit to the model. These quantities should then be added in the volumeVariables, meaning all effective quantities would be accessible from the volumevariables.

    • Examples: The documentation of the examples has been improved further, focusing on readability and convenience. Further, three additional examples are included the folder examples. To get an overview, point your browser to https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/tree/master/examples.

    Immediate interface changes not allowing/requiring a deprecation period

    • Remove Grid.HeapSize as dune-ugrid removed the according feature as well.

    • Van Genuchten: Corrected VanGenuchten-Mualem exponent in the non-wetting saturation formula (1/3 instead of 1/2 (or l, see above))

    • Van Genuchten: Corrected VanGenuchten-Mualem implementation of dkrn/dSw

    • Brooks-Corey: Corrected Brooks-Corey implementation of dkrn/dSw and added the derivatives for the regularized version

    • AMGBackend: The internal structure of the AMGBackend and the ParallelISTLHelper has been overhauled, as only used by the AMG, we did not make the changes backwards-compatible

    • The global default parameters for linear solvers have been removed and moved to the class LinearSolver. This only affects users that directly obtain this parameter via getParam somewhere in the code.

    • Sequential linear solver backends: Remove template argument precondBlockLevel from solve functions. The preconditioner block level is now determined automatically, assuming a value of 1 for regular BCRS matrices and a value of 2 for MultiTypeBlock matrices. The respective calls from the NewtonSolver and PDESolverclasses have been adapted.

    • Change matrix block arrangement for staggered models: The matrix block structure has been adapted such that it complies with the literature standard, i.e., having the velocity block (A) on M[0][0] rather than on M[1][1]. This also requires re-arranging the submodels and properties in dumux-multidomain such that the face-related classes and vector entries now appear before the cell-centered ones.

    M = \begin{pmatrix}
      D & C\\
      B & A
    \end{pmatrix}
    
    \qquad => \qquad
    
    M = \begin{pmatrix}
        A & B\\
        C & D
        \end{pmatrix}

    Backwards-compatibility can only be provided to a certain extent. The following changes need to made in the main file:

    1.) change the order of the arguments for the assembler such that it reads:

    auto assembler = std::make_shared<Assembler>(std::make_tuple(ffProblem, ffProblem, otherProblem, ...),
                                                 std::make_tuple(ffGridGeometry->faceFVGridGeometryPtr(),
                                                                 ffFvGridGeometry->cellCenterFVGridGeometryPtr(),
                                                                 otherFvGridGeometry, ...),
                                                 std::make_tuple(ffGridVariables->faceGridVariablesPtr(),
                                                                 ffGridVariables->cellCenterGridVariablesPtr(),
                                                                 otherGridVariables, ...),
                                                 couplingManager,
                                                 timeLoop, solOld);
    
    // Not changing the arguments will yield a deprecation warning stating this hint but the code still compiles and runs.

    2.) change the order of arguments in the partial function:

    ffSol = partial(sol, ffFaceIdx, ffCellCenterIdx);
    
    // Not changing the argument will rise a compiler error which makes the MR not fully backwards-compatible.

    Regarding changes made to the effective laws and diffusionCoefficient containters, Backwards-compatibility is maintined for a large extent, barring any volumevariable classes defined externally that inherit from the non-isothermal volumevariables. If you use a self defined volumevariables class that inherits from the non-isothermal volumevariables, please adapt the your volumevariables class to fit to the non-isothermal volumevariables, and include the new methods for accessing the diffusion and effective diffusion coefficients.

    • Tracer model: tracer fluid systems do no longer provide a getMainComponent function since this simply doesn't make sense -- the main bulk component is not modeled.

    Deprecated properties, to be removed after 3.2:

    • GridView: The property GridView has been deprecated and can be accessed via GridGeometry::GridView instead.

    Deprecated classes/files, to be removed after 3.2:

    • AMGBackend: The class AMGBackend is deprecated and has been replaced by AMGBiCGSTABBackend which gets some different template arguments
    • AMGTraits: AMGTraits are deprecated, are to be replaced by LinearSolverTraits and restructured internally. As they were only used by the AMGBackend, we did not make the internal changes backwards-compatible

    Deprecated member functions, to be removed after 3.2:

    • DiffusionCoefficient(various arguments): These coefficients are now defined in the volvars and stored in a container fit to the model. To access these values, use the unified c++ diffusionCoefficient(int phaseIdx, int compIIdx, int compJIdx)
    • EffectiveDiffusivity(various arguments): These values are now defined in the volvars and stored in a container fit to the model. To access these values, use the unified c++ effectiveDiffusionCoefficient(int phaseIdx, int compIIdx, int compJIdx)

    Deleted classes/files, property names, constants/enums

    Everything that has been deprecated before release 3.1 has been removed.

  • 3.2.0-rc2   The second release candidate for the upcoming 3.2.0 release is now available. You can checkout the 3.2.0-rc2 tag via Git.
  • 3.2.0-rc1   The first release candidate for the upcoming 3.2.0 release is now available. You can checkout the 3.2.0-rc1 tag via Git.
  • 3.1.0   We happily announce today's release of DuMuX 3.1.
    Release 3.1.0

    Improvements and Enhancements

    • Examples: Three extensively documented examples have been added which highlight interesting features and show how to apply DuMuX to interesting problems. They can be found in the new folder examples. To get an overview, point your browser to https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/tree/master/examples.

    • Porousmediumflow: Added a new porous medium model for the energy balance of a porous solid (general heat equation).

    • Multidomain: It is now possible to use the facet coupling module together with the mpfa-o scheme in the bulk domain.

    • Box: The box scheme works now on grids with prism / wedge elements in 3D.

    • Diffusive fluxes: We revised the formulation of the diffusion laws to allow for changes between mass-averaged velocity reference systems and molar-averaged velocity reference systems. The standard formulation is now set to mass-averaged velocity reference systems.

    • GridManager:

      • Supports now reading unstructured grids and data from vtu/vtp files (ASCII, XML format) sequential. For UGGrid and FoamGrid you can specify a grid in such a format in the input file: Grid.File = mygrid.vtu / Grid.File = mygrid.vtp. The associated data is then available in the grid data object.
      • Instead of always including all grid manager specializations you can now only include the specialization that you need. For example, if you only use YaspGrid in your code, you only need to include dumux/io/grid/gridmanager_yasp.hh. The convenience header dumux/io/grid/gridmanager.hh still includes all specializations.
      • Added a NetPBMReader which allows to read simple raster images files (*.pbm and *.pgm). Can be used, e.g., with dune-subgrid in order to create a grid from an image file.
    • Freeflow: A second order approximation of the convective term of all Navier-Stokes based models is now available. This can be enabled using the property UpwindSchemeOrder. This property defaults to a first order upwinding approximation, which is the method used for all models in release 3.0. If this property is set to 2, a second order flux limiter method will be used. Various flux limiter functions have been implemented to maintain the monotonicity of this discretization. Per default the Minmod flux limiter is used, but Vanleer, Vanalbada, Superbee, Umist, Mclimiter, and Wahyd based flux limiters are also available. These can be specified using the input file entry Flux.DifferencingScheme. These methods are also implemented for non-uniform structured grids (e.g. YaspGrid - TensorProductCoordinates). Per default, a scheme assuming a uniform grid is used, but two other methods, Li and Hou, are both available for adaptations to non-uniform grids. These can be specified using the input file entry Flux.TVDApproach.

    • RANS: The called RANS model, defined in the properties system, will specify, via the model traits, which RANS problem implementation should be used. In each problem file, the initial and boundary conditions can be set using templated functions based on the model type. Examples of these functions exist in the RANS based tests. No further preprocessor macros are required.

    • ShallowWater: Thanks to Leopold Stadler we now have a shallow water equations solver / model. Have a look at freeflow/shallowwater and give it a try with the dam break test at test/freeflow/shallowwater. The are also some friction laws computing shear stresses (Manning, Nikuradse) to account for friction in a channel/river bed, thanks to Martin Utz.

    • Staggered: Added a StaggeredNewtonConvergenceWriter for the staggered grid discretization scheme.

    • Solver: There is a new abstract base class PDESolver that is a class that does linearize & assemble, solve and update. The NewtonSolver now derives from this class (interface is unchanged). A new class LinearPDESolver simplifies solving linear problems by reducing the code in the main file and streamlining the terminal output to look like the Newton output.

    Immediate interface changes not allowing/requiring a deprecation period

    • NewtonConvergenceWriter's first template argument has changed from GridView to FVGridGeometry. This allows to call the resize() method after a grid change without any arguments. Here is an example how to instatiate the convergence writer:

      using NewtonConvergenceWriter = Dumux::NewtonConvergenceWriter<FVGridGeometry, SolutionVector>;
      auto convergenceWriter = std::make_shared<NewtonConvergenceWriter>(*fvGridGeometry);
    • The interface of the abstract TimeLoopBase class has been extended by virtual void advanceTimeStep(), virtual void setTimeStepSize(Scalar dt), virtual Scalar maxTimeStepSize(), and virtual bool finished(), thus forcing the inheriting classes to implement those functions. TimeLoop is no longer a template argument in NewtonSolver's solve() method, thereby increasing type safety and providing better compiler error messages.

    • RANS: The base problems for all turbulence models e.g. ZeroEqProblem have been been renamed to one generic RANSProblem

    Deprecated properties, to be removed after 3.1:

    • FVGridGeometry and EnableFVGridGeometryCache have been replaced by GridGeometry and EnableGridGeometryCache.

    Unfortunately, clang doesn't emit deprecation warnings if an old property name is used. Consider employing gcc for detecting occurrences of the old name.

    Deprecated classes/files, to be removed after 3.1:

    • BaseFVGridGeometry from dumux/discretization. Use BaseGridGeometry instead.

    • CakeGridCreator and SubgridGridCreator from dumux/io/grid. Use the corresponding ...Manager instead.

    • IntRange from dumux/common. Use Dune::IntegralRange instead.

    Deprecated member functions, to be removed after 3.1:

    • The convergence writer is no longer passed to NewtonSolver's solve() method. For outputting convergence data, please use newtonSolver.attachConvergenceWriter(convWriter) in main.cc (directly after instantiating the writer). To stop the output, the writer can also be detached again using newtonSolver.detachConvergenceWriter().

    Deleted classes/files, property names, constants/enums

    • Deprecated classes and files for the 3.0 release listed below stay deprecated for at least one more release cycle.
  • 3.1.0-rc1
    Release 3.1.0-rc1

    The first release candidate for the upcoming 3.1.0 release is now available. You can checkout the 3.1.0-rc1 tag via Git.

  • 3.0.0
    Release 3.0.0

    We happily and proudly announce today's release of DuMuX 3.0! It took us two years to cook it up, so you better like it!

    You may get the new release via

    git clone -b releases/3.0 https://git.iws.uni-stuttgart.de/dumux-repositories/dumux.git

    DuMuX 3.0 is a major version update. It is not backward compatible in all aspects to 2.12. The following minor version updates will be, as before for the DuMuX 2-series, always backward compatible to at least the last minor version update. DuMuX 3.0 is based on Dune 2.6 and is expected to run with the current Dune master.

    The tutorial has been replaced by the new module dumux-course which is accessible at https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-course. We recommend new users and also users experienced with DuMuX 2.X to clone the course and have a look at the exercises in there.

    There are numerous improvements and enhancements. On the general side, there are, among many others:

    • New style main files: The sequence of simulation steps was linearized, meaning that each step is visible in the program's main file. In the new main files, one can clearly see the io, initialization, assembly, solving, update, time loop, etc., of the program. This renders it possible to customize the program flow to the individual needs in a much easier and much more transparent way.

    • Property system and runtime parameters: All macros have been replaced by native C++!

    • TypeTag templates: In order to avoid unnecessary dependencies and allow to share class instantiations between problems using different TypeTags, we replaced the single TypeTag parameter by a small number of specific template arguments for many classes. On the surface, this is visible in the SpatialParams classes. We encourage everyone to avoid TypeTag as a template argument for class templates, apart from the top problem class.

    • Assembly: The assembler can now assemble implicit and explicit Euler time discretizations.

    In terms of models, physics and methods, also a lot has happened, of course all to the better. A small subset is:

    • MPFA schemes: The new core comes with a framework for MPFA schemes, in which currently the only available scheme is the MPFA-O scheme. It can be used in conjunction with any DuMuX model and also works on surface grids.

    • Box-dfm: The 2pdfm model from version 2.12 has been generalized such that it can be used on any DuMuX model and in both two and three dimensions.

    • Tracer transport: A new model for tracer transport with a given flow field has been added. The model can be also used to implement sequentially coupled simulations, or iterative solvers where flow and transport are decoupled / weakly coupled.

    • Mineralization: An adapter model for mineralization has been added and can be used with all porousmediumflow models. A balance for the solid volume fraction of precipitating, adsorbed, or absorbed substances is added to the existing equations.

    • Multidomain: DuMuX 3.0 introduces a new multidomain framework which does no longer depend on dune-multidomain and can be used for the coupling of an arbitrary number of subdomains. The sub-domains can be regions in which different sets of equations are solved and/or which have different dimensionalities.

    • Free-flow models: The previous Navier-Stokes model using the box method has been replaced by one that employs a staggered grid discretization. The new method does not require any stabilization techniques.

    A more extended list of changes and more detailed explanations are provided at https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/blob/master/CHANGELOG.md.

    We would be very happy to help you with migrating your code. To this end, have a look at https://git.iws.uni-stuttgart.de/dumux-repositories/dumux/wikis/Hints/Upgrade-to-Dumux-3.

  • 3.0.0-rc2
    Release 3.0.0-rc2

    The second release candidate for the upcoming 3.0.0 release is now available. You can download a tarball (on the top right of the this page) or checkout the 3.0.0-rc2 tag via Git.

    Please go and test, and report any problems that you encounter. The final release of 3.0.0 will likely happen by the end of the week if no major problems are reported.

    DuMux 3.0.0 is a major version update. Backwards-compatibility with 2.12 could not be maintained.

  • 3.0.0-rc1
    Release 3.0.0-rc1

    The first release candidate for the upcoming 3.0.0 release is now available. You can download the tarballs or checkout the 3.0.0-rc1 tag via Git.

    Please go and test, and report any problems that you encounter. The final release of 3.0.0 will likely happen by the end of the week if no major problems are reported.

    DuMux 3.0.0 is a major version update. Backwards-compatibility with 2.12 could not be maintained.

  • dumux-course-2018   Status of the dumux repository for the dumux-course 2018 (https://git.iws.uni-stuttgart.de/dumux-repositories/dumux-course.git).
  • 3.0.0-alpha
  • 2.12.0
    Release 2.12.0
    • IMPORTANT NOTES:

      • DuMuX 2.12 is expected to run based on Dune 2.4.1, 2.5, 2.6 and the Dune master. We will try to keep the compatibility with the Dune master as long as it is technically feasible and our resources allow it. If you want to use Dumux multidomain models, you have to stick with the Dune 2.4 core and specific versions of other modules, see test/multidomain/README for details. Also the geomechanics models require Dune 2.4 and PDELab 2.0.

      • DuMuX 2.12 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.

      • For employing corner-point grids by means of opm-grid (former dune-cornerpoint), the OPM releases 2017.04 or 2017.10 have to be used.

    • IMPROVEMENTS and ENHANCEMENTS:

      • Four new tutorial exercises have been added in the folder tutorial. They can be built by executing make build_tutorials in the build folder. Each exercise comes with detailed instructions:

        1. Exercise 1
        2. Exercise 2
        3. Exercise 3
        4. Exercise 4
      • Fixed bug in heatCapacity() of component air and replace the use of a constant value in gasEnthalpy() by calling heatCapacity().

      • The GnuplotInterface now supports in-simulation generation of image files (*.png).

      • A paraview python script for exporting 2d pictures from *.vtu files has been added.

      • A class for estimating turbulence properties has been added with turbulenceproperties.hh.

    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • gnuplotinterface.hh: The add...ToPlot() functions have changed signature, the curve name/title is not mandatory anymore and can be specified together with the curve options.
    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.11:

      • Everything listed as deprecated below has been removed.
  • 2.11.0   Tag DuMuX 2.11.0
    Release 2.11.0
    • IMPORTANT NOTES:

      • DuMuX 2.11 is expected to run based on Dune 2.4.1, 2.5 and the Dune master. We will try to keep the compatibility with the Dune master as long as it is technically feasible and our resources allow it. If you want to use Dumux multidomain models, you have to stick with the Dune 2.4 core and specific versions of other modules, see test/multidomain/README for details.

      • DuMuX 2.11 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.

      • For employing corner-point grids by means of opm-grid (former dune-cornerpoint), the OPM release 2016.04 has to be used.

    • IMPROVEMENTS and ENHANCEMENTS:

    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • A gridcreator for piece-of-cake-type grids has been added. It is capable of creating meshes with gradually in- and decreasing distances between nodes. It also allows the creation of a 360° cake where the last elements are connected to the first elements.
      • shouldWriteRestartFile() is now, as shouldWriteOutput() already was, called before the time level is advanced. So it might be necessary to use ...WillBeFinished instead of ...IsFinished for writing restart files at the correct time.
      • In the ZeroEq models, the properties BBoxMinIsWall and BBoxMaxIsWall have been replaced by the functions bBoxMaxIsWall() and bBoxMaxIsWall() in the problem file.
      • In the TwoPNC (and, consequently the TwoPNCMin) models, the old formulations pgSl, plSg as well as pnSw and pwSg have been replaced by the pnsw and pwsn, to satify the naming convention and be consistent with TwoPTwoC.
      • In the TwoPTwoC model, the indices are no longer dependent on the formulation. Further, the values of "nPhaseOnly" and "bothPhases" have been harmonized with those in TwoPNC
    • Deprecated PROPERTY and PARAMETER NAMES, to be removed after 2.11: BEWARE: The compiler will not print any warning if a deprecated property or parameter name is used. If possible, a run-time warning will appear in the summary lines after the corresponding run.

    • Deprecated CLASSES/FILES, to be removed after 2.11:

    • Deprecated MEMBER FUNCTIONS, to be removed after 2.11:

    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.10:

      • Everything listed as deprecated below has been removed.
  • 2.10.0   Tag DuMuX 2.10.0
    Release 2.10.0
    • IMPORTANT NOTES:

      • DuMuX 2.10 is expected to run based on Dune 2.4.1, 2.5 and the Dune master. We will try to keep the compatibility with the Dune master as long as it is technically feasible and our resources allow it. If you want to use Dumux multidomain models, you have to stick with the Dune 2.4 core and specific versions of other modules, see test/multidomain/README for details.

      • DuMuX 2.10 requires at least GCC 4.9 or Clang 3.5 in their C++-14 mode.

      • For employing corner-point grids by means of opm-grid (former dune-cornerpoint), the OPM release 2016.04 has to be used.

    • IMPROVEMENTS and ENHANCEMENTS:

      • Two new fully-implicit models have been added: ThreePWaterOil and TwoPOneC. The first one admits two components water and oil that may be present in two liquid and one gaseous phase, see test_box3pwateroil in test/porousmediumflow/3pwateroil/implicit for details. The second one is dedicated to one generic component that may be present in liquid and gaseous state, see test_boxsteaminjection in test/porousmediumflow/2p1c/implicit for an example.

      • Numbering of the VTK files starts with 0 now.

      • Using the geostatistical tool gstat for generating random fields has been facilitated. See test_cc1pwithgstat in test/porousmediumflow/1p/implicit. This tool can be installed using the bin/installexternal.sh script. If cmake does not find gstat, one has to specify the GSTAT_ROOT variable, see the standard optim.opts or debug.opts.

      • The multidomain models should now run with all compilers without segfaults, both with optimization and debug options.

      • Computation for two-dimensional fracture networks in three-dimensional space has been fixed and is tested now in test/porousmediumflow/2p/implicit/test_fracture_box2p.

      • The bin folder containing various helper scripts has been restructured. For example, the scripts fuzzycompare.py and runtest.py are now contained in the subfolder testing.

      • Two new scripts extractlinedata.py and extractpointdataovertime.py have been added to bin/postprocessing. They realize what their names suggest.

      • The computation of the tortuosity tau with the Millington-Quirk model has been optimized. Tests show a speedup of up to 5% for a 2p2c simulation.

      • The fully-implicit box scheme now fully supports prism-shaped elements.

      • Convenience functions for reading values from a file to a container and for writing values to a file from a container have been added, see test_container_io in test/io/container.

    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • The problem class interface needs to provide the method maxTimeStepSize(). This is important if you implement problem classes not deriving from the base problem classes in Dumux (ImplicitProblem, OneModelProblem, ImpetProblem, and MultidomainProblem).
      • All name-related methods that previously returned / received const char* do now use the type-safe alternative std::string. An example is FluidSystem::componentName(). If you need a const char* for special operation use the string member c_str().
    • Deprecated PROPERTY and PARAMETER NAMES, to be removed after 2.10: BEWARE: The compiler will not print any warning if a deprecated property or parameter name is used. If possible, a run-time warning will appear in the summary lines after the corresponding run.

      • The pure run-time parameter tau has been renamed to the property and run-time parameter TauTortuosity. For the models 1p2c, 2p2c, 3p3c it got the default value 0.5.
    • Deprecated CLASSES/FILES, to be removed after 2.10:

      • The class DiffusivityConstantTau<TypeTag, Scalar> was renamed to DiffusivityConstant<TypeTag> and is located in a according new header. The old class, its header and the property tau are deprecated.

      • PointSourceHelper<TypeTag> has been deprecated. Use BoundingBoxTreePointSourceHelper<TypeTag> instead.

      • The classes Dumux::Liquid/GasPhase<Scalar, Component> have been moved to the namespace Dumux::FluidSystems.

    • Deprecated MEMBER FUNCTIONS, to be removed after 2.10:

      • checkEffectiveSaturation of the classes PlotMaterialLaw<TypeTag> in dumux/io.

      • concentrationGrad of the class TwoPNCFluxVariables<TypeTag>. Use moleFractionGrad instead, with the obviously different physical meaning.

    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.9:

      • Everything listed as deprecated below has been removed.
  • 2.9.0   Tag DuMuX 2.9.0
    b208b98f · Update changelog ·
    Release 2.9.0
    • IMPORTANT NOTES:

      • DuMuX 2.9 is expected to run based on either Dune 2.4 or Dune 3.0. We will try to keep the compatibility with Dune 3.0 as long as it is technically feasible and our resources allow it. If you want to use Dumux multidomain models, you have to stick with the Dune 2.4 core and specific versions of other modules, see test/multidomain/README for details.

      • The ALUGrid stand-alone library cannot be used any longer. Use the module dune-alugrid instead. Both the releases/2.4 branch and the master should work.

      • The above is not true if you like to run a sequential MPFA model on an ALUGrid. Then, you currently have to use the master-old branch of dune-alugrid. We will try to fix this as soon as possible. Alternatively, UGGrid or YaspGrid can be chosen as grid managers.

      • Instead of using AlbertaGrid for the tests where dim < dimWorld, we now employ dune-foamgrid. Dune-foamgrid provides 1d and 2d simplex grids embedded in an arbitrary dimension world space. It features element parametrizations, runtime growth, runtime-movable vertices. You might still use AlbertaGrid, but it is not supported by our GridCreator.

      • If you like/have to use corner-point grids by means of the module dune-cornerpoint, you have to use (and partially patch) the 2015.10 release of OPM. See patches/README for details.

    • IMPROVEMENTS and ENHANCEMENTS:

      • The folder structure has been changed according to FS#250. This has been a rather massive change affecting more than 1000 files. Close to 400 files have been moved and/or renamed. We made everything backwards-compatible, the worst thing that should happen after switching to Dumux 2.9, will be some warnings when including headers from old destinations/names. You can fix the include statements and get rid of the warnings by applying the bash script bin/fix_includes.sh to your source files, for example by executing

        bash ../dumux/bin/fix_includes.sh file1 [file2 ...]

        or

        find . -name '*.[ch][ch]' -exec bash ../dumux/bin/fix_includes.sh {} \;

        inside the folder that contains your files. A patch is available to remove deprecated header files:

        patch -p1 < patches/dumux-2.9-no-deprecated-headers.patch

        The benefits are hopefully:

        • A clearer structure in terms of the problems that you want to apply Dumux for. Three main application areas on the top level: porousmediumflow, freeflow and geomechanics. The different numerical treatments "fully implicit" or "sequential" appear as discretization detail after the choice of the physical model. That's of course currently rather wishful thinking, but nevertheless where we are headed. The folder implicit on the top level now only contains physics-agnostic classes that can be used by any class of an application area. Please note the change from "decoupled" to "sequential" according to the related task FS#252.

        • Nicer include statements due to relaxation of the naming conventions for the header files. Compare the old

          #include <dumux/multidomain/2cnistokes2p2cni/2cnistokes2p2cnilocaloperator.hh>

          with the new

          #include <dumux/multidomain/2cnistokes2p2cni/localoperator.hh>

        The structure change is reflected in the test folder:

        • The tests fromtest/implicit/particular_model have been moved to test/porousmediumflow/particular_model/implicit. For example, test/implicit/2p has been moved to test/porousmediumflow/2p/implicit.

        • Analogously, the tests from test/decoupled/particular_model have been moved to test/porousmediumflow/particular_model/sequential.

        • The subfolders decoupled and implicit of test have been removed.

        • If you have cloned the Dumux Git repository and have local changes in the folders test/implicit or test/decoupled, you can expect merge conflicts for your next git pull. You can either deal with these conflicts directly or create a patch, remove the local changes, pull, and apply the patch afterwards with some care to respect the changed structure.

      • A two-phase multiple-interacting-continua (MINC) model has been added to the Dumux model portfolio. See test/porousmediumflow/2pminc/implicit for details.

      • The multidomain models have been restructured. Duplicated code has been reduced; isothermal and non-isothermal models are treated in a more consistent manner.

      • It is now possible to specify point sources for implicit models. A point source is a source term specified at any point location in e.g. kg/s. Dumux will compute the correct control volume the source belongs to for you. Point sources can be e.g. solution and/or time-dependent. See tests (1p/implicit/pointsources, 2p/implicit/pointsources) for examples.

      • All tests use our standard GridCreator now. If it is possible to specify the grid entirely in the input-file, the corresponding DGF files have been deleted. In particular, a YaspGrid tensor grid can now also be specified via the input file only.

      • Several sections on our fluid/material framework have been moved from the handbook to the Doxygen documentation.

      • The three-phase constitutive relations from material/fluidmatrixinteractions have been reworked to be consistent with their two-phase analogues. In particular, an EffToAbsLaw and regularization classes have been implemented.

      • In case of a simulation stop due to too many timestep subdivisions, restart files of both the current and the old solution are automatically generated.

    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • All flux variables are now default-constructible. While the non-trivial constructors are deprecated, model implementers might be required to make their flux variables default-constructible too. In particular, this affects you if you develop your own flux variables that

        • inherit from flux variables from dumux-stable, such as the ImplicitDaryFluxVariables,
        • and/or are used in a local residual from dumux-stable. See the mailing list for details.
      • For the multidomain models, the notation of the boundary condition types has changed. This is especially important for all momentum boundary conditions. In general:

        • couplingInflow -> couplingNeumann
        • couplingOutflow -> couplingDirichlet
      • But for the momentum balances:

        • couplingInflow -> couplingDirichlet
        • couplingOutflow -> couplingNeumann
      • Due to the change in the three-phase fluid-matrix-interactions, you might have to adjust your spatial parameters. You should get a compiler warning message that gives you more details.

      • The TypeTags ImplicitModel and ExplicitModel have been deleted. They haven't been used apart from one internal inheritance. See FS#304 for details.

    • Deprecated PROPERTY and PARAMETER NAMES, to be removed after 2.9: BEWARE: The compiler will not print any warning if a deprecated property or parameter name is used. However, a run-time warning should appear in the summary lines after the corresponding run.

      • The word Decoupled in the TypeTags has been replaced by Sequential:
        • DecoupledModel -> SequentialModel
        • DecoupledOneP -> SequentialOneP
        • DecoupledTwoP -> SequentialTwoP
        • DecoupledTwoPTwoC -> SequentialTwoPTwoC
        • DecoupledTwoPTwoCAdaptive -> SequentialTwoPTwoCAdaptive
    • Deprecated CLASSES/FILES, to be removed after 2.9:

      • Self-written parallel linear solvers and corresponding infrastructure, according to FS#293. For parallel runs, use the AMGBackend instead. For sequential runs, direct replacements are:

        • BoxBiCGStabILU0Solver -> ILU0BiCGSTABBackend
        • BoxBiCGStabSORSolver -> SORBiCGSTABBackend
        • BoxBiCGStabSSORSolver -> SSORBiCGSTABBackend
        • BoxBiCGStabJacSolver -> JacBiCGSTABBackend
        • BoxBiCGStabGSSolver -> GSBiCGSTABBackend
        • BoxCGILU0Solver -> ILUnCGBackend
        • BoxCGSORSolver -> SORCGBackend
        • BoxCGSSORSolver -> SSORCGBackend
        • BoxCGJacSolver -> JacCGBackend
        • BoxCGGSSolver -> GSCGBackend
        • IMPETBiCGStabILU0Solver -> ILU0BiCGSTABBackend
      • CubeGridCreator, functionality available in default GridCreator

      • SimplexGridCreator, functionality available in default GridCreator

      • DgfGridCreator, functionality available in default GridCreator (since 2.8)

      • Decoupled...Indices -> Sequential...Indices (BEWARE: maybe no compiler warnings)

    • Deprecated MEMBER FUNCTIONS, to be removed after 2.9:

    • Deprecated protected MEMBER VARIABLES, to be removed after 2.9: BEWARE: Older compilers will not print any warning if a deprecated protected member variable is used.

    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.8:

      • Everything listed as deprecated below has been removed.
  • 2.8.0
    Release 2.8.0
    • IMPORTANT NOTES:

      • DuMuX 2.8 is expected to run based on either Dune 2.3 or Dune 2.4. However, no attempt has been made to fix the warnings arising from the deprecation of EntityPointer in Dune 2.4. This will be made during the next release cycle. Moreover, using the multidomain models based on Dune 2.4 is currently only possible by patching dune-multidomaingrid. See test/multidomain/README for details.
    • DELETED BUILD SYSTEM: The Autotools based build system was removed, use the CMake based build system as it is default since Dune 2.4.

    • IMPROVEMENTS and ENHANCEMENTS:

      • New fully-implicit porous-media models for two fluid phases that may consist of an arbitrary number of components have been added. The basic one is associated with the property TwoPNC, see test/implicit/2pnc. A more advanced one that incorporates solid-fluid phase changes is indicated by TwoPNCMin, see test/implicit/2pncmin.

      • The implicit cell-centered models now can use adaptive grid refinement. To make a test problem adaptive, just set the property AdaptiveGrid to true and choose corresponding indicators via AdaptionInitializationIndicator and AdaptionIndicator, see test/implicit/2p/lensproblem.hh for an example. So far, indicators are only provided for the TwoPModel. Indicators for other models will be provided in the future, as well as parallelization and box discretization.

      • With the CpGridCreator, a grid creator has been introduced that reads from a Petrel output / Eclipse input file and generates a CpGrid that is offered by the OPM module dune-cornerpoint. The fully-implicit cell-centered models are now able to deal with cornerpoint grids. See test/implicit/2p/test_cc2pcornerpoint for a test of the functionality. A realistic corner-point grid will be provided in dumux-lecture soon. The OPM modules need to be patched to be compatible with Dune's CMake based build system, see patches/README for details.

      • Zero equation turbulence models (zeroeq) have been added as new models to the freeflow folder. Tests for coupling a turbulent free flow using zeroeq turbulence models with flow in a porous medium have been added.

      • A new class GridCreator is now the new standard grid creator replacing DgfGridCreator. It comprises all functionality from the DgfGridCreator (see also immediate interface changes), plus the ability to read gmsh, or to build a structured grid (only with Dune 2.4) by merely changing the input file.

      • Multidomain problems can now be run by using the general start routine, just as most other problems. For this, the constructor of the multidomain problems has been changed and the InterfaceMeshCreator has been replaced by the InterfaceGridCreator, see below.

      • The Richards model has now an additional flag useHead, which can be used to switch between a pressure-saturation and a pressureHead-watercontent formulation. The primary variables are either pressure in [Pa] or pressure head in [cm], respectively. Default is useHead = false. See test/implicit/richards for details.

      • A bug in the diffusion term in the freeflow models has been fixed.

      • A lot of work has been devoted to improving the testing environment, adding new tests, restructuring the handbook and improving the documentation.

    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • The (new standard) GridCreator's public method gridPtr has been removed. For using PARAMETERS from DGF files use the GridCreators parameters method via GridCreator::parameters(...). See test/implicit/co2 for an example.

      • The use and support for SGrid is dropped. SGrid is deprecated in Dune 2.4. Use YaspGrid instead.

    • Deprecated PROPERTY and PARAMETER NAMES, to be removed after 2.8: BEWARE: The compiler will not print any warning if a deprecated property or parameter name is used. However, a run-time warning should appear in the summary lines after the corresponding run.

    • Deprecated CLASSES/FILES, to be removed after 2.8:

      • The InterfaceMeshCreator has been moved to InterfaceGridCreator and adapted to the structure of other grid creators, it can simply be used by specifying the GridCreator TypeTag.
    • Deprecated MEMBER FUNCTIONS, to be removed after 2.8:

      • The constructor of the multidomain problems has changed. They will now be called directly from the start.hh, identical to the other problems. The new parameters are the TimeManager and the HostGrid.

      • The method simulate(Scalar dtInitial, Scalar tEnd) from MultiDomainProblem, is unused and will be dropped.

      • The GnuplotInterface functions are now called without giving a window number. If plots should be plotted in different windows, different GnuplotInterface objects are now required. This affects also all other plots in the "io" folder.

      • The write() function in plotoverline2d.hh now has an append function, to be able to decide whether the previously written file should be kept or not.

    • Deprecated protected MEMBER VARIABLES, to be removed after 2.8: BEWARE: Older compilers will not print any warning if a deprecated protected member variable is used.

    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.7: Everything listed as deprecated below has been removed.

  • 2.7.0
    Release 2.7.0
    • IMPORTANT NOTES:

      • DuMuX 2.7 should work with DUNE 2.3 as well as 2.4. However, at the time of writing, DUNE-multidomain(grid) doesn't work with DUNE 2.4. Therefore, if a DuMuX multidomain model should be used, DUNE 2.3 is required. See test/multidomain/README for details.

      • The 2.3 branch of dune-alugrid has no CMake support, use dune-alugrid master respectivly 2.4. Or you can fall back to Autotools or use legacy ALUGrid 1.52.

    • IMPROVEMENTS and ENHANCEMENTS:

      • Since 2.6, all isothermal implicit porous-media models (except 2pdfm) can be easily enhanced with the energy equation. For 2.7, this has been also carried out for the models that were only isothermal before, namely, 1p, 3p and richards. Tests have been written and are provided in test/implicit. In order to keep the number of subfolders bearable, isothermal as well as thermal tests are gathered in the model folders "1p", "1p2c", ..., "3p3c", "mpnc", "richards" (without the "ni") and the corresponding "ni"-folders have been deleted.

      • All implicit porous-media models (except 2pdfm) are now able to run on grids with dim < dimWorld. In implicit/1p, four new tests are added that run the 1p test problem on 1d-3d and 2d-3d Alberta grids with box and cell-centered, respectively. Compilation has been tested also for all other models, but no runtime testing has been performed.

      • The terminology for the Newton method has been improved according to FS#238. In particular, what has been referred to as "relative error" is now termed "maximum relative shift", while "absolute error" has been renamed to "residual reduction". This is particularly important, if corresponding parameters or properties are set, see below.

      • The geomechanics ElTwoPModel runs in parallel now. This is made possible by a dedicated solver, the El2PAMGBackend which has to be set for the property LinearSolver in the problem file. See test/geomechanics/el2p for details.

      • Before, velocity output for the implicit porous-media models only worked for cube grids. This has been generalized to simplices (box and cc) and prisms/ pyramids (box only).

      • Revised and fixed restart capability for the multidomain models.

      • A gnuplot interface has been added (works only with CMake). With this interface it is possible to plot material laws (like in the 2p2cni test), or to generate live-updating output (like in test_2cnistokes2p2cni). The gnuplot interface reads analytical functions, data file or data arrays.

      • The fuzzycompare script for automatic testing has been improved. Instead of printing only the first deviation from the reference solution, it now prints the maximum deviation in each field/variable.

    • DEPRECATED BUILD SYSTEM: DuMuX 2.7 will be the last release which can be built with the Autotools based build system. It is deprecated and will be removed for DuMuX 2.8. We encourage the change towards CMake, especially with the upcoming DUNE 2.4. The warning can be suppressed with --disable-dumux-deprecated-autotools

    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • Before, the "heatCapacity" function in the spatial parameters and volume variables of the implicit nonisothermal models was a misnomer, since it returned an effective quantity, namely, heatCapacitydensity(1 - porosity) in [J/(K m^3)]. Except for mpnc, which resulted in an additional inconsistency. Corresponding to the decision documented in FS#216, the function has been renamed to "solidHeatCapacity" and returns always the "true" (non-effective) heat capacity in [J/(kg K)]. This requires an additional function "solidDensity" which returns the mass density of the porous matrix. Moreover, the functions "thermalConductivitySolid/Fluid" are renamed to "solid/fluidThermalConductivity". The decision to prepend with "solid/fluid" rather than to append is motivated by consistency with components and fluid systems, where "gas" and "liquid" are always prepended to the corresponding function names. Therefore, it might be necessary to adapt your thermal solid parameters in the spatialparams file such that they offer functions "solidHeatCapacity", "solidDensity" and "solidThermalConductivity". See test/implicit/2p2c/injectionspatialparams.hh for an example.

      • Due to the change in the Newton terminology (see above), there exist two backward-compatibility breakages: . If a model re-implements the function "relativeErrorDof", it has to be renamed to "relativeShiftAtDof". See dumux/implicit/implicitmodel.hh for an example.

        . If a NewtonController re-implements the function "newtonUpdateRelError", it has to be renamed to "newtonUpdateShift". See dumux/nonlinear/newtoncontroller.hh for an example.

      • The properties "AMGPDELabBackend" and "AMGLocalFemMap" have been unified to "AmgTraits".

    • Deprecated PROPERTY and PARAMETER NAMES, to be removed after 2.7: BEWARE: The compiler will not print any warning if a deprecated property or parameter name is used. However, a run-time warning should appear in the summary lines after the corresponding run.

      • Corresponding to the improved Newton terminology, the following properties (prepended with "Newton") and parameters (in the group "Newton") are renamed: AbsTolerance -> ResidualReduction EnableAbsoluteCriterion -> EnableResidualCriterion RelTolerance -> MaxRelativeShift EnableRelativeCriterion -> EnableShiftCriterion SatisfyAbsAndRel -> SatisfyResidualAndShiftCriterion
    • Deprecated CLASSES/FILES, to be removed after 2.7:

      • SeqAMGBackend and ScaledSeqAMGBackend, replaced by AMGBackend.

      • P0LocalFiniteElementMap.

      • CellData2P2Cmultiphysics, replaced by CellData2P2CMultiPhysics.

      • BoxLocalOperator from dumux/multidomain/common/pdelablocaloperator.hh.

    • Deprecated MEMBER FUNCTIONS, to be removed after 2.7:

      • The functions "heatCapacity", "densitySolid" (mpnc only) and "thermalConductivitySolid/Fluid" in the VolumeVariables of the nonisothermal implicit porous-media models: use "solidHeatCapacity", "solidDensity" and "solid/fluidThermalConductivity" instead. See also the immediate interface changes above.

      • In dumux/implicit/common/implicitmodel.hh and dumux/geomechanics/el2p/elp2basemodel.hh: "relativeErrorDof" -> "relativeShiftAtDof"

      • In dumux/nonlinear/newtoncontroller.hh: "setRelTolerance" -> "setMaxRelativeShift" "setAbsTolerance" -> "setResidualReduction" "newtonUpdateRelError" -> "newtonUpdateShift"

      • The 1p2c volume variables no longer use the method tortuosity() from spatial params class, the value is now calculated within the effective diffusivity model. Thus the method is deprecated in the spacial params classes FVSpatialParamsOneP and ImplicitSpatialParamsOneP.

    • Deprecated protected MEMBER VARIABLES, to be removed after 2.7: BEWARE: Older compilers will not print any warning if a deprecated protected member variable is used.

      • In dumux/nonlinear/newtoncontroller.hh: "error_" -> "shift_" "lastError_" -> "lastShift_" "tolerance_" -> "shiftTolerance_" "absoluteError_" -> "reduction_" "lastAbsoluteError_" -> "lastReduction_" "initialAbsoluteError_" -> "initialResidual_" "absoluteTolerance_" -> "reductionTolerance_" "enableRelativeCriterion_" -> "enableShiftCriterion_" "enableAbsoluteCriterion_" -> "enableResidualCriterion_" "satisfyAbsAndRel_" -> "satisfyResidualAndShiftCriterion_"
    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.6: Everything listed as deprecated below has been removed.

  • 2.6.0
    Release 2.6.0
    • IMPROVEMENTS and ENHANCEMENTS:

      • For the non-isothermal porous media models, the energy equation is implemented in a more generic way for all models in dumux/implicit/nonisothermal. The existing TypeTag names like TwoPNI stay the same. If a new non-isothermal model should be used, it is important to NOT include anything from the old model-specific implementation like from dumux/implicit/2pni, but to include from the model folder without the "ni". See test/implicit/2pni for details. In principle, any isothermal porous media model can be enhanced with the energy equation. Ideally, only the corresponding property files have to be augmented. See dumux/implicit/2p/2ppropert*.hh for details. The 1p2c model already has been enhanced, the remaining models will follow in 2.7.

      • The AMG backend is based directly on dune-istl now. No PDELab is required anymore. The tests so far exhibit an improved robustness. Thanks to Markus Blatt for the work.

      • The multidomain models can now be used with the 2.3 release versions of the DUNE core modules and dune-multidomaingrid, and the 2.0 release versions of dune-pdelab and dune-multidomain. See test/multidomain/README for details.

      • In the fully implicit mpnc model, a further specialization allows now to describe two-phase flow with two energy equations.

      • The free flow models now include the component enthalpy fluxes transported by diffusion processes (h^k D grad x), which was not considered before.

      • UMFPack is a new direct linear solver and can be use as a drop-in replacement for SuperLU. Some users claim a speed-up up to a factor of seven. We know cases where it was 10% slower, so please measure for your problems.

    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • The 3p3cni model now also uses an effective thermal conductivity model (ETCM). The ETCM is easily exchangeable. The default one is ThermalConductivitySomerton, which is implemented in dumux/material/fluidmatrixinteractions/3p. The ETCM requires that 3p3cni spatial parameters provide a function thermalConductivitySolid instead of matrixHeatFlux. See test/implicit/3p3cni/columnxylolspatialparams.hh for details. Moreover, the employed fluid system has to actually implement the function thermalConductivity. See dumux/material/fluidsystems/h2oairxylenefluidsystem.hh for details.

      • The non-isothermal flux variables call the effective thermal conductivity models (ETCM) in a different way. If you used a self-written ETCM and want to use a new non-isothermal model, the ETCM has to be adapted. See material/fluidmatrixinteractions/2p/thermalconductivitysomerton.hh for details.

      • Fully implicit mpnc model: in order to account for the possibility of using two energy equations, the boolean property EnableKineticEnergy has been changed to the integer property NumEnergyEquations.

    • Deprecated way of setting command line parameters, to be removed after 2.6:

      • To set paramaters from the command line, the notation --parameterFile=NAME is deprecated. Use from now on -ParameterFile NAME.
    • Deprecated CLASSES/FILES, to be removed after 2.6:

      • The old non-isothermal porous media models are deprecated. Technically, including a ..niproperties.hh file triggers a deprecation warning.

      • FVPressure2P2CAdaptive, use dimension-specific implementations FV2dPressure2P2CAdaptive and FV3dPressure2P2CAdaptive instead.

      • FVTransport2P2CAdaptive, use dimension-specific implementations FV2dTransport2P2CAdaptive and FV3dTransport2P2CAdaptive instead.

    • Deprecated MEMBER FUNCTIONS, to be removed after 2.6:

      • In the Stokes flux variables, the method eddyViscosity() is deprecated, use dynamicEddyViscosity() instead.

      • In the Stokes non-isothermal flux variables, the method eddyConductivity() is deprecated, use thermalEddyConductivity() instead.

      • Already in 2.5, the following member functions of MultiDomainModel/Problem have been deprecated: subProblemX, subModelX, subIDX, gridViewX with X=1,2. They are replaced by sdProblemX, sdModelX, sdIDX, sdGridViewX.

    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.5: Everything listed as deprecated below has been removed.

  • 2.5.0
    70e398e4 · Tag release 2.5.0 ·
    Release 2.5.0
    • IMPROVEMENTS and ENHANCEMENTS:

      • The three-dimensional implementation of the MPFA L-method is made available for the decoupled compositional 2p2c models. It also allows for simulation on an adaptive grid.
      • Coupling of 2c2p with stokesnc and 2p2cNI with Stokesncni was added. The stokes2c and stokes2cni are now DEPRECATED and will be kicked out by the next release. Instead generalized stokesnc and stokesncni models are introduced. Unlike 2c models the transport equations in the nc models are capapable of using both mass and mole fractions. NOTE: For coupling test examples be aware of the harsh version restrictions mentioned in dumux/test/modelcoupling/README.
    • IMMEDIATE INTERFACE CHANGES not allowing/requiring a deprecation period:

      • Dropped support for PDELab 1.0.1, PDELab 1.1 is required.
    • Deprecated CLASSES/FILES, to be removed after 2.5:

      • Stokes2cModel was replaced by StokesNCModel, similar for more Stokes2c* classes.
    • DELETED classes/files, property names, constants/enums, member functions, which have been deprecated in DuMuX 2.4: Everything listed as deprecated below has been removed.