https://mooseframework.inl.gov
Loading...
Searching...
No Matches
Functions
GeochemistryActivityCalculators Namespace Reference

Calculators to compute activity coefficients. More...

Functions

Real log10ActCoeffDHBdot (Real charge, Real ion_size, Real sqrt_ionic_strength, Real A, Real B, Real Bdot)
 log10(activity coefficient) according to the Debye-Huckel B-dot model
 
Real log10ActCoeffDHBdotNeutral (Real ionic_strength, Real a, Real b, Real c, Real d)
 log10(activity coefficient) for neutral species according to the Debye-Huckel B-dot model
 
Real lnActivityDHBdotWater (Real stoichiometric_ionic_strength, Real A, Real atilde, Real btilde, Real ctilde, Real dtilde)
 ln(activity of water) according to the Debye-Huckel B-dot model
 
Real log10ActCoeffDHBdotAlternative (Real ionic_strength, Real Bdot)
 log10(activity coefficient) alternative expression that is sometimes used in conjunction with the Debye-Huckel B-dot model
 
Real log10ActCoeffDavies (Real charge, Real sqrt_ionic_strength, Real A)
 log10(activity coefficient) according to the Davies model
 

Detailed Description

Calculators to compute activity coefficients.

Function Documentation

◆ lnActivityDHBdotWater()

Real GeochemistryActivityCalculators::lnActivityDHBdotWater ( Real  stoichiometric_ionic_strength,
Real  A,
Real  atilde,
Real  btilde,
Real  ctilde,
Real  dtilde 
)

ln(activity of water) according to the Debye-Huckel B-dot model

Definition at line 54 of file GeochemistryActivityCalculators.C.

56{
57 if (stoichiometric_ionic_strength <= 0.0)
58 return 0.0; // guard against unphysical inputs that might occur during a Newton process
59 const Real bhat = 1.0 + atilde * std::sqrt(stoichiometric_ionic_strength);
60 const Real inner = bhat - 2.0 * std::log(bhat) - 1.0 / bhat;
61 const Real outer = 1.0 -
62 A * GeochemistryConstants::LOGTEN / Utility::pow<3>(atilde) /
63 stoichiometric_ionic_strength * inner +
64 0.5 * btilde * stoichiometric_ionic_strength +
65 2.0 * ctilde * Utility::pow<2>(stoichiometric_ionic_strength) / 3.0 +
66 0.75 * dtilde * Utility::pow<3>(stoichiometric_ionic_strength);
67 return -2.0 * stoichiometric_ionic_strength * outer / GeochemistryConstants::MOLES_PER_KG_WATER;
68}

Referenced by TEST(), TEST(), and GeochemistryActivityCoefficientsDebyeHuckel::waterActivity().

◆ log10ActCoeffDavies()

Real GeochemistryActivityCalculators::log10ActCoeffDavies ( Real  charge,
Real  sqrt_ionic_strength,
Real  A 
)

log10(activity coefficient) according to the Davies model

Definition at line 44 of file GeochemistryActivityCalculators.C.

45{
46 if (sqrt_ionic_strength <= 0.0)
47 return 0.0; // guard against unphysical inputs that might occur during a Newton process
48 return -A * Utility::pow<2>(charge) *
49 (sqrt_ionic_strength / (1.0 + sqrt_ionic_strength) -
50 0.3 * Utility::pow<2>(sqrt_ionic_strength));
51}

Referenced by TEST().

◆ log10ActCoeffDHBdot()

Real GeochemistryActivityCalculators::log10ActCoeffDHBdot ( Real  charge,
Real  ion_size,
Real  sqrt_ionic_strength,
Real  A,
Real  B,
Real  Bdot 
)

log10(activity coefficient) according to the Debye-Huckel B-dot model

Definition at line 17 of file GeochemistryActivityCalculators.C.

18{
19 if (sqrt_ionic_strength <= 0.0)
20 return 0.0; // guard against unphysical inputs that might occur during a Newton process
21 return -A * Utility::pow<2>(charge) * sqrt_ionic_strength /
22 (1.0 + ion_size * B * sqrt_ionic_strength) +
23 Bdot * Utility::pow<2>(sqrt_ionic_strength);
24}

Referenced by GeochemistryActivityCoefficientsDebyeHuckel::buildActivityCoefficients(), TEST(), and TEST().

◆ log10ActCoeffDHBdotAlternative()

Real GeochemistryActivityCalculators::log10ActCoeffDHBdotAlternative ( Real  ionic_strength,
Real  Bdot 
)

log10(activity coefficient) alternative expression that is sometimes used in conjunction with the Debye-Huckel B-dot model

Definition at line 36 of file GeochemistryActivityCalculators.C.

37{
38 if (ionic_strength <= 0.0)
39 return 0.0; // guard against unphysical inputs that might occur during a Newton process
40 return Bdot * ionic_strength;
41}

Referenced by GeochemistryActivityCoefficientsDebyeHuckel::buildActivityCoefficients(), TEST(), and TEST().

◆ log10ActCoeffDHBdotNeutral()

Real GeochemistryActivityCalculators::log10ActCoeffDHBdotNeutral ( Real  ionic_strength,
Real  a,
Real  b,
Real  c,
Real  d 
)

log10(activity coefficient) for neutral species according to the Debye-Huckel B-dot model

Definition at line 27 of file GeochemistryActivityCalculators.C.

28{
29 if (ionic_strength <= 0.0)
30 return 0.0; // guard against unphysical inputs that might occur during a Newton process
31 return a * ionic_strength + b * Utility::pow<2>(ionic_strength) +
32 c * Utility::pow<3>(ionic_strength) + d * Utility::pow<4>(ionic_strength);
33}

Referenced by GeochemistryActivityCoefficientsDebyeHuckel::buildActivityCoefficients(), TEST(), and TEST().