Skip to content

Improve effective laws

Kilian Weishaupt requested to merge feaure/improve-effective-laws into master

Fixes #711 (closed) Fixes #710 (closed) Fixes #733 (closed)

The goal of this MR is to make the effective laws more general and use the same interfaces for all of them, making them easier accessible. The effective values should then be added in the volumeVariables and which means that then all effective quantities could be accessed from the volumevariables (e.g. in FicksLaw take the effective diffusion coefficient directly from the volumevariables). To make this possible, a common interface in the volumevariables is necessary. To achieve this the following steps are taken in this MR:

  • delete the obsolete johansenindices from the thermalconductivityjohansen and get the wetting index directly from the volumevariables (minor change)
  • introduce effective diffusion coefficients in all compositional volume variables
  • MPFA also needed some fixing adressed in #733 (closed).

While introducing the above point it was obvious that currently the diffusion coefficients are treated quite heterogeneously in the volumevariables depending on the model. That is why the suggestion was to introduce a container for the diffusion coefficients so that they can be easier accessed. That means the container deals with transferring the indices for phaseIdx, compIIdx, compJIdx to the right diffusion coefficient. The goal is to use the common interface diffusioncoefficient(int phaseIdx, int compIIdx, int compJIdx) in the volumevariables.

Container types for the diffusion coefficients are introduced.

  • Depends on a fix in MPFA to handle zero coefficients.

TODO

  • Revise the maxstef container
  • Revise the fixs law container to include a loop for each specialization
  • Redo the Volvars to include the update functions and helper lambdas (1p2c, 2p2c)
  • Redo the Volvars to include the update functions and helper lambdas (1pnc, 2pnc, mpnc, 3p3c)
  • Redo the Volvars to include the update functions and helper lambdas (richardsnc, richards)
  • Fix the 1p tracer example which fails.
  • Fix the 2p tracer test.
  • Redo the Volvars to include the update functions and helper lambdas (3pwateroil)
  • Redo the Volvars to include the update functions and helper lambdas (co2)
  • Adapt NavierStokesNC for Ficks law.
  • Adapt NavierStokesNC for Max-Stef law.
  • Remove MPFA warnings
  • Adapt Compositional RANS
  • Fix all branch related warnings

As of Thursday 2020.01.30 all of the tests compile without branch related deprecation warnings, and pass. This leaves two tasks:

  • Address comments in 1543095d
  • Try and the reduce property system duplication with better inheritance
  • Recommit/squash everything

After Dumux day on the 4th of March:

  • Add sentence to changelog
Edited by Ned Coltman

Merge request reports