source: trunk/LMDZ.GENERIC/utilities/photochemistry/reaction_rate_lib.py

Last change on this file was 3528, checked in by mmaurice, 2 days ago

Generic PCM:

Python postprocessing: cleaner implementation, add automatic network
import and export from and to various format (Generic PCM, vulcan) and
more practical tools to handle networks. Updated the python notebook
with additional examples of use.

MM

File size: 1.1 KB
Line 
1import numpy as np
2
3def k_CO_OH_to_CO2_H_JPL_2015(T,dens):
4    """ Computes rate for CO + OH -> CO2 + H from JPL 2015 """
5    rate1 = 1.15e-13*T/300.
6    ak0   = 5.9e-33*(T/300.)**(-1.0)
7    ak1   = 1.1e-12*(T/300.)**(1.3)
8    rate2 = (ak0 * dens) / (1. + ak0 * dens / ak1)
9    xpo2  = 1./(1. + np.log10((ak0 * dens) / ak1)**2)
10    return rate1 + rate2 * 0.6**xpo2
11
12def k_CO_OH_to_CO2_H_Joshi_2006(T,dens):
13    """ Computes rate for CO + OH -> CO2 + H from Joshi and Wang 2006 """
14    k1a0 = 1.34*2.5*dens                                  \
15         * 1/(1/(3.62e-26*T**(-2.739)*np.exp(-20./T))  \
16         + 1/(6.48e-33*T**(0.14)*np.exp(-57./T)))
17    k1b0 = 1.17e-19*T**(2.053)*np.exp(139./T)          \
18         + 9.56e-12*T**(-0.664)*np.exp(-167./T)
19    k1ainf = 1.52e-17*T**(1.858)*np.exp(28.8/T)        \
20           + 4.78e-8*T**(-1.851)*np.exp(-318./T)
21    x = k1a0/(k1ainf - k1b0)
22    y = k1b0/(k1ainf - k1b0)
23    fc = 0.628*np.exp(-1223./T) + (1. - 0.628)*np.exp(-39./T)  \
24       + np.exp(-T/255.)
25    fx = fc**(1./(1. + (np.log(x))**2))
26    k1a = k1a0*((1. + y)/(1. + x))*fx
27    k1b = k1b0*(1./(1.+x))*fx
28    return  k1a + k1b
Note: See TracBrowser for help on using the repository browser.