Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dumux-repositories
dumux
Commits
5c5f3974
Commit
5c5f3974
authored
Jan 22, 2019
by
Theresa Schollenberger
Browse files
[salinization] pseudo freeflow layer
parent
76d5b7b1
Changes
1
Hide whitespace changes
Inline
Side-by-side
test/porousmediumflow/2pncmin/implicit/salinizationspatialparams.hh
View file @
5c5f3974
...
...
@@ -75,17 +75,31 @@ public:
irreducibleGasSat_
=
getParam
<
Scalar
>
(
"SpatialParams.IrreducibleGasSat"
,
1e-3
);
vgAlpha_
=
getParam
<
Scalar
>
(
"SpatialParams.VGAlpha"
,
1.5
);
vgn_
=
getParam
<
Scalar
>
(
"SpatialParams.VGn"
,
4.0
);
surfacePosition_
=
getParam
<
Scalar
>
(
"SpatialParams.SurfacePosition"
);
pseudoPorosity_
=
getParam
<
Scalar
>
(
"SpatialParams.pseudoPorosity"
);
pseudoPermeability_
=
getParam
<
Scalar
>
(
"SpatialParams.pseudoPermeability"
);
plotFluidMatrixInteractions_
=
getParam
<
bool
>
(
"Output.PlotFluidMatrixInteractions"
);
//Van Genuchen parameters
// residual saturations
materialParams_
.
setSwr
(
irreducibleLiqSat_
);
materialParams_
.
setSnr
(
irreducibleGasSat_
);
//Van Genuchen parameters
materialParams_
.
setVgAlpha
(
vgAlpha_
);
materialParams_
.
setVgn
(
vgn_
);
materialParamsPseudo_
.
setSwr
(
0.0
);
materialParamsPseudo_
.
setSnr
(
0.0
);
//Van Genuchen parameters
materialParamsPseudo_
.
setVgAlpha
(
0.01
);
materialParamsPseudo_
.
setVgn
(
3.0
);
}
/*!
...
...
@@ -127,7 +141,13 @@ public:
*/
template
<
class
SolidSystem
>
Scalar
inertVolumeFractionAtPos
(
const
GlobalPosition
&
globalPos
,
int
compIdx
)
const
{
return
1.0
-
referencePorosity_
;
}
{
Scalar
pos1
=
globalPos
[
1
];
if
(
pos1
<=
surfacePosition_
)
return
1.0
-
referencePorosity_
;
else
return
1.0
-
pseudoPorosity_
;
}
/*!
* \brief Define the reference porosity \f$[-]\f$ distribution.
...
...
@@ -138,7 +158,17 @@ public:
* \param scv The sub-control volume
*/
Scalar
referencePorosity
(
const
Element
&
element
,
const
SubControlVolume
&
scv
)
const
{
return
referencePorosity_
;
}
{
Scalar
pos1
=
scv
.
center
()[
1
];
if
(
pos1
<=
surfacePosition_
){
// std::cout<< "refPor: "<< referencePorosity_ << std::endl;
return
referencePorosity_
;
}
else
{
// std::cout<< "pseudoPor: "<< pseudoPorosity_ << std::endl;
return
pseudoPorosity_
;
}
}
/*! Intrinsic permeability tensor K \f$[m^2]\f$ depending
* on the position in the domain
...
...
@@ -157,10 +187,19 @@ public:
Scalar
sumPrecipitates
=
0.0
;
sumPrecipitates
+=
priVars
[
3
/*numComp*/
];
Scalar
pos1
=
scv
.
center
()[
1
];
using
std
::
max
;
const
auto
poro
=
max
(
/*minPoro*/
1e-5
,
referencePorosity_
-
sumPrecipitates
);
return
permLaw_
.
evaluatePermeability
(
referencePermeability_
,
referencePorosity_
,
poro
);
if
(
pos1
<=
surfacePosition_
)
{
const
auto
poro
=
max
(
/*minPoro*/
1e-5
,
referencePorosity_
-
sumPrecipitates
);
return
permLaw_
.
evaluatePermeability
(
referencePermeability_
,
referencePorosity_
,
poro
);
}
else
{
const
auto
poro
=
max
(
/*minPoro*/
1e-5
,
pseudoPorosity_
-
sumPrecipitates
);
return
permLaw_
.
evaluatePermeability
(
pseudoPermeability_
,
pseudoPorosity_
,
poro
);
}
}
// Scalar solidity(const SubControlVolume &scv) const
...
...
@@ -174,7 +213,11 @@ public:
// return the brooks-corey context depending on the position
const
MaterialLawParams
&
materialLawParamsAtPos
(
const
GlobalPosition
&
globalPos
)
const
{
return
materialParams_
;
}
{
if
(
globalPos
[
1
]
<=
surfacePosition_
)
return
materialParams_
;
else
return
materialParamsPseudo_
;
}
// define which phase is to be considered as the wetting phase
template
<
class
FluidSystem
>
...
...
@@ -184,6 +227,7 @@ public:
private:
MaterialLawParams
materialParams_
;
MaterialLawParams
materialParamsPseudo_
;
PermeabilityKozenyCarman
<
PermeabilityType
>
permLaw_
;
...
...
@@ -194,6 +238,10 @@ private:
Scalar
irreducibleGasSat_
;
Scalar
vgAlpha_
;
Scalar
vgn_
;
Scalar
surfacePosition_
;
Scalar
pseudoPorosity_
;
Scalar
pseudoPermeability_
;
bool
plotFluidMatrixInteractions_
;
};
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment