www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
NaClFluidProperties Class Reference

NaCl fluid properties as a function of pressure (Pa) and temperature (K). More...

#include <NaClFluidProperties.h>

Inheritance diagram for NaClFluidProperties:
[legend]

Public Member Functions

 NaClFluidProperties (const InputParameters &parameters)
 
virtual ~NaClFluidProperties ()
 
virtual std::string fluidName () const override
 Fluid name. More...
 
virtual Real molarMass () const override
 Molar mass. More...
 
virtual Real criticalPressure () const
 NaCl critical pressure From Anderko and Pitzer, Equation of state for pure sodium chloride, Fluid Phase Equil., 79 (1992) More...
 
virtual Real criticalTemperature () const
 NaCl critical temperature From Anderko and Pitzer, Equation of state for pure sodium chloride, Fluid Phase Equil., 79 (1992) More...
 
virtual Real criticalDensity () const
 NaCl critical density From Anderko and Pitzer, Equation of state for pure sodium chloride, Fluid Phase Equil., 79 (1992) More...
 
virtual Real rho (Real pressure, Real temperature) const override
 Density. More...
 
virtual void rho_dpT (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const override
 Density and its derivatives wrt pressure and temperature. More...
 
virtual Real e (Real pressure, Real temperature) const override
 Internal energy. More...
 
virtual void e_dpT (Real pressure, Real temperature, Real &e, Real &de_dp, Real &de_dT) const override
 Internal energy and its derivatives wrt pressure and temperature. More...
 
virtual void rho_e_dpT (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const override
 Density and internal energy and their derivatives wrt pressure and temperature. More...
 
virtual Real c (Real pressure, Real temperature) const override
 Speed of sound. More...
 
virtual Real cp (Real pressure, Real temperature) const override
 Isobaric specific heat capacity. More...
 
virtual Real cv (Real pressure, Real temperature) const override
 Isochoric specific heat. More...
 
virtual Real mu (Real pressure, Real temperature) const override
 
virtual void mu_dpT (Real pressure, Real temperature, Real &mu, Real &dmu_dp, Real &dmu_dT) const override
 
virtual Real mu_from_rho_T (Real density, Real temperature) const override
 
virtual void mu_drhoT_from_rho_T (Real density, Real temperature, Real ddensity_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const override
 Dynamic viscosity and its derivatives wrt density and temperature. More...
 
virtual Real k (Real pressure, Real temperature) const override
 Thermal conductivity. More...
 
virtual void k_dpT (Real pressure, Real temperature, Real &k, Real &dk_dp, Real &dk_dT) const override
 Thermal conductivity and its derivatives wrt pressure and temperature. More...
 
virtual Real k_from_rho_T (Real density, Real temperature) const override
 Thermal conductivity as a function of density and temperature. More...
 
virtual Real s (Real pressure, Real temperature) const override
 Specific entropy. More...
 
virtual Real h (Real pressure, Real temperature) const override
 Specific enthalpy. More...
 
virtual void h_dpT (Real pressure, Real temperature, Real &h, Real &dh_dp, Real &dh_dT) const override
 Enthalpy and its derivatives wrt pressure and temperature. More...
 
virtual Real beta (Real pressure, Real temperature) const override
 Thermal expansion coefficient. More...
 
virtual Real henryConstant (Real temperature) const override
 Henry's law constant for dissolution in water. More...
 
virtual void henryConstant_dT (Real temperature, Real &Kh, Real &dKh_dT) const override
 Henry's law constant for dissolution in water and derivative wrt temperature. More...
 
virtual Real gamma (Real pressure, Real temperature) const
 Adiabatic index - ratio of specific heats. More...
 
virtual void execute () final
 
virtual void initialize () final
 
virtual void finalize () final
 

Protected Member Functions

virtual Real henryConstantIAPWS (Real temperature, Real A, Real B, Real C) const
 IAPWS formulation of Henry's law constant for dissolution in water From Guidelines on the Henry's constant and vapour liquid distribution constant for gases in H20 and D20 at high temperatures, IAPWS (2004) More...
 
virtual void henryConstantIAPWS_dT (Real temperature, Real &Kh, Real &dKh_dT, Real A, Real B, Real C) const
 IAPWS formulation of Henry's law constant for dissolution in water and derivative wrt temperature. More...
 

Protected Attributes

const Real _Mnacl
 NaCl molar mass (kg/mol) More...
 
const Real _p_critical
 Critical pressure (Pa) More...
 
const Real _T_critical
 Critical temperature (K) More...
 
const Real _rho_critical
 Critical density (kg/m^3) More...
 
const Real _p_triple
 Triple point pressure (Pa) More...
 
const Real _T_triple
 Triple point temperature (K) More...
 
const Real _R
 Universal gas constant (J/mol/K) More...
 
const Real _T_c2k
 Conversion of temperature from Celcius to Kelvin. More...
 

Detailed Description

NaCl fluid properties as a function of pressure (Pa) and temperature (K).

Note: only solid state (halite) properties are currently implemented to use in brine formulation

Most properties from: Driesner, The system H2O-NaCl. Part II: Correlations for molar volume, enthalpy, and isobaric heat capacity from 0 to 1000 C, 1 to 500 bar, and 0 to 1 Xnacl, Geochimica et Cosmochimica Acta 71, 4902-4919 (2007)

Thermal conductivity from: Urqhart and Bauer, Experimental determination of single-crystal halite thermal conductivity, diffusivity and specific heat from -75 C to 300 C, Int. J. Rock Mech. and Mining Sci., 78 (2015) Note: The function given in this reference doesn't satisfactorily match their experimental data, so the data was refitted using a third order polynomial

Definition at line 35 of file NaClFluidProperties.h.

Constructor & Destructor Documentation

NaClFluidProperties::NaClFluidProperties ( const InputParameters &  parameters)

Definition at line 19 of file NaClFluidProperties.C.

20  : SinglePhaseFluidPropertiesPT(parameters),
21  _Mnacl(58.443e-3),
22  _p_critical(1.82e7),
23  _T_critical(3841.15),
24  _rho_critical(108.43),
25  _p_triple(50.0),
26  _T_triple(1073.85)
27 {
28 }
const Real _T_triple
Triple point temperature (K)
const Real _rho_critical
Critical density (kg/m^3)
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
const Real _p_triple
Triple point pressure (Pa)
const Real _T_critical
Critical temperature (K)
const Real _p_critical
Critical pressure (Pa)
SinglePhaseFluidPropertiesPT(const InputParameters &parameters)
const Real _Mnacl
NaCl molar mass (kg/mol)
NaClFluidProperties::~NaClFluidProperties ( )
virtual

Definition at line 30 of file NaClFluidProperties.C.

30 {}

Member Function Documentation

Real NaClFluidProperties::beta ( Real  pressure,
Real  temperature 
) const
overridevirtual

Thermal expansion coefficient.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
beta (1/K)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 258 of file NaClFluidProperties.C.

259 {
260  mooseError(name(), ": beta() is not implemented");
261 }
Real NaClFluidProperties::c ( Real  pressure,
Real  temperature 
) const
overridevirtual

Speed of sound.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
speed of sound (m/s)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 134 of file NaClFluidProperties.C.

135 {
136  mooseError(name(), ": c() is not implemented");
137 }
Real NaClFluidProperties::cp ( Real  pressure,
Real  temperature 
) const
overridevirtual

Isobaric specific heat capacity.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
cp (J/kg/K)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 140 of file NaClFluidProperties.C.

141 {
142  // Correlation needs pressure in bar
143  Real pbar = pressure * 10.0e-5;
144  // Correlation requires temperature in Celcius
145  Real Tc = temperature - _T_c2k;
146  // Triple point temperature of NaCl (in C)
147  Real Tt = _T_triple - _T_c2k;
148  // Coefficients used in the correlation
149  Real r3 = -1.7099e-3 - 3.82734e-6 * Tc - 8.65455e-9 * Tc * Tc;
150  Real r4 = 5.29063e-8 - 9.63084e-11 * Tc + 6.50745e-13 * Tc * Tc;
151 
152  // Halite isobaric heat capapcity
153  return 1148.81 + 0.551548 * (Tc - Tt) + 2.64309e-4 * (Tc - Tt) * (Tc - Tt) + r3 * pbar +
154  r4 * pbar * pbar;
155 }
const Real _T_triple
Triple point temperature (K)
const std::string temperature
Definition: NS.h:25
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
const Real _T_c2k
Conversion of temperature from Celcius to Kelvin.
const std::string pressure
Definition: NS.h:24
Real NaClFluidProperties::criticalDensity ( ) const
virtual

NaCl critical density From Anderko and Pitzer, Equation of state for pure sodium chloride, Fluid Phase Equil., 79 (1992)

Returns
critical density (kg/m^3)

Definition at line 57 of file NaClFluidProperties.C.

58 {
59  return _rho_critical;
60 }
const Real _rho_critical
Critical density (kg/m^3)
Real NaClFluidProperties::criticalPressure ( ) const
virtual

NaCl critical pressure From Anderko and Pitzer, Equation of state for pure sodium chloride, Fluid Phase Equil., 79 (1992)

Returns
critical pressure (Pa)

Definition at line 45 of file NaClFluidProperties.C.

46 {
47  return _p_critical;
48 }
const Real _p_critical
Critical pressure (Pa)
Real NaClFluidProperties::criticalTemperature ( ) const
virtual

NaCl critical temperature From Anderko and Pitzer, Equation of state for pure sodium chloride, Fluid Phase Equil., 79 (1992)

Returns
critical temperature (K)

Definition at line 51 of file NaClFluidProperties.C.

52 {
53  return _T_critical;
54 }
const Real _T_critical
Critical temperature (K)
Real NaClFluidProperties::cv ( Real  pressure,
Real  temperature 
) const
overridevirtual

Isochoric specific heat.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
cv (J/kg/K)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 158 of file NaClFluidProperties.C.

159 {
160  return e(pressure, temperature) / temperature;
161 }
const std::string temperature
Definition: NS.h:25
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
const std::string pressure
Definition: NS.h:24
Real NaClFluidProperties::e ( Real  pressure,
Real  temperature 
) const
overridevirtual

Internal energy.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
internal energy (J/kg)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 101 of file NaClFluidProperties.C.

Referenced by cp(), cv(), h(), and h_dpT().

102 {
104 }
const std::string temperature
Definition: NS.h:25
virtual Real rho(Real pressure, Real temperature) const override
Density.
virtual Real h(Real pressure, Real temperature) const override
Specific enthalpy.
const std::string pressure
Definition: NS.h:24
void NaClFluidProperties::e_dpT ( Real  pressure,
Real  temperature,
Real &  e,
Real &  de_dp,
Real &  de_dT 
) const
overridevirtual

Internal energy and its derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]einternal energy (J/kg)
[out]de_dpderivative of internal energy wrt pressure
[out]de_dTderivative of internal energy wrt temperature

Implements SinglePhaseFluidPropertiesPT.

Definition at line 107 of file NaClFluidProperties.C.

Referenced by rho_e_dpT().

109 {
110  Real h, dh_dp, dh_dT;
111  h_dpT(pressure, temperature, h, dh_dp, dh_dT);
112  Real rho, drho_dp, drho_dT;
113  rho_dpT(pressure, temperature, rho, drho_dp, drho_dT);
114 
115  e = h - pressure / rho;
116  de_dp = dh_dp + pressure * drho_dp / rho / rho - 1.0 / rho;
117  de_dT = dh_dT + pressure * drho_dT / rho / rho;
118 }
virtual void rho_dpT(Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const override
Density and its derivatives wrt pressure and temperature.
const std::string temperature
Definition: NS.h:25
virtual Real rho(Real pressure, Real temperature) const override
Density.
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
virtual Real h(Real pressure, Real temperature) const override
Specific enthalpy.
virtual void h_dpT(Real pressure, Real temperature, Real &h, Real &dh_dp, Real &dh_dT) const override
Enthalpy and its derivatives wrt pressure and temperature.
const std::string pressure
Definition: NS.h:24
virtual void FluidProperties::execute ( )
inlinefinalvirtualinherited

Definition at line 25 of file FluidProperties.h.

25 {}
virtual void FluidProperties::finalize ( )
inlinefinalvirtualinherited

Definition at line 27 of file FluidProperties.h.

27 {}
std::string NaClFluidProperties::fluidName ( ) const
overridevirtual

Fluid name.

Returns
string representing fluid name

Implements SinglePhaseFluidPropertiesPT.

Definition at line 33 of file NaClFluidProperties.C.

34 {
35  return "nacl";
36 }
Real SinglePhaseFluidPropertiesPT::gamma ( Real  pressure,
Real  temperature 
) const
virtualinherited

Adiabatic index - ratio of specific heats.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
gamma (-)

Definition at line 27 of file SinglePhaseFluidPropertiesPT.C.

Referenced by MethaneFluidProperties::c().

28 {
30 }
virtual Real cp(Real pressure, Real temperature) const =0
Isobaric specific heat capacity.
const std::string temperature
Definition: NS.h:25
virtual Real cv(Real pressure, Real temperature) const =0
Isochoric specific heat.
const std::string pressure
Definition: NS.h:24
Real NaClFluidProperties::h ( Real  p,
Real  T 
) const
overridevirtual

Specific enthalpy.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
h (J/kg)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 221 of file NaClFluidProperties.C.

Referenced by e(), and e_dpT().

222 {
223  // Correlation needs pressure in bar
224  Real pbar = pressure * 1.0e-5;
225  // Correlation requires temperature in Celcius
226  Real Tc = temperature - _T_c2k;
227  // Triple point temperature of water (in C)
228  Real Tt = 273.16 - _T_c2k;
229  // Triple point presure of water (in bar)
230  Real pt = 611.657 * 1.0e-5;
231 
232  // Note: the enthalpy of halite is 0 at the triple point of water
233  return 8.7664e2 * (Tc - Tt) + 6.4139e-2 * (Tc * Tc - Tt * Tt) +
234  8.8101e-5 * (Tc * Tc * Tc - Tt * Tt * Tt) + 44.14 * (pbar - pt);
235 }
const std::string temperature
Definition: NS.h:25
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
const Real _T_c2k
Conversion of temperature from Celcius to Kelvin.
const std::string pressure
Definition: NS.h:24
void NaClFluidProperties::h_dpT ( Real  pressure,
Real  temperature,
Real &  h,
Real &  dh_dp,
Real &  dh_dT 
) const
overridevirtual

Enthalpy and its derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]h(J/kg)
[out]dh_dpderivative of enthalpy wrt pressure
[out]dh_dTderivative of enthalpy wrt temperature

Implements SinglePhaseFluidPropertiesPT.

Definition at line 238 of file NaClFluidProperties.C.

Referenced by e_dpT().

240 {
241  // Correlation needs pressure in bar
242  Real pbar = pressure * 1.0e-5;
243  // Correlation requires temperature in Celcius
244  Real Tc = temperature - _T_c2k;
245  // Triple point temperature of water (in C)
246  Real Tt = 273.16 - _T_c2k;
247  // Triple point presure of water (in bar)
248  Real pt = 611.657 * 1.0e-5;
249 
250  // Note: the enthalpy of halite is 0 at the triple point of water
251  h = 8.7664e2 * (Tc - Tt) + 6.4139e-2 * (Tc * Tc - Tt * Tt) +
252  8.8101e-5 * (Tc * Tc * Tc - Tt * Tt * Tt) + 44.14 * (pbar - pt);
253 
254  dh_dp = 44.14 * 1.0e-5;
255  dh_dT = 8.7664e2 + 2.0 * 6.4139e-2 * Tc + 3.0 * 8.8101e-5 * Tc * Tc;
256 }
const std::string temperature
Definition: NS.h:25
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
const Real _T_c2k
Conversion of temperature from Celcius to Kelvin.
virtual Real h(Real pressure, Real temperature) const override
Specific enthalpy.
const std::string pressure
Definition: NS.h:24
Real NaClFluidProperties::henryConstant ( Real  temperature) const
overridevirtual

Henry's law constant for dissolution in water.

Parameters
temperaturefluid temperature (K)
Returns
Henry's constant

Implements SinglePhaseFluidPropertiesPT.

Definition at line 263 of file NaClFluidProperties.C.

264 {
265  mooseError(name(), ": henryConstant() is not defined");
266 }
void NaClFluidProperties::henryConstant_dT ( Real  temperature,
Real &  Kh,
Real &  dKh_dT 
) const
overridevirtual

Henry's law constant for dissolution in water and derivative wrt temperature.

Parameters
temperaturefluid temperature (K)
[out]KhHenry's constant
[out]dKh_dTderivative of Kh wrt temperature

Implements SinglePhaseFluidPropertiesPT.

Definition at line 269 of file NaClFluidProperties.C.

272 {
273  mooseError(name(), ": henryConstant_dT() is not defined");
274 }
Real SinglePhaseFluidPropertiesPT::henryConstantIAPWS ( Real  temperature,
Real  A,
Real  B,
Real  C 
) const
protectedvirtualinherited

IAPWS formulation of Henry's law constant for dissolution in water From Guidelines on the Henry's constant and vapour liquid distribution constant for gases in H20 and D20 at high temperatures, IAPWS (2004)

Definition at line 33 of file SinglePhaseFluidPropertiesPT.C.

Referenced by MethaneFluidProperties::henryConstant(), and CO2FluidProperties::henryConstant().

34 {
35  Real Tr = temperature / 647.096;
36  Real tau = 1.0 - Tr;
37 
38  Real lnkh = A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
39 
40  // The vapor pressure used in this formulation
41  std::vector<Real> a{-7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
42  std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
43  Real sum = 0.0;
44 
45  for (std::size_t i = 0; i < a.size(); ++i)
46  sum += a[i] * std::pow(tau, b[i]);
47 
48  return 22.064e6 * std::exp(sum / Tr) * std::exp(lnkh);
49 }
const std::string temperature
Definition: NS.h:25
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
void SinglePhaseFluidPropertiesPT::henryConstantIAPWS_dT ( Real  temperature,
Real &  Kh,
Real &  dKh_dT,
Real  A,
Real  B,
Real  C 
) const
protectedvirtualinherited

IAPWS formulation of Henry's law constant for dissolution in water and derivative wrt temperature.

Definition at line 52 of file SinglePhaseFluidPropertiesPT.C.

Referenced by MethaneFluidProperties::henryConstant_dT(), and CO2FluidProperties::henryConstant_dT().

54 {
55  Real pc = 22.064e6;
56  Real Tc = 647.096;
57 
58  Real Tr = temperature / Tc;
59  Real tau = 1.0 - Tr;
60 
61  Real lnkh = A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
62  Real dlnkh_dT =
63  (-A / Tr / Tr - B * std::pow(tau, 0.355) / Tr / Tr - 0.355 * B * std::pow(tau, -0.645) / Tr -
64  0.41 * C * std::pow(Tr, -1.41) * std::exp(tau) - C * std::pow(Tr, -0.41) * std::exp(tau)) /
65  Tc;
66 
67  // The vapor pressure used in this formulation
68  std::vector<Real> a{-7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
69  std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
70  Real sum = 0.0;
71  Real dsum = 0.0;
72 
73  for (std::size_t i = 0; i < a.size(); ++i)
74  {
75  sum += a[i] * std::pow(tau, b[i]);
76  dsum += a[i] * b[i] * std::pow(tau, b[i] - 1.0);
77  }
78 
79  Real p = pc * std::exp(sum / Tr);
80  Real dp_dT = -p / Tc / Tr * (sum / Tr + dsum);
81 
82  // Henry's constant and its derivative wrt temperature
83  Kh = p * std::exp(lnkh);
84  dKh_dT = (p * dlnkh_dT + dp_dT) * std::exp(lnkh);
85 }
const std::string temperature
Definition: NS.h:25
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
virtual void FluidProperties::initialize ( )
inlinefinalvirtualinherited

Definition at line 26 of file FluidProperties.h.

26 {}
Real NaClFluidProperties::k ( Real  pressure,
Real  temperature 
) const
overridevirtual

Thermal conductivity.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
thermal conductivity (W/m/K)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 194 of file NaClFluidProperties.C.

195 {
196  mooseError(name(), ": k() is not implemented");
197 }
void NaClFluidProperties::k_dpT ( Real  pressure,
Real  temperature,
Real &  k,
Real &  dk_dp,
Real &  dk_dT 
) const
overridevirtual

Thermal conductivity and its derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]thermalconductivity (W/m/K)
[out]derivativeof thermal conductivity wrt pressure
[out]derivativeof thermal conductivity wrt temperature

Implements SinglePhaseFluidPropertiesPT.

Definition at line 200 of file NaClFluidProperties.C.

202 {
203  mooseError(name(), ": k_dpT() is not implemented");
204 }
Real NaClFluidProperties::k_from_rho_T ( Real  density,
Real  temperature 
) const
overridevirtual

Thermal conductivity as a function of density and temperature.

Parameters
densityfluid density (kg/m^3)
temperaturefluid temperature (K)
Returns
thermal conductivity (W/m/K)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 207 of file NaClFluidProperties.C.

208 {
209  // Correlation requires temperature in Celcius
210  Real Tc = temperature - _T_c2k;
211 
212  return 6.82793 - 3.16584e-2 * Tc + 1.03451e-4 * Tc * Tc - 1.48207e-7 * Tc * Tc * Tc;
213 }
const std::string temperature
Definition: NS.h:25
const Real _T_c2k
Conversion of temperature from Celcius to Kelvin.
Real NaClFluidProperties::molarMass ( ) const
overridevirtual

Molar mass.

Returns
molar mass (kg/mol)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 39 of file NaClFluidProperties.C.

40 {
41  return _Mnacl;
42 }
const Real _Mnacl
NaCl molar mass (kg/mol)
Real NaClFluidProperties::mu ( Real  pressure,
Real  temperature 
) const
overridevirtual

Implements SinglePhaseFluidPropertiesPT.

Definition at line 163 of file NaClFluidProperties.C.

164 {
165  mooseError(name(), ": mu() is not implemented.");
166 }
void NaClFluidProperties::mu_dpT ( Real  pressure,
Real  temperature,
Real &  mu,
Real &  dmu_dp,
Real &  dmu_dT 
) const
overridevirtual

Implements SinglePhaseFluidPropertiesPT.

Definition at line 169 of file NaClFluidProperties.C.

174 {
175  mooseError(name(), ": mu_dpT() is not implemented.");
176 }
void NaClFluidProperties::mu_drhoT_from_rho_T ( Real  density,
Real  temperature,
Real  ddensity_dT,
Real &  mu,
Real &  dmu_drho,
Real &  dmu_dT 
) const
overridevirtual

Dynamic viscosity and its derivatives wrt density and temperature.

Parameters
densityfluid density (kg/m^3)
temperaturefluid temperature (K)
ddensity_dTderivative of density wrt temperature
[out]muviscosity (Pa.s)
[out]dmu_drhoderivative of viscosity wrt density
[out]dmu_dTderivative of viscosity wrt temperature

Implements SinglePhaseFluidPropertiesPT.

Definition at line 184 of file NaClFluidProperties.C.

190 {
191  mooseError(name(), ": mu_drhoT() is not implemented");
192 }
Real NaClFluidProperties::mu_from_rho_T ( Real  density,
Real  temperature 
) const
overridevirtual

Implements SinglePhaseFluidPropertiesPT.

Definition at line 178 of file NaClFluidProperties.C.

179 {
180  mooseError(name(), ": mu is not implemented");
181 }
Real NaClFluidProperties::rho ( Real  pressure,
Real  temperature 
) const
overridevirtual

Density.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
density (kg/m^3)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 63 of file NaClFluidProperties.C.

Referenced by e(), e_dpT(), and rho_dpT().

64 {
65  // Correlation needs pressure in bar
66  Real pbar = pressure * 1.0e-5;
67  // Correlation requires temperature in Celcius
68  Real Tc = temperature - _T_c2k;
69 
70  // Halite density at 0 Pa
71  Real density_P0 = 2.17043e3 - 2.4599e-1 * Tc - 9.5797e-5 * Tc * Tc;
72 
73  // Halite density as a function of pressure
74  Real l = 5.727e-3 + 2.715e-3 * std::exp(Tc / 733.4);
75 
76  return density_P0 + l * pbar;
77 }
const std::string temperature
Definition: NS.h:25
const Real _T_c2k
Conversion of temperature from Celcius to Kelvin.
const std::string pressure
Definition: NS.h:24
void NaClFluidProperties::rho_dpT ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT 
) const
overridevirtual

Density and its derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]rhodensity (kg/m^3)
[out]drho_dpderivative of density wrt pressure
[out]drho_dTderivative of density wrt temperature

Implements SinglePhaseFluidPropertiesPT.

Definition at line 80 of file NaClFluidProperties.C.

Referenced by e_dpT(), and rho_e_dpT().

82 {
83  rho = this->rho(pressure, temperature);
84 
85  // Correlation needs pressure in bar
86  Real pbar = pressure * 1.0e-5;
87  // Correlation requires temperature in Celcius
88  Real Tc = temperature - _T_c2k;
89 
90  // Halite density at 0 Pa
91  Real ddensity_P0_dT = -2.4599e-1 - 1.91594e-4 * Tc;
92 
93  Real l = 5.727e-3 + 2.715e-3 * std::exp(Tc / 733.4);
94  Real dl_dT = 2.715e-3 * std::exp(Tc / 733.4) / 733.4;
95 
96  drho_dp = l * 1.0e-5;
97  drho_dT = ddensity_P0_dT + dl_dT * pbar;
98 }
const std::string temperature
Definition: NS.h:25
virtual Real rho(Real pressure, Real temperature) const override
Density.
const Real _T_c2k
Conversion of temperature from Celcius to Kelvin.
const std::string pressure
Definition: NS.h:24
void NaClFluidProperties::rho_e_dpT ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT,
Real &  e,
Real &  de_dp,
Real &  de_dT 
) const
overridevirtual

