Commit 61c7d025 authored by Ned Coltman's avatar Ned Coltman
Browse files

[co2] adapt to new material laws

parent f674b23e
......@@ -21,12 +21,10 @@ Salinity = 0.1
Permeability = 1e-13 # [m^2] intrinsic permeability
DipAngle = 0.0 # [deg] dip angle for the domain
Porosity = 0.3 # porosity
[MaterialLaw]
Swr = 0.2 # [-] residual wetting phase sat.
Snr = 0.2 # [-] residual nonwetting phase sat.
Pe = 5e3 # [Pa] capillary entry pressure
Lambda = 2 # [-] Brooks Corey parameter
BrooksCoreyPcEntry = 5e3 # [Pa] capillary entry pressure
BrooksCoreyLambda = 2 # [-] Brooks Corey parameter
[Problem]
Name = co2plumeshape # the name of the output files
......
......@@ -28,8 +28,7 @@
#include <dumux/io/grid/griddata.hh>
#include <dumux/material/spatialparams/fv.hh>
#include <dumux/material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh>
#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
#include <dumux/material/fluidmatrixinteractions/2p/brookscorey.hh>
#include <dumux/porousmediumflow/co2/model.hh>
......@@ -54,12 +53,9 @@ class PlumeShapeSpatialParams
using ParentType = FVSpatialParams<FVGridGeometry, Scalar,
PlumeShapeSpatialParams<FVGridGeometry, Scalar>>;
using GlobalPosition = typename SubControlVolume::GlobalPosition;
using EffectiveLaw = RegularizedBrooksCorey<Scalar>;
using PcKrSwCurve = FluidMatrix::BrooksCoreyDefault<Scalar>;
public:
using MaterialLaw = EffToAbsLaw<EffectiveLaw>;
using MaterialLawParams = typename MaterialLaw::Params;
using PermeabilityType = Scalar;
/*!
......@@ -67,20 +63,13 @@ public:
*/
PlumeShapeSpatialParams(std::shared_ptr<const FVGridGeometry> fvGridGeometry)
: ParentType(fvGridGeometry)
, pcKrSwCurve_("SpatialParams")
{
// intrinsic permeability
permeability_ = getParam<Scalar>("SpatialParams.Permeability");
// porosity
porosity_ = getParam<Scalar>("SpatialParams.Porosity");
// residual saturations
materialParams_.setSwr(getParam<Scalar>("MaterialLaw.Swr"));
materialParams_.setSnr(getParam<Scalar>("MaterialLaw.Snr"));
// parameters for the Brooks-Corey law
materialParams_.setPe(getParam<Scalar>("MaterialLaw.Pe"));
materialParams_.setLambda(getParam<Scalar>("MaterialLaw.Lambda"));
}
/*!
......@@ -96,9 +85,7 @@ public:
PermeabilityType permeability(const Element& element,
const SubControlVolume& scv,
const ElementSolution& elemSol) const
{
return permeability_;
}
{ return permeability_; }
/*!
* \brief Returns the porosity \f$[-]\f$
......@@ -112,9 +99,7 @@ public:
Scalar porosity(const Element& element,
const SubControlVolume& scv,
const ElementSolution& elemSol) const
{
return porosity_;
}
{ return porosity_; }
/*!
......@@ -123,10 +108,8 @@ public:
* \return the material parameters object
* \param globalPos The position of the center of the element
*/
const MaterialLawParams& materialLawParamsAtPos(const GlobalPosition& globalPos) const
{
return materialParams_;
}
const auto fluidMatrixInteractionAtPos(const GlobalPosition& globalPos) const
{ return pcKrSwCurve_; }
/*!
* \brief Function for defining which phase is to be considered as the wetting phase.
......@@ -142,8 +125,7 @@ private:
Scalar permeability_;
Scalar porosity_;
MaterialLawParams materialParams_;
const PcKrSwCurve pcKrSwCurve_;
};
} // end namespace Dumux
......
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