Commit c4f443d7 authored by Andreas Lauser's avatar Andreas Lauser
Browse files

changelog: proofread it, make the language style more uniform

Approved by RNA

git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@7906 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent cfa2375e
Notable Differences Between DuMuX 2.0 and DuMuX 2.1 Notable Differences Between DuMuX 2.0 and DuMuX 2.1
=================================================== ===================================================
- Overhaul of the fluid framework - The thermodynamics framework has been overhauled:
- The programming interface for fluid systems, fluid states and - The programming interfaces for fluid systems, fluid states and
components has been formalized and cleaned up. components has been formalized and cleaned up.
- Fluid systems now have the option to cache computationally - Fluid systems now have the option to cache computationally
expensive parameters if they are needed for several relations. expensive parameters if they are needed for several relations.
- Fluid systems are not concerned with the calculation of the - Fluid systems are not charged with the computation of the
chemical equilibrium anymore. chemical equilibrium anymore.
- Fluid states are now centralized infrastructure instead of being - Fluid states are now centralized infrastructure instead of being
model-specific model-specific.
- Constraint solvers which simplify solving thermodynamic - Constraint solvers (which simplify solving thermodynamic
constraints have been introduced. constraints) have been introduced.
- Outflow boundary conditions have been implemented in some box models: - Outflow boundary conditions have been implemented for the
1p2c, 2p2c(ni) and stokes(2cni) fully-implicit models 1p2c, 2p2c(ni) and stokes(2cni).
- Problem and spatial parameter base classes provide model-independent - The problem and spatial parameter base classes also provide optional
interfaces for problem and spatial parameter definition, which only model-independent interfaces. These methods only get the position in
get the position in global coordinates as argument (e.g. boundaryTypesAtPos(), global coordinates as argument and are named *AtPos()
etc.). This allows an easy transfer of problem definitions between implicit (e.g. boundaryTypesAtPos()). This allows an easy transfer of problem
and sequential models. definitions between implicit and sequential models.
- The following fully-implicit models have been added:
- New fully implicit models:
- 3p3c, 3p3cni: Isothermal and non-isothermal three-phase, - 3p3c, 3p3cni: Isothermal and non-isothermal three-phase,
three-component models for flow and transport in porous media. three-component models for flow and transport in porous media
based on primary variable switching.
- MpNc: A model for arbitrary number of phases M > 0, and components - MpNc: A model for arbitrary number of phases M > 0, and components
(N >= M - 1). This model also comes with modules for considering (N >= M - 1 >= 1) for flow and transport in porous media. This
energy and molecular diffusion model also comes with an energy and a molecular diffusion module.
- stokes, stokes2c, stokes2cni: A model for the plain Stokes - stokes, stokes2c, stokes2cni: Models for the plain Stokes
equation as well as isothermal and non-isothermal Stokes models equation as well as isothermal and non-isothermal Stokes models
for two-component fluids. for two-component fluids.
- Overhaul of the sequentially-coupled models: - The sequentially-coupled models have been overhauled:
- Common structure for cell centered standard finite volume implementations. - A common structure for cell centered standard finite volume
- Data structure overhauled to avoid large clumps of data in large-scale simulations: Each cell stores implementations has been introduced.
data in its own storage object. - The data structures where overhauled to avoid large clumps of data
- Subdivision of too large assemble() methods into submethods getStorage(), getFlux() etc. By this, in large-scale simulations: Each cell stores data in its own
improve inheritance of classes and reduction of code duplication. storage object.
- Improved conceptual seperation of the variableclass (central infrastructure), data storage, transport - The too large assemble() methods have been split into submethods
model and pressure model. getStorage(), getFlux() etc. By this, inheritance of classes has
- Use of the common DuMuX infrastructure also used by the implicit models (BoundaryTypes, etc.) been improved and code duplication was reduced.
=> Significant improvement in speed and comfort in debugging - The conceptual seperation of the "VariableClass" (central
- New decoupled models: infrastructure), data storage, transport model and pressure model
- 2padaptive: Grid-adaptive standard finite volume two-phase model for non-conforming quadrilateral grids. has been improved.
- More of infrastructure is now shared with the implicit models
(e.g. the BoundaryTypes). This results in significant performance
improvements and makes debugging easier.
- The 2padaptive sequentially coupled model has been added. This model
implements a grid-adaptive finite volume scheme for immiscible
two-phase flow in porous media on non-conforming quadrilateral
grids.
- The dependencies for the external dune-pdelab and boost packages - The dependencies for the external dune-pdelab and boost packages
have been removed. have been removed.
- Improvements to the build system: - The build system has received major improvements:
- Better test coverage of the dependencies of libraries for the - There is now much better test coverage of build-time dependencies
default autotools-based build system. on packages for the default autotools-based build system.
- Experimental support for building DuMuX using CMake. In the long - Experimental support for building DuMuX using CMake has been much
run, CMake is projected to become the default build system improved. In the long run, CMake is projected to become the
- All headers can now be included without any preconditions (i.e. 'make default build system.
headercheck' works) - All headers can now be included without any preconditions.
- DuMuX now compiles without warnings if GCC is given the -pedantic flag - DuMuX now compiles without warnings if the -pedantic flag used for GCC.
- Specifying run-time parameters is now possible. The mechanism allows - Specifying run-time parameters is now possible. The mechanism allows
to use parameter files or to specify parameters directly on the to use parameter files or to specify parameters directly on the
command line. Parameter input files have been added for each test application. command line and fallback parameter input files have been added for
These can be run now without arguments (use of default parameter files) each test application. As a consequence, applications can be run
- Fine-tuning of the DuMuX property system now without specifying any command line arguments.
- PTAG() no longer required for the GET_PROP* macros (but can still be used) - The DuMuX property system has been fine-tuned:
- Encapsulating property names with the PTAG() is no longer required
for the GET_PROP* macros (but is still allowed).
- Setting property defaults has been deprecated. - Setting property defaults has been deprecated.
- All properties set for a type tag can now be printed with their - All properties defined for a type tag can now be printed. Also,
value and the location where they where specified. their value and the location in the source where they where
- Quadruple precision math is possible for gcc 4.6 or newer specified is included in the output.
- To use it add --enable-quad to the configure options and set the - Using quadruple precision math has been made possible for GCC 4.6 or newer:
type of scalar values to quad using - To use it, the configure option '--enable-quad' needs to be added
and the type of scalar values needs to be changed to 'quad'. This
can be done in the problem file using
SET_TYPE_PROP(ProblemTypeTag, Scalar, quad); SET_TYPE_PROP(YourProblemTypeTag, Scalar, quad);
Keep in mind that quadruple precision is meant as It should be noted, that performance is very poor when using
quadruple precision arithmetic. This feature is primarily meant as
a debugging tool to quickly check whether there are machine a debugging tool to quickly check whether there are machine
precision related convergence problems. precision related convergence problems.
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment