mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
solution to ex2 of miniworkshop dumux
This commit is contained in:
committed by
Andreas Lauser
parent
346b75c02c
commit
d06880da8c
@@ -21,7 +21,6 @@
|
||||
|
||||
// include material laws
|
||||
#include <dumux/new_material/fluidmatrixinteractions/2p/regularizedbrookscorey.hh>
|
||||
#include <dumux/new_material/fluidmatrixinteractions/2p/regularizedlinearmaterial.hh>
|
||||
#include <dumux/new_material/fluidmatrixinteractions/2p/linearmaterial.hh>
|
||||
#include <dumux/new_material/fluidmatrixinteractions/2p/efftoabslaw.hh>
|
||||
|
||||
@@ -47,15 +46,15 @@ class TutorialSpatialParameters: public BoxSpatialParameters<TypeTag> /*@\label{
|
||||
typedef typename Grid::Traits::template Codim<0>::Entity Element;
|
||||
|
||||
// select materialLaw to be used
|
||||
// typedef RegularizedBrooksCorey<Scalar> RawMaterialLaw;
|
||||
typedef LinearMaterial<Scalar> RawMaterialLaw; // example for linear Materiallaw
|
||||
typedef RegularizedBrooksCorey<Scalar> RawMaterialLaw;
|
||||
//typedef LinearMaterial<Scalar> RawMaterialLaw; // example for linear Materiallaw
|
||||
public:
|
||||
// adapter for absolute law
|
||||
typedef EffToAbsLaw<RawMaterialLaw> MaterialLaw;
|
||||
|
||||
// determine appropriate parameters depening on selected materialLaw
|
||||
typedef typename MaterialLaw::Params MaterialLawParams;
|
||||
|
||||
typedef typename MaterialLaw::Params SecondMaterialLawParams;
|
||||
|
||||
// method returning the intrinsic permeability tensor K depending
|
||||
// on the position within the domain
|
||||
@@ -80,9 +79,10 @@ public:
|
||||
const FVElementGeometry &fvElemGeom,
|
||||
int scvIdx) const
|
||||
{
|
||||
// if (element.center()>= 783636)
|
||||
// return UpperBoundaryMaterialParams_;
|
||||
return materialParams_;
|
||||
if (element.geometry().center()[1]< 40.)
|
||||
return secondMaterialParams_;
|
||||
else
|
||||
return materialParams_;
|
||||
}
|
||||
|
||||
// constructor
|
||||
@@ -97,18 +97,20 @@ public:
|
||||
materialParams_.setSnr(0.0);
|
||||
|
||||
// //brooks-corey law
|
||||
// materialParams_.setPe(0.0);
|
||||
// materialParams_.setAlpha(2.0);
|
||||
materialParams_.setPe(0.0);
|
||||
materialParams_.setAlpha(2.0);
|
||||
|
||||
//linear material law
|
||||
materialParams_.setEntryPC(0.0);
|
||||
materialParams_.setMaxPC(0.0);
|
||||
// //linear material law
|
||||
secondMaterialParams_.setPe(0.0);
|
||||
secondMaterialParams_.setAlpha(3.0);
|
||||
secondMaterialParams_.setSnr(0.3);
|
||||
}
|
||||
|
||||
private:
|
||||
Dune::FieldMatrix<Scalar, dim, dim> K_;
|
||||
// Object that helds the values/parameters of the selected material law.
|
||||
MaterialLawParams materialParams_;
|
||||
SecondMaterialLawParams secondMaterialParams_;
|
||||
};
|
||||
} // end namespace
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user