diff --git a/PySDM/physics/constants_defaults.py b/PySDM/physics/constants_defaults.py index 505511572..c1f890074 100644 --- a/PySDM/physics/constants_defaults.py +++ b/PySDM/physics/constants_defaults.py @@ -6,7 +6,6 @@ """ import numpy as np -from chempy import Substance from scipy import constants as sci from .constants import ( # pylint: disable=unused-import @@ -29,13 +28,11 @@ ) from .trivia import Trivia -# https://physics.nist.gov/cgi-bin/Star/compos.pl?matno=104 -Md = ( - 0.755267 * Substance.from_formula("N2").mass * si.gram / si.mole - + 0.231781 * Substance.from_formula("O2").mass * si.gram / si.mole - + 0.012827 * Substance.from_formula("Ar").mass * si.gram / si.mole - + 0.000124 * Substance.from_formula("C").mass * si.gram / si.mole -) +Md = 28.966 * si.g / si.mole +""" +A "twenty-first century" value of dry-air molar mass recommended in +[Gatley et al. 2008](https://doi.org/10.1080/10789669.2008.10391032) +""" # https://web.archive.org/web/20200729203147/https://nucleus.iaea.org/rpst/documents/VSMOW_SLAP.pdf # heavy-to-light isotope abundance ratios @@ -118,9 +115,21 @@ pH_w = 7 sgm_w = 0.072 * si.joule / si.metre**2 -p_tri = 611.73 * si.pascal +D0 = 2.26e-5 * si.metre**2 / si.second +D_exp = 1.81 + +K0 = 2.4e-2 * si.joules / si.metres / si.seconds / si.kelvins + +p1000 = 1000 * si.hectopascals +c_pd = 1005 * si.joule / si.kilogram / si.kelvin +c_pv = 1850 * si.joule / si.kilogram / si.kelvin +g_std = sci.g * si.metre / si.second**2 + +c_pw = 4218 * si.joule / si.kilogram / si.kelvin + +p_tri = 611.657 * si.pascal T_tri = 273.16 * si.kelvin -l_tri = 2.5e6 * si.joule / si.kilogram +L_tri = 45051 * si.joule / si.mol # Seinfeld and Pandis, Appendix 16.1, 16A.2 # default constant values according to Lowe et al. (2019), from ICPM code @@ -408,6 +417,8 @@ def compute_derived_values(c: dict): c["rho_STP"] = c["p_STP"] / c["Rd"] / c["T_STP"] c["H_u"] = c["M"] / c["p_STP"] + c["l_tri"] = c["L_tri"] / c["Mv"] # 2.5e6 * si.joule / si.kilogram + W76W_G0 = -2.9912729e3 * si.K**2 W76W_G1 = -6.0170128e3 * si.K