diffcoeff {marelac} | R Documentation |
Calculates molecular and ionic diffusion coefficients (cm2/hour), for several species at given salinity (S) temperature (T) and pressure (P).
Based on the code "CANDI" by B.P. Boudreau
diffcoeff(S=35, T=25, P=1)
S |
Salinity, - |
T |
Temperature, degrees C |
P |
Pressure, atm |
The details given in the original code by B. Boudreau are repeated here:
To correct for salinity, the Stokes-Einstein relationship is used. This is not quite accurate, but is at least consistent.
Diffusion coefficient of Water : from Cohen and Turnbull (1959) and Krynicki et al. (1978)
Dissolved gases : from Wilke and Chang (1955)
molar volumes cm^3/mol (Sherwood et al., 1975)
The coefficients in pure water for the following species:
NO_3^-, HS^-, H_2PO_4^-, CO3^{2-}, SO_4{2-}, Ca^{++}, Mg^{++}, Mn^{++}, Fe^{++},NH_4^+, H^+, OH^-, HCO_3^-, HPO_4^{2-}, PO_4^{3-} are calculated as linear functions of temperature (deg C). The coefficients as in Boudreau (1996).
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.
a data.frame with the diffusion coefficients (cm2//hour) of:
O2 |
oxygen |
CO2 |
carbon dioxide |
NH3 |
ammonia |
H2S |
sulfide |
CH4 |
methane |
HCO3 |
bicarbonate ion |
CO3 |
carbonate ion |
NH4 |
ammonium ion |
HS |
sulfide ion |
NO3 |
nitrate ion |
H2PO4 |
phosphate ion H_2PO_4^- |
HPO4 |
phosphate ion HPO_4^{2-} |
PO4 |
PO_4^{3-} |
H |
proton |
OH |
hydroxyl ion |
Ca |
calcium ion |
Mg |
magnesium ion |
Fe |
iron ion |
Mn |
manganese ion |
SO4 |
sulphate ion |
H3PO4 |
phosphate |
BOH3 |
borate ion |
B0H4 |
borate |
H4SiO4 |
silicate |
Karline Soetaert <k.soetaert@nioo.knaw.nl>
Based on the FORTRAN implementation of the diagenetic model "CANDI" of B.P. Boudreau:
Boudreau BP, 1996. A method-of-lines code for carbon and nutrient diagenesis in aquatic sediments. Computers and Geosciences 22 (5): 479-496
who cites:
Cohen MH, Turnbull D. 1959. Molecular transport in liquids and glasses. Journal of chemical physics 31 (5): 1164-1169
Krynicki K, Green CD, Sawyer DW, 1978. pressure and temperature-dependence of self-diffusion in water. Faraday discussions 66: 199-208
Wilke CR, Chang P, 1955. Correlation of diffusion coefficients in dilute solutions. Aiche journal 1 (2): 264-270
Hayduk W, Laudie H, 1974. Prediction of diffusion-coefficients for nonelectrolytes in dilute aqueous-solutions. Aiche journal 20 (3): 611-615
viscosity
the shear viscosity of water
diffcoeff(S=15,T=15)*24 # cm2/day diffcoeff(T=10)$O2 difftemp <- diffcoeff(T=0:30)[,1:13] matplot(0:30,difftemp,xlab="temperature",ylab="cm2/hour", main="Molecular/ionic diffusion",type="l") legend("topleft",ncol=2,cex=0.8,title="mean",col=1:13,lty=1:13, legend=cbind(names(difftemp),format(colMeans(difftemp),digits=4))) diffsal <- diffcoeff(S=0:35)[,1:13] matplot(0:35,diffsal,xlab="salinity",ylab="cm2/hour", main="Molecular/ionic diffusion",type="l") legend("topleft",ncol=2,cex=0.8,title="mean",col=1:13,lty=1:13, legend=cbind(names(diffsal),format(colMeans(diffsal),digits=4)))