Skip to content
Snippets Groups Projects
Commit cccc9e06 authored by Yue Wang's avatar Yue Wang Committed by Kilian Weishaupt
Browse files

[test][2p2c][injection] new material law

parent 71fb1d0d
No related branches found
No related tags found
1 merge request!1607Feature/new materiallaw 2p
...@@ -24,3 +24,13 @@ TemperatureHigh = 314.15 # [Pa] upper temperature limit for tabularization ...@@ -24,3 +24,13 @@ TemperatureHigh = 314.15 # [Pa] upper temperature limit for tabularization
PriVarNamesState1 = p_liq x^N2_liq PriVarNamesState1 = p_liq x^N2_liq
PriVarNamesState2 = p_liq x^H2O_gas PriVarNamesState2 = p_liq x^H2O_gas
PriVarNamesState3 = p_liq S_gas PriVarNamesState3 = p_liq S_gas
[SpatialParams]
FineMaterial.Swr = 0.2
FineMaterial.Snr = 0.0
FineMaterial.BrooksCoreyPcEntry = 1e4
FineMaterial.BrooksCoreyLambda = 2.0
CoarseMaterial.Swr = 0.2
CoarseMaterial.Snr = 0.0
CoarseMaterial.BrooksCoreyPcEntry = 1e4
CoarseMaterial.BrooksCoreyLambda = 2.0
...@@ -28,8 +28,7 @@ ...@@ -28,8 +28,7 @@
#include <dumux/porousmediumflow/properties.hh> #include <dumux/porousmediumflow/properties.hh>
#include <dumux/material/spatialparams/fv.hh> #include <dumux/material/spatialparams/fv.hh>
#include <dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh> #include <dumux/material/fluidmatrixinteractions/2p/brookscorey.hh>
#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
namespace Dumux { namespace Dumux {
...@@ -51,19 +50,18 @@ class InjectionSpatialParams ...@@ -51,19 +50,18 @@ class InjectionSpatialParams
static constexpr int dimWorld = GridView::dimensionworld; static constexpr int dimWorld = GridView::dimensionworld;
using EffectiveLaw = RegularizedBrooksCorey<Scalar>; using PcKrSwCurve = FluidMatrix::BrooksCoreyDefault<Scalar>;
using GlobalPosition = typename Element::Geometry::GlobalCoordinate; using GlobalPosition = typename Element::Geometry::GlobalCoordinate;
public: public:
//! Export the type used for the permeability //! Export the type used for the permeability
using PermeabilityType = Scalar; using PermeabilityType = Scalar;
//! Export the material law type used
using MaterialLaw = EffToAbsLaw<EffectiveLaw>;
using MaterialLawParams = typename MaterialLaw::Params;
InjectionSpatialParams(std::shared_ptr<const GridGeometry> gridGeometry) InjectionSpatialParams(std::shared_ptr<const GridGeometry> gridGeometry)
: ParentType(gridGeometry) : ParentType(gridGeometry)
, finePcKrSwCurve_("SpatialParams.FineMaterial")
, coarsePcKrSwCurve_("SpatialParams.CoarseMaterial")
{ {
layerBottom_ = 22.5; layerBottom_ = 22.5;
...@@ -74,18 +72,6 @@ public: ...@@ -74,18 +72,6 @@ public:
// porosities // porosities
finePorosity_ = 0.3; finePorosity_ = 0.3;
coarsePorosity_ = 0.3; coarsePorosity_ = 0.3;
// residual saturations
fineMaterialParams_.setSwr(0.2);
fineMaterialParams_.setSnr(0.0);
coarseMaterialParams_.setSwr(0.2);
coarseMaterialParams_.setSnr(0.0);
// parameters for the Brooks-Corey law
fineMaterialParams_.setPe(1e4);
coarseMaterialParams_.setPe(1e4);
fineMaterialParams_.setLambda(2.0);
coarseMaterialParams_.setLambda(2.0);
} }
/*! /*!
...@@ -119,11 +105,11 @@ public: ...@@ -119,11 +105,11 @@ public:
* *
* \param globalPos The global position * \param globalPos The global position
*/ */
const MaterialLawParams& materialLawParamsAtPos(const GlobalPosition& globalPos) const const auto fluidMatrixInteractionAtPos(const GlobalPosition& globalPos) const
{ {
if (isFineMaterial_(globalPos)) if (isFineMaterial_(globalPos))
return fineMaterialParams_; return makeFluidMatrixInteraction(finePcKrSwCurve_);
return coarseMaterialParams_; return makeFluidMatrixInteraction(coarsePcKrSwCurve_);
} }
/*! /*!
...@@ -147,8 +133,8 @@ private: ...@@ -147,8 +133,8 @@ private:
Scalar finePorosity_; Scalar finePorosity_;
Scalar coarsePorosity_; Scalar coarsePorosity_;
MaterialLawParams fineMaterialParams_; const PcKrSwCurve finePcKrSwCurve_;
MaterialLawParams coarseMaterialParams_; const PcKrSwCurve coarsePcKrSwCurve_;
}; };
} // end namespace Dumux } // end namespace Dumux
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment