diff --git a/dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh b/dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh index 4308755f85baa5a611db0faeacf73d067598c97c..cb27f4ae5b7a5445779a57ff8bd482eb43445332 100644 --- a/dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh +++ b/dumux/material/fluidmatrixinteractions/2p/heatpipelaw.hh @@ -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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, 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 ¶ms, 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>