diffcoeff: Molecular Diffusion Coefficients

Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/diffcoeff.R

Description

Calculates the molecular and ionic diffusion coefficients in m2/sec, for several inorganic species in seawater at a given salinity, temperature, and pressure.

Based on Chapter 4 in Boudreau (1997)

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
diffcoeff(S = 35, t = 25, P = 1.013253,
      species = c("H2O", "O2", "CO2", "H2", "CH4", "DMS",
      "He", "Ne", "Ar", "Kr", "Xe", "Rn",
      "N2", "H2S", "NH3", "NO", "N2O", "CO", "SO2",
      "OH", "F", "Cl", "Br", "I",
      "HCO3", "CO3", "H2PO4", "HPO4", "PO4",
      "HS", "HSO3", "SO3", "HSO4", "SO4", "IO3", "NO2", "NO3",
      "H", "Li", "Na", "K", "Cs","Ag","NH4",
      "Ca", "Mg", "Fe", "Mn", "Ba", "Be", "Cd", "Co",
      "Cu", "Hg", "Ni", "Sr", "Pb", "Ra", "Zn", "Al", "Ce",
      "La", "Pu", "H3PO4", "BOH3", "BOH4", "H4SiO4"))

Arguments

S

Salinity, -,

t

Temperature, degrees C,

P

True pressure, bar,

species

character vector with the names of the chemical species whose diffusion coefficient should be calculated.

Details

To correct for salinity, the Stokes-Einstein relationship is used. This is not quite accurate, but is at least consistent.

H_3PO_4 : Least (1984) determined D(H3PO4) at 25 deg C and 0 S. Assume that this value can be scaled by the Stokes-Einstein relationship to any other temperature.

B(OH)_3 : Mackin (1986) determined D(B(OH)3) at 25 deg C and about 29.2 S. Assume that this value can be scaled by the Stokes-Einstein relationship to any other temperature.

B(OH)_4 : No information on this species. Boudreau and Canfield (1988) assume it is 12.5% smaller than B(OH)3.

H_4SiO_4 : Wollast and Garrels (1971) found D(H4SiO4) at 25 deg C and 36.1 ppt S. Assume that this value can be scaled by the Stokes-Einstein relationship to any other temperature.

Arguments salinity, temperature or pressure can be vectors. In order to avoid confusion, S, t and P must have either same length or length 1. More flexible combinationsare of course possible with expand.grid

Value

A data.frame with the diffusion coefficients m2/sec of the selected chemical species.

Author(s)

Filip Meysman <filip.meysman@nioz.nl>, Karline Soetaert <karline.soetaert@nioz.nl>

References

Based on Chapter 4 in Boudreau (1997) :

Boudreau BP, 1997. Diagenetic Models and their Implementation. Modelling Transport and Reactions in Aquatic Sediments. Springer. Berlin.

who cites:

for self-diffusion coefficient H2O:

Cohen MH and Turnbull D. 1959. Molecular transport in liquids and glasses. Journal of chemical physics 31 (5): 1164-1169

Krynicki K, Green CD and Sawyer DW, 1978. Pressure and temperature-dependence of self-diffusion in water. Faraday discussions 66: 199-208

for gases O2 and CO2:

Novel relation by Boudreau (1997) based on new compilation of data

for gases He, Ne, Kr, Xe, Rn, H2, CH4:

Jahne B, Heinz G, and Dietrich W, 1987. Measurements of the diffusion coefficients of sparingly soluble gases in water. J. Geophys. Res., 92:10,767-10,776.

for Ar:

Ohsumi T and Horibe Y, 1984. Diffusivity of He and Ar in deep-sea sediments, Earth and Planetary Science Letters 70, 61-68.

for DMS:

Saltzman ES, King DB, Holmen K, and Leck C, 1993. Experimental Determination of the Diffusion Coefficient of Dimethylsulfide in Water, J. Geophys. Res., 98(C9), 16, 481-486.

for other gases (N2, H2S, NH3, NO, N2O, CO, SO2):

Wilke CR and Chang P, 1955. Correlation of diffusion coefficients in dilute solutions. Aiche journal 1 (2): 264-270

with the correction proposed by

