Commit 1a623a8a authored by Thomas Fetzer's avatar Thomas Fetzer
Browse files

[material] reduced excessive line lengths, like proposed in #FS213, target line

length = 150, thanks to kristopherg

reviewed by fetzer


git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@12429 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent 246f4ff0
......@@ -124,7 +124,8 @@ public:
{ DUNE_THROW(Dune::NotImplemented, "Component::vaporPressure()"); }
/*!
* \brief The density in \f$\mathrm{[kg/m^3]}\f$ of the component at a given pressure in \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
* \brief The density in \f$\mathrm{[kg/m^3]}\f$ of the component at a given pressure in
* \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
*
* \param temperature temperature of component in \f$\mathrm{[K]}\f$
* \param pressure pressure of component in \f$\mathrm{[Pa]}\f$
......@@ -133,7 +134,8 @@ public:
{ DUNE_THROW(Dune::NotImplemented, "Component::density()"); }
/*!
* \brief The density \f$\mathrm{[kg/m^3]}\f$ of the liquid component at a given pressure in \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
* \brief The density \f$\mathrm{[kg/m^3]}\f$ of the liquid component at a given pressure in
* \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
*
* \param temperature temperature of component in \f$\mathrm{[K]}\f$
* \param pressure pressure of component in \f$\mathrm{[Pa]}\f$
......@@ -178,8 +180,8 @@ public:
{ DUNE_THROW(Dune::NotImplemented, "Component::liquidInternalEnergy()"); }
/*!
* \brief The dynamic viscosity \f$\mathrm{[Pa*s]}\f$ of the pure component at a given pressure in \f$\mathrm{[Pa]}\f$ and
* temperature in \f$\mathrm{[K]}\f$.
* \brief The dynamic viscosity \f$\mathrm{[Pa*s]}\f$ of the pure component at a given pressure in
* \f$\mathrm{[Pa]}\f$ and temperature in \f$\mathrm{[K]}\f$.
*
* \param temperature temperature of component in \f$\mathrm{[K]}\f$
* \param pressure pressure of component in \f$\mathrm{[Pa]}\f$
......
......@@ -818,8 +818,8 @@ public:
or (pressure <= 200e6 and ((398.15<temperature) and (temperature<=523.15)) )
or (pressure <= 150e6 and ((523.15<temperature) and (temperature<=673.15)) )
or (pressure <= 100e6 and ((673.15<temperature) and (temperature<=1073.15)) ) ) ){
DUNE_THROW(NumericalProblem,
"Evaluating the IAPWS fit function for thermal conductivity outside range of applicability: p= " << pressure << "T= " << temperature);
DUNE_THROW(NumericalProblem, "Evaluating the IAPWS fit function for thermal conductivity outside range of applicability: p= "
<< pressure << "T= " << temperature);
}
Scalar rho = liquidDensity(temperature, pressure);
......@@ -847,8 +847,8 @@ public:
or (pressure <= 200e6 and ((398.15<temperature) and (temperature<=523.15)) )
or (pressure <= 150e6 and ((523.15<temperature) and (temperature<=673.15)) )
or (pressure <= 100e6 and ((673.15<temperature) and (temperature<=1073.15)) ) ) ){
DUNE_THROW(NumericalProblem,
"Evaluating the IAPWS fit function for thermal conductivity outside range of applicability: p= " << pressure << " T= " << temperature);
DUNE_THROW(NumericalProblem, "Evaluating the IAPWS fit function for thermal conductivity outside range of applicability: p= "
<< pressure << " T= " << temperature);
}
Scalar rho = gasDensity(temperature, pressure);
......
......@@ -133,10 +133,12 @@ public:
// I.e. choosing T=273.15K as reference point for liquid enthalpy.
const Scalar sqrt1over3 = std::sqrt(1./3.);
const Scalar TEval1 = 0.5*(temperature-273.15)* sqrt1over3 + 0.5*(273.15+temperature) ; // evaluation points according to Gauss-Legendre integration
const Scalar TEval2 = 0.5*(temperature-273.15)* (-1)* sqrt1over3 + 0.5*(273.15+temperature) ; // evaluation points according to Gauss-Legendre integration
// evaluation points according to Gauss-Legendre integration
const Scalar TEval1 = 0.5*(temperature-273.15)* sqrt1over3 + 0.5*(273.15+temperature);
// evaluation points according to Gauss-Legendre integration
const Scalar TEval2 = 0.5*(temperature-273.15)* (-1)* sqrt1over3 + 0.5*(273.15+temperature);
const Scalar h_n = 0.5 * (temperature-273.15) * ( liquidHeatCapacity(TEval1, pressure) + liquidHeatCapacity(TEval2, pressure) ) ;
const Scalar h_n = 0.5 * (temperature-273.15) * ( liquidHeatCapacity(TEval1, pressure) + liquidHeatCapacity(TEval2, pressure) );
return h_n;
}
......@@ -150,7 +152,7 @@ public:
* \param pressure pressure of component in \f$\mathrm{[Pa]}\f$
*/
static Scalar heatVap(Scalar temperature,
const Scalar pressure)
const Scalar pressure)
{
temperature = std::min(temperature, criticalTemperature()); // regularization
temperature = std::max(temperature, 0.0); // regularization
......@@ -160,11 +162,10 @@ public:
constexpr Scalar p_crit = criticalPressure();
// Chen method, eq. 7-11.4 (at boiling)
const Scalar DH_v_boil = Consts::R * T_crit * Tr1
* (3.978 * Tr1 - 3.958 + 1.555*std::log(p_crit * 1e-5 /*Pa->bar*/ ) )
/ (1.07 - Tr1); /* [J/mol] */
const Scalar DH_v_boil = Consts::R * T_crit * Tr1 * (3.978 * Tr1 - 3.958 + 1.555*std::log(p_crit * 1e-5 /*Pa->bar*/ ) )
/ (1.07 - Tr1); /* [J/mol] */
/* Variation with temp according to Watson relation eq 7-12.1*/
/* Variation with temp according to Watson relation eq 7-12.1*/
const Scalar Tr2 = temperature/criticalTemperature();
const Scalar n = 0.375;
const Scalar DH_vap = DH_v_boil * std::pow(((1.0 - Tr2)/(1.0 - Tr1)), n);
......@@ -176,8 +177,8 @@ public:
/*!
* \brief Specific enthalpy of mesitylene vapor \f$\mathrm{[J/kg]}\f$.
*
* This relation is true on the vapor pressure curve, i.e. as long
* as there is a liquid phase present.
* This relation is true on the vapor pressure curve, i.e. as long
* as there is a liquid phase present.
*
* \param temperature temperature of component in \f$\mathrm{[K]}\f$
* \param pressure pressure of component in \f$\mathrm{[Pa]}\f$
......
......@@ -175,10 +175,12 @@ public:
// I.e. choosing T=273.15K as reference point for liquid enthalpy.
const Scalar sqrt1over3 = std::sqrt(1./3.);
const Scalar TEval1 = 0.5*(temperature-273.15)* sqrt1over3 + 0.5*(273.15+temperature) ; // evaluation points according to Gauss-Legendre integration
const Scalar TEval2 = 0.5*(temperature-273.15)* (-1)* sqrt1over3 + 0.5*(273.15+temperature) ; // evaluation points according to Gauss-Legendre integration
// evaluation points according to Gauss-Legendre integration
const Scalar TEval1 = 0.5*(temperature-273.15)* sqrt1over3 + 0.5*(273.15+temperature);
// evaluation points according to Gauss-Legendre integration
const Scalar TEval2 = 0.5*(temperature-273.15)* (-1)* sqrt1over3 + 0.5*(273.15+temperature);
const Scalar h_n = 0.5 * (temperature-273.15) * ( liquidHeatCapacity(TEval1, pressure) + liquidHeatCapacity(TEval2, pressure) ) ;
const Scalar h_n = 0.5 * (temperature-273.15) * ( liquidHeatCapacity(TEval1, pressure) + liquidHeatCapacity(TEval2, pressure) );
return h_n;
}
......@@ -192,7 +194,7 @@ public:
* \param pressure pressure of component in \f$\mathrm{[Pa]}\f$
*/
static Scalar heatVap(Scalar temperature,
const Scalar pressure)
const Scalar pressure)
{
temperature = std::min(temperature, criticalTemperature()); // regularization
temperature = std::max(temperature, 0.0); // regularization
......@@ -202,11 +204,11 @@ public:
constexpr Scalar p_crit = criticalPressure();
// Chen method, eq. 7-11.4 (at boiling)
const Scalar DH_v_boil = Consts::R * T_crit * Tr1
* (3.978 * Tr1 - 3.958 + 1.555*std::log(p_crit * 1e-5 /*Pa->bar*/ ) )
/ (1.07 - Tr1); /* [J/mol] */
const Scalar DH_v_boil = Consts::R * T_crit * Tr1
* (3.978 * Tr1 - 3.958 + 1.555*std::log(p_crit * 1e-5 /*Pa->bar*/ ) )
/ (1.07 - Tr1); /* [J/mol] */
/* Variation with temp according to Watson relation eq 7-12.1*/
/* Variation with temp according to Watson relation eq 7-12.1*/
const Scalar Tr2 = temperature/criticalTemperature();
const Scalar n = 0.375;
const Scalar DH_vap = DH_v_boil * std::pow(((1.0 - Tr2)/(1.0 - Tr1)), n);
......@@ -217,8 +219,8 @@ public:
/*!
* \brief Specific enthalpy of xylene vapor \f$\mathrm{[J/kg]}\f$.
*
* This relation is true on the vapor pressure curve, i.e. as long
* as there is a liquid phase present.
* This relation is true on the vapor pressure curve, i.e. as long
* as there is a liquid phase present.
*
* \param temperature temperature of component in \f$\mathrm{[K]}\f$
* \param pressure pressure of component in \f$\mathrm{[Pa]}\f$
......
......@@ -189,7 +189,8 @@ public:
* \param presentPhaseIdx Subdomain Index = Indication which phase is present
* \param temperature Temperature \f$\mathrm{[K]}\f$
*/
static void concentrationFlash1p2c(FluidState1p2c& fluidState, const Scalar& Z1,const Dune::FieldVector<Scalar, numPhases> phasePressure,const int presentPhaseIdx, const Scalar& temperature)
static void concentrationFlash1p2c(FluidState1p2c& fluidState, const Scalar& Z1,const Dune::FieldVector<Scalar,numPhases>
phasePressure,const int presentPhaseIdx, const Scalar& temperature)
{
// set the temperature, pressure
fluidState.setTemperature(temperature);
......
......@@ -63,8 +63,8 @@ public:
*
* \param swe Effective saturation of the wetting phase \f$\overline{S}_w\f$
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Capillary pressure calculated by Brooks & Corey constitutive relation.
*/
static Scalar pc(const Params &params, Scalar swe)
......@@ -143,8 +143,8 @@ public:
*
* \param swe The mobile saturation of the wetting phase.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Relative permeability of the wetting phase calculated as implied by Brooks & Corey.
*/
static Scalar krw(const Params &params, Scalar swe)
......@@ -161,9 +161,10 @@ public:
*
* \param swe The mobile saturation of the wetting phase.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* \return Derivative of the relative permeability of the wetting phase w.r.t. effective wetting phase saturation calculated as implied by Brooks & Corey.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Derivative of the relative permeability of the wetting phase w.r.t. effective wetting phase
* saturation calculated as implied by Brooks & Corey.
*/
static Scalar dkrw_dsw(const Params &params, Scalar swe)
{
......@@ -200,9 +201,10 @@ public:
*
* \param swe The mobile saturation of the wetting phase.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* \return Derivative of the relative permeability of the non-wetting phase w.r.t. effective wetting phase saturation calculated as implied by Brooks & Corey.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Derivative of the relative permeability of the non-wetting phase w.r.t. effective wetting phase
* saturation calculated as implied by Brooks & Corey.
*/
static Scalar dkrn_dsw(const Params &params, Scalar swe)
{
......
......@@ -73,9 +73,10 @@ public:
* \param sw Absolute saturation of the wetting phase \f$\overline{S}_w\f$. It is converted to effective saturation
* and then handed over to the material law actually used for calculation.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* \return Capillary pressure calculated by specific constitutive relation (EffLaw e.g. Brooks & Corey, van Genuchten, linear...)
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Capillary pressure calculated by specific constitutive relation
* (EffLaw e.g. Brooks & Corey, van Genuchten, linear...)
*
*/
static Scalar pc(const Params &params, Scalar sw)
......@@ -88,9 +89,10 @@ public:
*
* \param pc Capillary pressure \f$p_C\f$:
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
*\return Absolute wetting phase saturation calculated as inverse of (EffLaw e.g. Brooks & Corey, van Genuchten, linear...) constitutive relation.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
*\return Absolute wetting phase saturation calculated as inverse of
* (EffLaw e.g. Brooks & Corey, van Genuchten, linear...) constitutive relation.
*
* \return The absolute saturation of the wetting phase \f$S_w\f$
*/
......@@ -110,9 +112,10 @@ public:
\f]
* \param sw Absolute saturation of the wetting phase \f$\overline{S}_w\f$.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* \return Partial derivative of \f$p_c\f$ w.r.t. effective saturation according to EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Partial derivative of \f$p_c\f$ w.r.t. effective saturation according to
EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
*/
static Scalar dpc_dsw(const Params &params, Scalar sw)
{
......@@ -132,9 +135,10 @@ public:
*
* \param pc Capillary pressure \f$p_C\f$:
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* \return Partial derivative of effective saturation w.r.t. \f$p_c\f$ according to EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Partial derivative of effective saturation w.r.t. \f$p_c\f$ according to
EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
*/
static Scalar dsw_dpc(const Params &params, Scalar pc)
{
......@@ -147,9 +151,10 @@ public:
* \param sw Absolute saturation of the wetting phase \f$\overline{S}_w\f$. It is converted to effective saturation
* and then handed over to the material law actually used for calculation.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* \return Relative permeability of the wetting phase calculated as implied by EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Relative permeability of the wetting phase calculated as implied by
* EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
*
*/
static Scalar krw(const Params &params, Scalar sw)
......@@ -163,9 +168,10 @@ public:
* \param sw Absolute saturation of the wetting phase \f${S}_w\f$. It is converted to effective saturation
* and then handed over to the material law actually used for calculation.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* \return Relative permeability of the non-wetting phase calculated as implied by EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Relative permeability of the non-wetting phase calculated as implied by
* EffLaw e.g. Brooks & Corey, van Genuchten, linear... .
*/
static Scalar krn(const Params &params, Scalar sw)
{
......@@ -177,8 +183,8 @@ public:
*
* \param sw Absolute saturation of the wetting phase \f${S}_w\f$.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Effective saturation of the wetting phase.
*/
static Scalar swToSwe(const Params &params, Scalar sw)
......@@ -191,8 +197,8 @@ public:
*
* \param sn Absolute saturation of the non-wetting phase \f${S}_n\f$.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Effective saturation of the non-wetting phase.
*/
static Scalar snToSne(const Params &params, Scalar sn)
......@@ -206,8 +212,8 @@ public:
*
* \param swe Effective saturation of the non-wetting phase \f$\overline{S}_n\f$.
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Absolute saturation of the non-wetting phase.
*/
static Scalar sweToSw_(const Params &params, Scalar swe)
......@@ -219,8 +225,8 @@ public:
* \brief Derivative of the effective saturation w.r.t. the absolute saturation.
*
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Derivative of the effective saturation w.r.t. the absolute saturation.
*/
static Scalar dswe_dsw_(const Params &params)
......@@ -230,8 +236,8 @@ public:
* \brief Derivative of the absolute saturation w.r.t. the effective saturation.
*
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
* \return Derivative of the absolute saturation w.r.t. the effective saturation.
*/
static Scalar dsw_dswe_(const Params &params)
......
......@@ -74,7 +74,8 @@ public:
*
* regularized part:
* - low saturation: extend the \f$p_c(S_w)\f$ curve with the slope at the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line (yes, there is a kink :-( ).
*
* For the non-regularized part:
*
......@@ -111,7 +112,8 @@ public:
*
* regularized part:
* - low saturation: extend the \f$p_c(S_w)\f$ curve with the slope at the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line (yes, there is a kink :-( ).
*
* The according quantities are obtained by exploiting theorem of intersecting lines.
*
......@@ -156,7 +158,8 @@ public:
*
* regularized part:
* - low saturation: use the slope of the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line and use that slope (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line and use that slope (yes, there is a kink :-( ).
*
* For the non-regularized part:
*
......@@ -188,7 +191,8 @@ public:
*
* regularized part:
* - low saturation: use the slope of the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line and use that slope (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line and use that slope (yes, there is a kink :-( ).
*
* For the non-regularized part:
*
......
......@@ -83,7 +83,8 @@ public:
*
* regularized part:
* - low saturation: extend the \f$p_c(S_w)\f$ curve with the slope at the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line (yes, there is a kink :-( ).
*
* For not-regularized part:
*
......@@ -133,7 +134,8 @@ public:
*
* regularized part:
* - low saturation: extend the \f$p_c(S_w)\f$ curve with the slope at the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line (yes, there is a kink :-( ).
*
* The according quantities are obtained by exploiting theorem of intersecting lines.
*
......@@ -192,7 +194,8 @@ public:
*
* regularized part:
* - low saturation: use the slope of the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line and use that slope (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line and use that slope (yes, there is a kink :-( ).
*
* For not-regularized part:
*
......@@ -221,7 +224,8 @@ public:
*
* regularized part:
* - low saturation: use the slope of the regularization point (i.e. no kink).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$ by a straight line and use that slope (yes, there is a kink :-( ).
* - high saturation: connect the high regularization point with \f$ \overline S_w =1\f$
* by a straight line and use that slope (yes, there is a kink :-( ).
*
* For not-regularized part:
\copydetails VanGenuchten::dsw_dpc()
......@@ -331,8 +335,8 @@ private:
* saturations below the minimum saturation.
*
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
*/
static Scalar mLow_(const Params &params)
{
......@@ -346,8 +350,8 @@ private:
* saturations above the minimum saturation.
*
* \param params A container object that is populated with the appropriate coefficients for the respective law.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container
* is constructed accordingly. Afterwards the values are set there, too.
* Therefore, in the (problem specific) spatialParameters first, the material law is chosen,
* and then the params container is constructed accordingly. Afterwards the values are set there, too.
*/
static Scalar mHigh_(const Params &params)
{
......
......@@ -96,7 +96,8 @@ public:
/* value and derivative at regularization point */
if (se<=pcvgReg) seRegu = pcvgReg; else seRegu = 1-pcvgReg;
pc = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn())/params.vgAlpha();
pcPrime = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn()-1)*std::pow(seRegu,-1/vgm-1)*(-1/vgm)/params.vgAlpha()/(1-params.sgr()-params.swr())/params.vgn();
pcPrime = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn()-1)*std::pow(seRegu,-1/vgm-1)
*(-1/vgm)/params.vgAlpha()/(1-params.sgr()-params.swr())/params.vgn();
/* evaluate tangential */
r = (se-seRegu)*pcPrime+pc;
......@@ -140,7 +141,8 @@ public:
/* value and derivative at regularization point */
if (se<=pcvgReg) seRegu = pcvgReg; else seRegu = 1-pcvgReg;
pc = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn())/params.vgAlpha();
pcPrime = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn()-1)*std::pow(seRegu,-1/vgm-1)*(-1/vgm)/params.vgAlpha()/(1-params.snr()-params.swr())/params.vgn();
pcPrime = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn()-1)*std::pow(seRegu,-1/vgm-1)
*(-1/vgm)/params.vgAlpha()/(1-params.snr()-params.swr())/params.vgn();
/* evaluate tangential */
r = (se-seRegu)*pcPrime+pc;
......@@ -183,7 +185,8 @@ public:
/* value and derivative at regularization point */
if (se<=pcvgReg) seRegu = pcvgReg; else seRegu = 1-pcvgReg;
pc = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn())/params.vgAlpha();
pcPrime = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn()-1)*std::pow(seRegu,-1/vgm-1)*(-1/vgm)/params.vgAlpha()/(1-params.sgr()-params.swrx())/params.vgn();
pcPrime = std::pow(std::pow(seRegu,-1/vgm)-1,1/params.vgn()-1)*std::pow(seRegu,-1/vgm-1)
*(-1/vgm)/params.vgAlpha()/(1-params.sgr()-params.swrx())/params.vgn();
/* evaluate tangential */
r = (se-seRegu)*pcPrime+pc;
......
......@@ -44,7 +44,9 @@ public:
ParkerVanGen3PParams()
{betaGw_ = betaNw_ = betaGn_ = 1.;}
ParkerVanGen3PParams(Scalar vgAlpha, Scalar vgn, Scalar KdNAPL, Scalar rhoBulk, Dune::FieldVector<Scalar, 4> residualSaturation, Scalar betaNw = 1., Scalar betaGn = 1., Scalar betaGw = 1., bool regardSnr=false)
ParkerVanGen3PParams(Scalar vgAlpha, Scalar vgn, Scalar KdNAPL, Scalar rhoBulk,
Dune::FieldVector<Scalar, 4> residualSaturation, Scalar betaNw = 1.,
Scalar betaGn = 1., Scalar betaGw = 1., bool regardSnr=false)
{
setVgAlpha(vgAlpha);
setVgn(vgn);
......
......@@ -477,7 +477,8 @@ public:
fluidState.pressure(phaseIdx));
Scalar hgw = H2O::gasEnthalpy(fluidState.temperature(phaseIdx),
fluidState.pressure(phaseIdx));
Scalar hga = Air::gasEnthalpy(fluidState.temperature(phaseIdx), fluidState.pressure(phaseIdx)); // pressure is only a dummy here (not dependent on pressure, just temperature)
// pressure is only a dummy here (not dependent on pressure, just temperature)
Scalar hga = Air::gasEnthalpy(fluidState.temperature(phaseIdx), fluidState.pressure(phaseIdx));
Scalar result = 0;
result += hgw * fluidState.massFraction(gPhaseIdx, H2OIdx);
......
......@@ -476,7 +476,8 @@ public:
fluidState.pressure(phaseIdx));
Scalar hgw = H2O::gasEnthalpy(fluidState.temperature(phaseIdx),
fluidState.pressure(phaseIdx));
Scalar hga = Air::gasEnthalpy(fluidState.temperature(phaseIdx), fluidState.pressure(phaseIdx)); // pressure is only a dummy here (not dependent on pressure, just temperature)
// pressure is only a dummy here (not dependent on pressure, just temperature)
Scalar hga = Air::gasEnthalpy(fluidState.temperature(phaseIdx), fluidState.pressure(phaseIdx));
Scalar result = 0;
result += hgw * fluidState.massFraction(gPhaseIdx, H2OIdx);
......
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