Skip to content

Feature/new materiallaw 2p

Timo Koch requested to merge feature/new-materiallaw-2p into master

Current status

  • The material law classes are built in a bit complicated way as a series of wrappers
  • In order to evaluate a law you need the type of the law and the parameters
  • Regularization is somewhat inflexible
  • It's not possible to cache anything in the laws

What this MR does / why does DuMux need it:

  • New class that gets policy template arguments instead of wrappers
  • New fluidmatrixinteraction object that knows it's parameterization
  • A single object that knows how to evaluate a law and can also cache things
  • Flexible regularization that also allows e.g. for approximation / spline-interpolation in any part of the function

Fixes #319 (closed).

Special notes for your reviewer / TODO:

  • !2249 (merged) Should be merged first.
  • Add update function to update the parameters of a function (not implemented for now. Can be added later)
  • deprecation in volume variables and other call sites (-> !2260 (merged))
  • do the same for the interfacial area laws (non-equilibrium) (-> !2260 (merged))
  • deprecate old laws
  • adjust material law unit test to new laws
  • implement brooks-corey
  • implement twop default regularization for brooks-corey & vangenuchten
  • reimplement weird "regularized" linear law (should be a separate law in my opinion since the entire curve is changed)
  • reimplement heatpipelaw as example of a law that simply satisfies the interface (doesn't need to make use of TwoPMaterialLaw)
  • Change all spatialParams to get rid of deprecation warnings (could be done in team)
  • Use getters and setters for parameters (like before)
  • Adapt 2p sequential headers
  • Adapt plot material law to be able to use new style material laws
  • adapt box interface solver
  • adapt 2p incompressible local residual
  • adapt flash headers and tests
Edited by Timo Koch

Merge request reports