Hayduk W and Laudie H, 1974. Prediction of diffusion-coefficients for nonelectrolytes in dilute aqueous-solutions. Aiche journal 20 (3): 611-615

for ions:

Hayduk W and Laudie H, 1974. Prediction of diffusion-coefficients for nonelectrolytes in dilute aqueous-solutions. Aiche journal 20 (3): 611-615

for H3PO4, B(OH)3, B(OH)4, H4SiO4 : see details

See Also

coriolis, viscosity, ssd2rad, vertmean, gravity

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
diffcoeff(S = 15, t = 15)*1e4*3600*24         # cm2/day
diffcoeff(t = 10, species = "O2")             # m2/s
difftemp <- diffcoeff(t = 0:30)[,1:13]
matplot(0:30, difftemp, xlab = "temperature", ylab = "m2/s",
        main = "Molecular/ionic diffusion", type = "l",
        col = 1:13, lty = 1:13)
legend("topleft", ncol = 2, cex = 0.8, title = "mean", 
       col = 1:13, lty = 1:13,
       legend = cbind(names(difftemp),
       format(colMeans(difftemp), digits = 4)))

## vector-valued salinity
select <- c("O2", "CO2", "NH3", "NH4", "NO3")
diffsal <- diffcoeff(S = 0:35, species = select)
matplot(0:35, diffsal, xlab = "salinity", ylab = "m2/s",
         main = "Molecular/ionic diffusion", type = "l",
         col = 1:length(select), lty = 1:length(select))
legend("topleft", ncol = 2, cex = 0.8, title = "mean",
       col = 1:length(select), lty = 1:length(select),
       legend = cbind(select, format(colMeans(diffsal), digits = 4)))

## vector-valued temperature
difftemp <- diffcoeff(S = 1, t=1:20, species = select)
matplot(1:20, difftemp, xlab = "temperature", ylab = "m2/s",
        main = "Molecular/ionic diffusion", type = "l",
        col = 1:length(select), lty = 1:length(select))
legend("topleft", ncol = 2, cex = 0.8, title = "mean",
       col = 1:length(select), lty = 1:length(select),
       legend = cbind(select, format(colMeans(difftemp), digits = 4)))

## combination of S and t
diffsaltemp <- diffcoeff(S = rep(c(1, 35), each = 20), 
                         t = rep(1:20, 2), species = select)
       

Example output

Loading required package: shape
Loading required package: seacarb
Loading required package: oce
Loading required package: testthat
Loading required package: gsw

Attaching package: 'marelac'

The following objects are masked from 'package:oce':

    coriolis, gravity

       H2O       O2      CO2       H2      CH4       DMS       He       Ne
1 1.478897 1.570625 1.241991 3.429952 1.198804 0.8770747 5.186823 2.749411
        Ar       Kr        Xe        Rn       N2      H2S      NH3       NO
1 1.554712 1.166917 0.9126865 0.8079991 1.190863 1.180685 1.467438 1.500764
       N2O    CO     SO2       OH         F       Cl       Br        I
1 1.164872 1.195 1.03556 3.543847 0.9577852 1.354384 1.391657 1.364436
       HCO3       CO3     H2PO4     HPO4       PO4       HS      HSO3       SO3
1 0.7693272 0.6126977 0.6168857 0.495435 0.3991121 1.214088 0.8836584 0.7379176
       HSO4      SO4       IO3      NO2      NO3        H        Li        Na
1 0.8874275 0.700226 0.7069267 1.278582 1.283189 6.510175 0.6738419 0.8807268
          K       Cs       Ag      NH4        Ca        Mg        Fe        Mn
1 0.8807268 1.385375 1.106039 1.314599 0.5264259 0.4682133 0.4657005 0.4610938
         Ba        Be        Cd        Co        Cu        Hg        Ni
1 0.5611859 0.3911549 0.4682133 0.4682133 0.4824524 0.5653738 0.4447608
         Sr      Pb        Ra        Zn        Al        Ce        La        Pu
1 0.5214003 0.62233 0.5775189 0.4669569 0.4497863 0.4116759 0.4037188 0.3777535
     H3PO4      BOH3      BOH4    H4SiO4
1 0.555835 0.7602404 0.6652104 0.6882134
            O2
1 1.539783e-09

marelac documentation built on Feb. 12, 2020, 3 a.m.