Skip to content
GitLab
Menu
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
f9c6f08c
Commit
f9c6f08c
authored
Mar 03, 2021
by
Kilian Weishaupt
Browse files
[heatpipelaw] Remove deprecated code
parent
397cd813
Changes
1
Hide whitespace changes
Inline
Side-by-side
dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh
View file @
f9c6f08c
...
...
@@ -25,150 +25,6 @@
#ifndef DUMUX_MATERIAL_FLUIDMATRIX_TWOP_HEATPIPELAW_HH
#define DUMUX_MATERIAL_FLUIDMATRIX_TWOP_HEATPIPELAW_HH
// remove from here after release 3.3 /////////////
#include
"heatpipelawparams.hh"
#include
<dumux/common/spline.hh>
#include
<algorithm>
#include
<math.h>
#include
<assert.h>
namespace
Dumux
{
/*!
* \ingroup Fluidmatrixinteractions
* \brief Implementation of the capillary pressure <-> saturation
* relation for the heatpipe problem.
*
* This class bundles the "raw" curves as static members and doesn't concern itself
* converting absolute to effective saturations and vince versa.
*/
template
<
class
ScalarT
,
class
ParamsT
=
HeatPipeLawParams
<
ScalarT
>
>
class
[[
deprecated
(
"Use new material laws and FluidMatrix::HeatPipeLaw instead!"
)]]
HeatPipeLaw
{
public:
using
Params
=
ParamsT
;
using
Scalar
=
typename
Params
::
Scalar
;
/*!
* \brief The capillary pressure-saturation curve.
*
* \param params Array of parameters asd
* \param Sw Effective saturation of of the wetting phase \f$\mathrm{[\overline{S}_w]}\f$
*/
static
Scalar
pc
(
const
Params
&
params
,
Scalar
Sw
)
{
Scalar
Sn
=
1
-
Sw
;
Scalar
p0Gamma
=
params
.
p0
()
*
params
.
gamma
();
// regularization
if
(
Sn
>=
1.0
)
{
Scalar
y
=
p0Gamma
*
(
(
1.263
*
1.0
-
2.120
)
*
1.0
+
1.417
)
*
1.0
;
Scalar
m
=
p0Gamma
*
((
3
*
1.263
*
1.0
-
2
*
2.120
)
*
1.0
+
1.417
);
return
(
Sn
-
1
)
*
m
+
y
;
}
else
if
(
Sn
<=
0.0
)
{
Scalar
y
=
0.0
;
Scalar
m
=
p0Gamma
*
1.417
;
return
Sn
*
m
+
y
;
}
return
p0Gamma
*
((
1.263
*
Sn
-
2.120
)
*
Sn
+
1.417
)
*
Sn
;
}
/*!
* \brief The saturation-capillary pressure curve.
*
* \return The effective saturaion of the wetting phase \f$\mathrm{[\overline{S}_w]}\f$
* \param params Array of parameters
* \param pC Capillary pressure \f$\mathrm{[p_C]}\f$ in \f$\mathrm{[Pa]}\f$.
*/
static
Scalar
Sw
(
const
Params
&
params
,
Scalar
pC
)
{
DUNE_THROW
(
Dune
::
NotImplemented
,
"HeatPipeLaw::Sw"
);
}
/*!
* \brief Returns the partial derivative of the capillary
* pressure to the effective saturation.
* \param params Array of parameters
* \param Sw Effective saturation of of the wetting phase \f$\mathrm{[\overline{S}_w]}\f$
*/
static
Scalar
dpC_dSw
(
const
Params
&
params
,
Scalar
Sw
)
{
Scalar
Sn
=
1
-
Sw
;
Scalar
p0Gamma
=
params
.
p0
()
*
params
.
gamma
();
if
(
Sn
>
1.0
)
Sn
=
1.0
;
else
if
(
Sn
<=
0.0
)
{
Scalar
m
=
-
p0Gamma
*
1.417
;
return
m
;
}
Scalar
m
=
-
p0Gamma
*
((
3
*
1.263
*
Sn
-
2
*
2.120
)
*
Sn
+
1.417
);
return
m
;
}
/*!
* \brief Returns the partial derivative of the effective
* saturation to the capillary pressure.
* \param params Array of parameters
* \param pC Capillary pressure \f$\mathrm{[p_C]}\f$ in \f$\mathrm{[Pa]}\f$.
*/
static
Scalar
dSw_dpC
(
const
Params
&
params
,
Scalar
pC
)
{
DUNE_THROW
(
Dune
::
NotImplemented
,
"HeatPipeLaw::dSw_dpC"
);
}
/*!
* \brief The relative permeability for the wetting phase.
*
* \param params Array of parameters
* \param Sw The mobile saturation of the wetting phase.
*/
static
Scalar
krw
(
const
Params
&
params
,
Scalar
Sw
)
{
return
kr_
(
Sw
);
}
/*!
* \brief The relative permeability for the nonwetting phase.
*
* \param params Array of parameters
* \param Sw The mobile saturation of the wetting phase.
*/
static
Scalar
krn
(
const
Params
&
params
,
Scalar
Sw
)
{
Scalar
Sn
=
1
-
Sw
;
return
kr_
(
Sn
);
}
private:
static
Scalar
kr_
(
Scalar
S
)
{
const
Scalar
eps
=
0.95
;
if
(
S
>=
1
)
return
1
;
else
if
(
S
<=
0
)
return
0
;
else
if
(
S
>
eps
)
{
// regularize
using
Spline
=
Dumux
::
Spline
<
Scalar
>
;
Spline
sp
(
eps
,
1.0
,
// x1, x2
eps
*
eps
*
eps
,
1
,
// y1, y2
3
*
eps
*
eps
,
0
);
// m1, m2
return
sp
.
eval
(
S
);
}
return
S
*
S
*
S
;
}
};
}
// end namespace Dumux
// remove until here after release 3.3 /////////////
#include
<cmath>
#include
<algorithm>
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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