Tag DuMuX 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.