Commit e4be90f2 authored by Dennis Gläser's avatar Dennis Gläser
Browse files

[mm][fractures] make initial/boundary saturations variable

parent 3fac749d
......@@ -10,10 +10,13 @@ EnableGravity = true
File = ./grids/complex.msh
DomainMarkers = true # enable domain markers
[Problem]
BoundaryMethaneSaturation = 0.0
[Matrix]
Problem.Name = matrix
Problem.BoundaryOverPressure = 5e5
Problem.BoundarySaturation = 0.5
Problem.InitialMethaneSaturation = 0.8
SpatialParams.Permeability = 1e-12
SpatialParams.Porosity = 0.1
SpatialParams.VGAlpha = 1e-3
......@@ -23,6 +26,7 @@ SpatialParams.Swr = 0.0
[Fracture]
Problem.Name = fractures
Problem.InitialMethaneSaturation = 0.8
SpatialParams.Aperture = 1e-1
SpatialParams.Permeability = 1e-7
SpatialParams.Porosity = 0.85
......
......@@ -124,6 +124,8 @@ public:
const std::string& paramGroup)
: ParentType(fvGridGeometry, spatialParams, paramGroup)
, aperture_(getParamFromGroup<Scalar>(paramGroup, "SpatialParams.Aperture"))
, boundarySaturation_(getParamFromGroup<Scalar>(paramGroup, "Problem.BoundaryMethaneSaturation"))
, initialSaturation_(getParamFromGroup<Scalar>(paramGroup, "Problem.InitialMethaneSaturation"))
{
// initialize the fluid system, i.e. the tabulation
// of water properties. Use the default p/T ranges.
......@@ -174,7 +176,11 @@ public:
//! evaluates the Dirichlet boundary condition for a given position
PrimaryVariables dirichletAtPos(const GlobalPosition& globalPos) const
{ return initialAtPos(globalPos); }
{
auto values = initialAtPos(globalPos);
values[saturationIdx] = boundarySaturation_;
return values;
}
//! evaluate the initial conditions
PrimaryVariables initialAtPos(const GlobalPosition& globalPos) const
......@@ -188,7 +194,7 @@ public:
PrimaryVariables values;
Scalar densityW = 1000.0;
values[pressureIdx] = 1e5 - (domainHeight - globalPos[1])*densityW*g[1];
values[saturationIdx] = 0.0;
values[saturationIdx] = initialSaturation_;
return values;
}
......@@ -207,6 +213,8 @@ public:
private:
std::shared_ptr<CouplingManager> couplingManagerPtr_;
Scalar aperture_;
Scalar boundarySaturation_;
Scalar initialSaturation_;
};
} // end namespace Dumux
......
......@@ -136,7 +136,8 @@ public:
const std::string& paramGroup = "")
: ParentType(fvGridGeometry, spatialParams, paramGroup)
, boundaryOverPressure_(getParamFromGroup<Scalar>(paramGroup, "Problem.BoundaryOverPressure"))
, boundarySaturation_(getParamFromGroup<Scalar>(paramGroup, "Problem.BoundarySaturation"))
, boundarySaturation_(getParamFromGroup<Scalar>(paramGroup, "Problem.BoundaryMethaneSaturation"))
, initialSaturation_(getParamFromGroup<Scalar>(paramGroup, "Problem.InitialMethaneSaturation"))
{
// initialize the fluid system, i.e. the tabulation
// of water properties. Use the default p/T ranges.
......@@ -195,7 +196,7 @@ public:
PrimaryVariables values;
Scalar densityW = 1000.0;
values[pressureIdx] = 1e5 - (domainHeight - globalPos[1])*densityW*g[1];
values[saturationIdx] = 0.0;
values[saturationIdx] = initialSaturation_;
return values;
}
......@@ -216,6 +217,7 @@ private:
Scalar boundaryOverPressure_;
Scalar boundarySaturation_;
Scalar initialSaturation_;
};
} // 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