Density and internal energy and their derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]rhodensity (kg/m^3)
[out]drho_dpderivative of density wrt pressure
[out]drho_dTderivative of density wrt temperature
[out]einternal energy (J/kg)
[out]de_dpderivative of internal energy wrt pressure
[out]de_dTderivative of internal energy wrt temperature

Implements SinglePhaseFluidPropertiesPT.

Definition at line 121 of file NaClFluidProperties.C.

129 {
130  rho_dpT(pressure, temperature, rho, drho_dp, drho_dT);
131  e_dpT(pressure, temperature, e, de_dp, de_dT);
132 }
virtual void rho_dpT(Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const override
Density and its derivatives wrt pressure and temperature.
const std::string temperature
Definition: NS.h:25
virtual Real rho(Real pressure, Real temperature) const override
Density.
virtual void e_dpT(Real pressure, Real temperature, Real &e, Real &de_dp, Real &de_dT) const override
Internal energy and its derivatives wrt pressure and temperature.
virtual Real e(Real pressure, Real temperature) const override
Internal energy.
const std::string pressure
Definition: NS.h:24
Real NaClFluidProperties::s ( Real  pressure,
Real  temperature 
) const
overridevirtual

Specific entropy.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
s (J/kg/K)

Implements SinglePhaseFluidPropertiesPT.

Definition at line 215 of file NaClFluidProperties.C.

216 {
217  mooseError(name(), ": s() is not implemented");
218 }

Member Data Documentation

const Real NaClFluidProperties::_Mnacl
protected

NaCl molar mass (kg/mol)

Definition at line 130 of file NaClFluidProperties.h.

Referenced by molarMass().

const Real NaClFluidProperties::_p_critical
protected

Critical pressure (Pa)

Definition at line 132 of file NaClFluidProperties.h.

Referenced by criticalPressure().

const Real NaClFluidProperties::_p_triple
protected

Triple point pressure (Pa)

Definition at line 138 of file NaClFluidProperties.h.

const Real SinglePhaseFluidPropertiesPT::_R
protectedinherited
const Real NaClFluidProperties::_rho_critical
protected

Critical density (kg/m^3)

Definition at line 136 of file NaClFluidProperties.h.

Referenced by criticalDensity().

const Real SinglePhaseFluidPropertiesPT::_T_c2k
protectedinherited

Conversion of temperature from Celcius to Kelvin.

Definition at line 264 of file SinglePhaseFluidPropertiesPT.h.

Referenced by cp(), h(), h_dpT(), k_from_rho_T(), CO2FluidProperties::partialDensity(), rho(), and rho_dpT().

const Real NaClFluidProperties::_T_critical
protected

Critical temperature (K)

Definition at line 134 of file NaClFluidProperties.h.

Referenced by criticalTemperature().

const Real NaClFluidProperties::_T_triple
protected

Triple point temperature (K)

Definition at line 140 of file NaClFluidProperties.h.

Referenced by cp().


The documentation for this class was generated from the following files: