diff --git a/.github/workflows/krome.yml b/.github/workflows/krome.yml new file mode 100644 index 000000000..25204531a --- /dev/null +++ b/.github/workflows/krome.yml @@ -0,0 +1,53 @@ +name: krome + +# Trigger on pull request, but only for the master branch +on: + pull_request: + branches: [ master ] + paths-ignore: + - 'docs/**' + - 'README.md' + +env: + PREFIX: /usr/local/ + PHANTOM_DIR: ${{ github.workspace }} + KROMEPATH: ${{ github.workspace }}/krome + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest] + toolchain: [{compiler: gcc}, {compiler: intel-classic}] + exclude: + - os: macos-latest + toolchain: {compiler: intel-classic} + + steps: + - uses: awvwgk/setup-fortran@v1 + with: + compiler: ${{ matrix.toolchain.compiler }} + + - name: "Clone phantom" + uses: actions/checkout@v3 + + - name: "Clone krome" + run: git clone https://bitbucket.org/tgrassi/krome.git krome + + - name: "make krome.setup" + run: echo -e "-n=networks/react_AGBwind_nucleation\n-cooling=ATOMIC,CHEM,H2,CIE,Z,CI,CII,OI,OII,CO,OH,H2O,HCN\n-heating=CHEM,CR\n-H2opacity=RIPAMONTI\n-gamma=EXACT\n-noSinkCheck\n-noRecCheck\n-noTlimits\n-useX\n-conserveLin\n-useTabs\n-unsafe\n-iRHS" > krome.setup && cat krome.setup + + - name: "Compile phantom and link with krome" + run: make SYSTEM=${{ env.FC }} SETUP=wind KROME=krome KROMEPATH=${KROMEPATH} PREFIX=${PREFIX} RUNDIR=${{ github.workspace }} + + - name: "Compile phantomsetup and link with krome" + run: make SYSTEM=${{ env.FC }} SETUP=wind KROME=krome KROMEPATH=${KROMEPATH} PREFIX=${PREFIX} RUNDIR=${PREFIX} setup + + - name: "Compile phantomanalysis and link with krome" + run: make SYSTEM=${{ env.FC }} SETUP=wind KROME=krome KROMEPATH=${KROMEPATH} PREFIX=${PREFIX} RUNDIR=${PREFIX} analysis + + - name: "Compile phantommoddump and link with krome" + run: make SYSTEM=${{ env.FC }} SETUP=wind KROME=krome KROMEPATH=${KROMEPATH} PREFIX=${PREFIX} RUNDIR=${PREFIX} moddump diff --git a/build/MakeKrome b/build/MakeKrome index 382d96261..0171e2408 100644 --- a/build/MakeKrome +++ b/build/MakeKrome @@ -3,7 +3,12 @@ KROME_BUILD_DIR = ${KROMEPATH}/build -KFLAGS="$(FFLAGS)" +KFLAGS=$(filter-out -std=f2008, $(FFLAGS)) +ifeq ($(SYSTEM), ifort) + KFLAGS += -O3 -ipo -ip -unroll -xHost -g -fp-model precise +else + KFLAGS += -ffree-line-length-none -w -fallow-argument-mismatch +endif FFLAGS+= -I$(KROME_BUILD_DIR) PASSED=0 @@ -21,23 +26,22 @@ endif ifeq ("$(wildcard ${KROMEPATH}/build/optionsKrome.opt)","") cp $(RUNDIR)/krome.setup ${KROMEPATH}/build/optionsKrome.opt cd ${KROMEPATH}; ./krome -options=build/optionsKrome.opt - cp -f ${KROMEPATH}/data/coolCO.dat ${KROMEPATH}/data/coolH2O.dat ${KROMEPATH}/data/coolOH.dat ${KROMEPATH}/data/coolHCN.dat ${KROMEPATH}/build/reactions_verbatim.dat ${RUNDIR} + cp -f ${KROMEPATH}/build/*.dat ${KROMEPATH}/build/*.gfe ${RUNDIR} make clean_krome override PASSED:=1 endif ifeq ("$(PASSED)$(wildcard ${KROMEPATH}/build/reactions_verbatim.dat)","0") cd ${KROMEPATH}; ./krome -options=build/optionsKrome.opt - cp ${KROMEPATH}/data/coolCO.dat ${KROMEPATH}/data/coolH2O.dat ${KROMEPATH}/data/coolOH.dat ${KROMEPATH}/data/coolHCN.dat ${KROMEPATH}/build/reactions_verbatim.dat ${RUNDIR} + cp -f ${KROMEPATH}/build/*.dat ${KROMEPATH}/build/*.gfe ${RUNDIR} endif krome: $(KROME_OBJS) ifeq ("$(wildcard coolCO.dat)","") - cp -f ${KROMEPATH}/data/coolCO.dat ${KROMEPATH}/data/coolH2O.dat ${KROMEPATH}/data/coolOH.dat ${KROMEPATH}/data/coolHCN.dat ${KROMEPATH}/build/reactions_verbatim.dat ${RUNDIR} + cp -f ${KROMEPATH}/build/*.dat ${KROMEPATH}/build/*.gfe ${RUNDIR} endif - $(KROME_OBJS): - $(MAKE) -C $(KROME_BUILD_DIR) fc=$(FC) switch=$(KFLAGS) + $(MAKE) -C $(KROME_BUILD_DIR) fc=$(FC) switch="$(KFLAGS)" clean_krome: $(MAKE) -C $(KROME_BUILD_DIR) clean diff --git a/build/Makefile b/build/Makefile index ccbba721b..219f2eb0b 100644 --- a/build/Makefile +++ b/build/Makefile @@ -289,9 +289,10 @@ endif ifeq ($(KROME), krome) FPPFLAGS += -DKROME ifeq ($(SYSTEM), ifort) - LDFLAGS += -mkl + LDFLAGS += -llapack else - LDFLAGS += -L/usr/lib/x86_64-linux-gnu -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -fopenmp + # LDFLAGS += -L/usr/lib/x86_64-linux-gnu -lmkl_core -lmkl_gnu_thread -lmkl_gf_lp64 -fopenmp + LDFLAGS += -llapack endif endif @@ -554,7 +555,7 @@ OBJECTS = $(OBJECTS1:.F90=.o) ifeq ($(KROME), krome) .PHONY: all - all: checksystem krome_setup krome phantom + all: checksystem checkparams krome_setup krome phantom include MakeKrome else .PHONY: phantom diff --git a/build/optionsKrome.opt b/build/optionsKrome.opt deleted file mode 100644 index f553c9d5b..000000000 --- a/build/optionsKrome.opt +++ /dev/null @@ -1,12 +0,0 @@ --n=networks/react_AGB_full_noNucl -#-compact --cooling=ATOMIC,CHEM,H2,CIE,Z,CI,CII,OI,OII,CO,OH,H2O,HCN --heating=CHEM,CR --H2opacity=RIPAMONTI --gamma=EXACT --noSinkCheck --noRecCheck --noTlimits --useX --conserveLin --useTabs diff --git a/data/Krome/react_AGBwind_nucleation b/data/Krome/react_AGBwind_nucleation new file mode 100644 index 000000000..b2aca4fec --- /dev/null +++ b/data/Krome/react_AGBwind_nucleation @@ -0,0 +1,2017 @@ +######################### +# This a reduced network with nucleation reactions suitable for an AGB wind. +# It consists of several parts +# 1. Reduced AGB wind network +# 2. Nucleation reactions for SiO, TiO2, MgO, Al2O3 +# 3. Additional reactions with Ti, Mg, Al - oxides +# Note: this network is suitable to be used with tabulated rates (-useTabs) +# +# +# 1. +# reactions 1 - 219 are a subset from UMIST database limited to 3 atoms +# non-reduced file automatically generated with DOCMAKE on 2017-04-07 16:21:33 +#changeset: ab01f9b +#using the following options +# skipSpecies = +# outputFile = UMIST_to_Fe_3atmbis.dat +# Tmin = -1e99 +# cations = True +# skipTlimitsSingle = True +# maxAtoms = 3 +# useAtoms = E,H,He,Li,Be,B,C,N,O,F,Ne,Na,Mg,Al,Si,P,S,Fe,Co,Ni +# Tmax = 1e99 +# skipString = +# skipRateString = dustGrainAlbedo|user_Av +# skipAtoms = +# anions = True +# useSpecies = +# +# reactions 220 - 256 are added manually with reason and/or reference +# given at the reaction +# +# +# 2.+ 3. +# Nucleation reactions with cluster_growth_rate() based on +# non-steady state nucleation theory. +# Additional reactions manually added from literature sources +# with reference and extra info given at the reaction. +# Reversed reactions based on detailed balance with Gibbs free energy +# values in data/thermochemistry. This data should be used below 10 000K, +# above this threshold extra electronic energy contributions have to added to +# the data. +# Note: this part is not a reduced version and can still contain reaction_start +# that are unimportant in an AGB wind + +@common:user_crflux +@var:ntot=sum(n(1:nmols)) +@var:R=Rgas_kJ + +@format:idx,R,R,P,P,rate +1,H,He+,He,H+,1.20e-15*(T32)**(0.25) + +@format:idx,R,R,P,P,rate +2,C,NO,CO,N,9.00e-11*(T32)**(-0.16) + +@format:idx,R,R,P,P,rate +3,NH+,E,N,H,4.30e-08*(T32)**(-0.50) + +@format:idx,R,R,P,rate +4,He+,E,He,5.36e-12*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +5,O2,S,SO,O,1.76e-12*(T32)**(0.81)*exp(+30.8*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +6,H,HS+,S+,H2,1.10e-10 + +@format:idx,R,R,P,P,rate +7,H+,Si,Si+,H,9.90e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +8,H+,OH,OH+,H,2.10e-09*(T32)**(-0.50) + +@storeonce_start +@format:idx,R,R,P,P,rate +9,N,HS,NS,H,1.00e-10 + +@format:idx,R,R,P,P,rate +10,He+,Si,Si+,He,3.30e-09 + +@format:idx,R,R,P,P,rate +11,H,HeH+,He,H2+,9.10e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +12,H2,HS,H2S,H,6.52e-12*(T32)**(0.09)*exp(-8050.0*invT) + +@storeonce_start +@format:idx,R,R,P,rate +13,O,E,O-,1.50e-15 + +@format:idx,R,R,P,P,rate +14,S+,Fe,Fe+,S,1.80e-10 +@storeonce_stop + +@format:idx,R,R,P,rate +15,H,Si+,SiH+,1.17e-17*(T32)**(-0.14) + +@format:idx,R,R,P,P,rate +16,H,NS,HS,N,7.27e-11*(T32)**(0.50)*exp(-15700.0*invT) + +@format:idx,R,R,P,P,rate +17,N,CS,S,CN,3.80e-11*(T32)**(0.50)*exp(-1160.0*invT) + +@format:idx,R,R,P,P,rate +18,H,S2,HS,S,2.25e-10*(T32)**(0.50)*exp(-8355.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +19,Na,S+,S,Na+,2.60e-10 + +@format:idx,R,R,P,P,rate +20,OH,F,HF,O,1.60e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +21,H,SO,S,OH,5.90e-10*(T32)**(-0.31)*exp(-11100.0*invT) + +@format:idx,R,R,P,P,rate +22,H-,Na+,H,Na,7.51e-08*(T32)**(-0.50) + +@storeonce_start +@format:idx,R,R,P,P,rate +23,CH,S,CS,H,5.00e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +24,H-,Fe+,H,Fe,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +25,HeH+,E,He,H,1.00e-08*(T32)**(-0.60) + +@format:idx,R,R,P,P,rate +26,H2,O2,OH,OH,3.16e-10*exp(-21890.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +27,OH,S,SO,H,6.60e-11 +@storeonce_stop + +@format:idx,R,R,P,P,P,rate +28,H,O2,O,O,H,6.00e-09*exp(-52300.0*invT) + +@format:idx,R,R,P,rate +29,H+,E,H,3.50e-12*(T32)**(-0.75) + +@format:idx,R,R,P,P,rate +30,H,NO,OH,N,3.60e-10*exp(-24910.0*invT) + +@format:idx,R,R,P,P,rate +31,O,SO2,SO,O2,9.01e-12*exp(-9837.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +32,H2+,He,HeH+,H,1.30e-10 +@storeonce_stop + +@format:idx,R,R,P,P,P,rate +33,H,H2,H,H,H,4.67e-07*(T32)**(-1.00)*exp(-55000.0*invT) + +@format:idx,R,R,P,P,rate +34,C,CS,S,C2,1.44e-11*(T32)**(0.50)*exp(-20435.0*invT) + +@format:idx,R,R,P,P,rate +35,N,NO,N2,O,3.38e-11*(T32)**(-0.17)*exp(+2.8*invT) + +@format:idx,R,R,P,P,rate +36,H,CO,OH,C,1.10e-10*(T32)**(0.50)*exp(-77700.0*invT) + +@format:idx,R,R,P,P,rate +37,H2,F,HF,H,1.00e-10*exp(-400.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +38,H,CH2,CH,H2,2.20e-10 +@storeonce_stop + +@format:idx,R,R,P,rate +39,O,O,O2,4.90e-20*(T32)**(1.58) + +@format:idx,R,R,P,P,rate +40,H,NH,N,H2,1.73e-11*(T32)**(0.50)*exp(-2400.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +41,NH,O,OH,N,1.16e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +42,H2,CH,CH2,H,5.46e-10*exp(-1943.0*invT) + +@format:idx,R,R,P,P,rate +43,H,HCN,CN,H2,6.20e-10*exp(-12500.0*invT) + +@format:idx,R,R,P,P,rate +44,OH,CO,CO2,H,2.81e-13*exp(-176.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +45,NH,O,NO,H,6.60e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +46,C,CO,C2,O,2.94e-11*(T32)**(0.50)*exp(-58025.0*invT) + +@format:idx,R,R,P,P,rate +47,C,CN,C2,N,4.98e-10*exp(-18116.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +48,N,NH,N2,H,4.98e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +49,Si,O2,SiO,O,1.72e-10*(T32)**(-0.53)*exp(-17.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +50,H,O-,OH,E,5.00e-10 + +@format:idx,R,R,P,P,rate +51,OH,SiO,SiO2,H,2.00e-12 + +@format:idx,R,R,P,P,rate +52,C,HCO+,CO,CH+,1.10e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +53,H,NH2,NH,H2,4.56e-12*(T32)**(1.02)*exp(-2161.0*invT) + +@format:idx,R,R,P,P,rate +54,H2,C,CH,H,6.64e-10*exp(-11700.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +55,H2,O+,OH+,H,1.70e-09 + +@format:idx,R,R,P,P,rate +56,H,OCN,OH,CN,1.00e-10 +@storeonce_stop + +@format:idx,R,R,P,rate +57,H,E,H-,3.37e-16*(T32)**(0.64)*exp(-9.2*invT) + +@storeonce_stop +@format:idx,R,R,P,P,rate +58,H2+,O,OH+,H,1.50e-09 + +@format:idx,R,R,P,P,rate +59,Mg,S+,S,Mg+,2.80e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +60,N,O2,NO,O,2.26e-12*(T32)**(0.86)*exp(-3134.0*invT) + +@format:idx,R,R,P,rate +61,H+,H,H2+,1.15e-18*(T32)**(1.49)*exp(-228.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +62,H,HS,S,H2,2.50e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +63,O-,Mg+,O,Mg,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,rate +64,Mg+,E,Mg,2.78e-12*(T32)**(-0.68) + +@format:idx,R,R,P,P,rate +65,H-,H+,H,H,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +66,H-,S+,H,S,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,P,rate +67,H,OH,O,H,H,6.00e-09*exp(-50900.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +68,O+,Fe,Fe+,O,2.90e-09 + +@format:idx,R,R,P,P,rate +69,H-,N,NH,E,1.00e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +70,H,NO,O,NH,9.29e-10*(T32)**(-0.10)*exp(-35220.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +71,Si,HCO+,SiH+,CO,1.60e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +72,O,CN,NO,C,5.37e-11*exp(-13800.0*invT) + +@format:idx,R,R,P,P,rate +73,H-,O+,H,O,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,rate +74,O+,E,O,3.24e-12*(T32)**(-0.66) + +@storeonce_start +@format:idx,R,R,P,rate +75,H2,C,CH2,1.00e-17 + +@format:idx,R,R,P,P,rate +76,H,S-,HS,E,1.00e-10 + +@format:idx,R,R,P,P,rate +77,OH,CS,CO,HS,3.00e-11 + +@format:idx,R,R,P,P,rate +78,Na,Fe+,Fe,Na+,1.00e-11 + +@format:idx,R,R,P,P,rate +79,SiO+,Fe,Fe+,SiO,1.00e-09 + +@format:idx,R,R,P,P,rate +80,C,SO,CS,O,3.50e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +81,OH,Si+,SiO+,H,6.30e-10*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +82,O,CS,SO,C,4.68e-11*(T32)**(0.50)*exp(-28940.0*invT) + +@format:idx,R,R,P,rate +83,H,O,OH,9.90e-19*(T32)**(-0.38) + +@storeonce_start +@format:idx,R,R,P,P,rate +84,H+,P,P+,H,1.00e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +85,CN,S,NS,C,5.71e-11*(T32)**(0.50)*exp(-32010.0*invT) + +@format:idx,R,R,P,P,rate +86,O,HS,S,OH,1.74e-11*(T32)**(0.67)*exp(-956.0*invT) + +@format:idx,R,R,P,P,rate +87,OH+,E,O,H,3.75e-08*(T32)**(-0.50) + +@storeonce_start +@format:idx,R,R,P,rate +88,H,C,CH,1.00e-17 +@storeonce_stop + +@format:idx,R,R,P,P,rate +89,Si,CO,SiO,C,1.30e-09*exp(-34513.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +90,C,HS,CS,H,1.00e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +91,H2,S,HS,H,1.76e-13*(T32)**(2.88)*exp(-6126.0*invT) + +@format:idx,R,R,P,P,rate +92,H,CH,C,H2,1.31e-10*exp(-80.0*invT) + +@format:idx,R,R,P,P,rate +93,H,O2,OH,O,2.61e-10*exp(-8156.0*invT) + +@format:idx,R,R,P,P,rate +94,N,SO,NS,O,4.68e-11*(T32)**(0.50)*exp(-8254.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +95,H,HCO,CO,H2,1.50e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +96,OH,CN,HCN,O,1.00e-11*exp(-1000.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +97,O,SiO+,O2,Si+,2.00e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +98,CH,O,OH,C,2.52e-11*exp(-2381.0*invT) + +@format:idx,R,R,P,P,rate +99,CH,S,HS,C,1.73e-11*(T32)**(0.50)*exp(-4000.0*invT) + +@format:idx,R,R,P,P,rate +100,HF,Si+,SiF+,H,5.70e-09*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +101,C,NO,CN,O,6.00e-11*(T32)**(-0.16) + +@format:idx,R,R,P,P,rate +102,H2+,E,H,H,1.60e-08*(T32)**(-0.43) + +@format:idx,R,R,P,P,P,rate +103,H,H2O,OH,H,H,5.80e-09*exp(-52900.0*invT) + +@format:idx,R,R,P,P,rate +104,H2,NH,NH2,H,5.96e-11*exp(-7782.0*invT) + +@format:idx,R,R,P,P,rate +105,C,NH,N,CH,1.73e-11*(T32)**(0.50)*exp(-4000.0*invT) + +@format:idx,R,R,P,P,rate +106,C,N2,CN,N,8.69e-11*exp(-22600.0*invT) + +@format:idx,R,R,P,P,P,rate +107,H2,E,H,H,E,3.22e-09*(T32)**(0.35)*exp(-102000.0*invT) + +@format:idx,R,R,P,P,P,rate +108,H,CH,C,H,H,6.00e-09*exp(-40200.0*invT) + +@format:idx,R,R,P,P,rate +109,SiF+,E,Si,F,2.00e-07*(T32)**(-0.50) + +@storeonce_start +@format:idx,R,R,P,P,rate +110,H,SiH+,Si+,H2,1.90e-09 + +@format:idx,R,R,P,P,rate +111,C+,Mg,Mg+,C,1.10e-09 +@storeonce_stop + +@format:idx,R,R,P,rate +112,C,O,CO,4.69e-19*(T32)**(1.52)*exp(+50.5*invT) + +@format:idx,R,R,P,P,rate +113,CN,O2,OCN,O,2.02e-11*(T32)**(-0.19)*exp(+31.9*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +114,NH,S,NS,H,1.00e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +115,SiO+,E,Si,O,2.00e-07*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +116,O,HCN,CO,NH,7.30e-13*(T32)**(1.14)*exp(-3742.0*invT) + +@format:idx,R,R,P,P,rate +117,H2,N,NH,H,1.69e-09*exp(-18095.0*invT) + +@format:idx,R,R,P,P,rate +118,O,HCN,CN,OH,6.21e-10*exp(-12439.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +119,Si,S+,S,Si+,1.60e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +120,O,OH,O2,H,3.69e-11*(T32)**(-0.27)*exp(-12.9*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +121,C+,Si,Si+,C,2.10e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +122,O,SO,S,O2,6.60e-13*exp(-2760.0*invT) + +@format:idx,R,R,P,P,rate +123,Si,NO,SiO,N,9.00e-11*(T32)**(-0.96)*exp(-28.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +124,C+,Fe,Fe+,C,2.60e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +125,S,SO2,SO,SO,9.76e-12*exp(-4545.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +126,Mg,SiO+,SiO,Mg+,1.00e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +127,O,HCN,OCN,H,1.36e-12*(T32)**(1.38)*exp(-3693.0*invT) + +@format:idx,R,R,P,P,rate +128,N,CN,N2,C,1.00e-10*(T32)**(0.18) + +@storeonce_start +@format:idx,R,R,P,P,rate +129,H-,C,CH,E,1.00e-09 + +@format:idx,R,R,P,P,rate +130,Mg,Si+,Si,Mg+,2.90e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +131,CH,N,NH,C,3.03e-11*(T32)**(0.65)*exp(-1207.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +132,Na,Si+,Si,Na+,2.70e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +133,C-,H+,C,H,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +134,Si,CO2,SiO,CO,2.72e-11*exp(-282.0*invT) + +@format:idx,R,R,P,P,rate +135,H,OCS,HS,CO,1.23e-11*exp(-1949.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +136,Si+,Fe,Fe+,Si,1.90e-09 + +@format:idx,R,R,P,rate +137,S,E,S-,5.00e-15 + +@format:idx,R,R,P,P,rate +138,HCO+,Fe,Fe+,HCO,1.90e-09 +@storeonce_stop + +@format:idx,R,R,P,rate +139,P+,E,P,3.41e-12*(T32)**(-0.65) + +@format:idx,R,R,P,P,rate +140,H+,SiO,SiO+,H,3.30e-09*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +141,O,HS,SO,H,1.74e-10*(T32)**(-0.20)*exp(-5.7*invT) + +@format:idx,R,R,P,rate +142,Fe+,E,Fe,2.55e-12*(T32)**(-0.69) + +@storeonce_start +@format:idx,R,R,P,P,rate +143,Si,P+,P,Si+,1.00e-09 + +@format:idx,R,R,P,P,rate +144,H+,Mg,Mg+,H,1.10e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +145,H-,Si+,H,Si,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +146,H,H2O,OH,H2,1.59e-11*(T32)**(1.20)*exp(-9610.0*invT) + +@format:idx,R,R,P,P,rate +147,OH,OH,H2O,O,1.65e-12*(T32)**(1.14)*exp(-50.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +148,OH,SO,SO2,H,8.60e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +149,H2,OH,H2O,H,2.05e-12*(T32)**(1.52)*exp(-1736.0*invT) + +@format:idx,R,R,P,P,rate +150,H,OCN,HCN,O,1.87e-11*(T32)**(0.90)*exp(-2924.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +151,N,C2,CN,C,5.00e-11 + +@format:idx,R,R,P,P,rate +152,C,CH,C2,H,6.59e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +153,H,C2,CH,C,4.67e-10*(T32)**(0.50)*exp(-30450.0*invT) + +@format:idx,R,R,P,P,rate +154,H,OCN,NH,CO,1.26e-10*exp(-515.0*invT) + +@format:idx,R,R,P,P,rate +155,N,OH,O,NH,1.88e-11*(T32)**(0.10)*exp(-10700.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +156,N,SiO+,NO,Si+,2.10e-10 + +@format:idx,R,R,P,rate +157,C,E,C-,2.25e-15 +@storeonce_stop + +@format:idx,R,R,P,P,rate +158,NH,S,HS,N,1.73e-11*(T32)**(0.50)*exp(-4000.0*invT) + +@format:idx,R,R,P,P,rate +159,H2,O,OH,H,3.14e-13*(T32)**(2.70)*exp(-3150.0*invT) + +@format:idx,R,R,P,P,rate +160,O,CS,S,CO,2.48e-10*(T32)**(-0.65)*exp(-783.0*invT) + +@format:idx,R,R,P,P,rate +161,OH,H2S,HS,H2O,6.30e-12*exp(-80.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +162,C,NH,CN,H,1.20e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +163,H,H2S,HS,H2,3.71e-12*(T32)**(1.94)*exp(-455.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +164,Mg,HCO+,HCO,Mg+,2.90e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +165,CH,N,CN,H,1.66e-10*(T32)**(-0.09) + +@format:idx,R,R,P,rate +166,C,C,C2,4.36e-18*(T32)**(0.35)*exp(-161.3*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +167,H+,S,S+,H,1.30e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +168,O,C2,CO,C,2.00e-10*(T32)**(-0.12) + +@format:idx,R,R,P,P,rate +169,C,OH,O,CH,2.25e-11*(T32)**(0.50)*exp(-14800.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +170,H,C-,CH,E,5.00e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +171,C,HS,S,CH,1.20e-11*(T32)**(0.58)*exp(-5880.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +172,H+,Fe,Fe+,H,7.40e-09 +@storeonce_stop + +@format:idx,R,R,P,rate +173,C,N,CN,5.72e-19*(T32)**(0.37)*exp(-51.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +174,OH,CS,H,OCS,1.70e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +175,N,CO2,NO,CO,3.20e-13*exp(-1710.0*invT) + +@format:idx,R,R,P,P,rate +176,H,CO2,CO,OH,3.38e-10*exp(-13163.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +177,C2,S,CS,C,1.00e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +178,H2,S+,HS+,H,1.10e-10*exp(-9860.0*invT) + +@format:idx,R,R,P,P,rate +179,N,HS,S,NH,1.73e-11*(T32)**(0.50)*exp(-9060.0*invT) + +@format:idx,R,R,P,P,rate +180,O,N2,NO,N,2.51e-10*exp(-38602.0*invT) + +@format:idx,R,R,P,P,rate +181,CH,O,CO,H,6.02e-11*(T32)**(0.10)*exp(+4.5*invT) + +@format:idx,R,R,P,P,rate +182,H,O+,O,H+,5.66e-10*(T32)**(0.36)*exp(+8.6*invT) + +@format:idx,R,R,P,P,rate +183,N,OH,NO,H,6.05e-11*(T32)**(-0.23)*exp(-14.9*invT) + +@format:idx,R,R,P,P,rate +184,H+,O,O+,H,6.86e-10*(T32)**(0.26)*exp(-224.3*invT) + +@format:idx,R,R,P,P,rate +185,H,SO,HS,O,1.73e-11*(T32)**(0.50)*exp(-19930.0*invT) + +@format:idx,R,R,P,rate +186,O,Si,SiO,5.52e-18*(T32)**(0.31) + +@format:idx,R,R,P,rate +187,S+,E,S,5.49e-12*(T32)**(-0.59) + +@storeonce_start +@format:idx,R,R,P,P,rate +188,HS,HS,H2S,S,1.30e-11 + +@format:idx,R,R,P,P,rate +189,C,SO2,CO,SO,7.00e-11 +@storeonce_stop + +@format:idx,R,R,P,rate +190,Na+,E,Na,2.76e-12*(T32)**(-0.68) + +@storeonce_start +@format:idx,R,R,P,P,rate +191,S,HS,S2,H,4.50e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +192,H-,H,H2,E,4.82e-09*(T32)**(0.02)*exp(-4.3*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +193,C,SO,S,CO,3.50e-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +194,H,CH+,C+,H2,9.06e-10*(T32)**(-0.37)*exp(-29.1*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +195,Na,Mg+,Mg,Na+,1.00e-11 + +@format:idx,R,R,P,P,rate +196,H,H2+,H2,H+,6.40e-10 +@storeonce_stop + +@format:idx,R,R,P,rate +197,Si+,E,Si,4.26e-12*(T32)**(-0.62) + +@format:idx,R,R,P,P,rate +198,C,NS,S,CN,1.50e-10*(T32)**(-0.16) + +@format:idx,R,R,P,P,rate +199,O-,H+,O,H,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +200,CH,O,HCO+,E,1.09e-11*(T32)**(-2.19)*exp(-165.1*invT) + +@format:idx,R,R,P,P,rate +201,SiH+,E,Si,H,2.00e-07*(T32)**(-0.50) + +@storeonce_start +@format:idx,R,R,P,P,rate +202,C,SiO+,Si+,CO,1.00e-09 + +@format:idx,R,R,P,P,rate +203,H-,O,OH,E,1.00e-09 + +@format:idx,R,R,P,P,rate +204,C,OH,CO,H,1.00e-10 + +@format:idx,R,R,P,P,rate +205,OH,Si,SiO,H,1.00e-10 + +@format:idx,R,R,P,P,rate +206,H2+,C,CH+,H,2.40e-09 +@storeonce_stop + +@format:idx,R,R,P,rate +207,C,S,CS,4.36e-19*(T32)**(0.22) + +@format:idx,R,R,P,P,rate +208,H,OH,O,H2,6.99e-14*(T32)**(2.80)*exp(-1950.0*invT) + +@format:idx,R,R,P,P,rate +209,CH+,E,C,H,1.50e-07*(T32)**(-0.42) + +@format:idx,R,R,P,P,rate +210,O-,Fe+,O,Fe,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +211,N,SO,S,NO,1.73e-11*(T32)**(0.50)*exp(-750.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +212,O,NS,S,NO,1.00e-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +213,O,H2O,OH,OH,1.85e-11*(T32)**(0.95)*exp(-8571.0*invT) + +@format:idx,R,R,P,P,rate +214,H-,Mg+,H,Mg,7.51e-08*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +215,H2,CN,HCN,H,4.04e-13*(T32)**(2.87)*exp(-820.0*invT) + +@format:idx,R,R,P,P,rate +216,C,O2,CO,O,5.56e-11*(T32)**(0.41)*exp(+26.9*invT) + +@format:idx,R,R,P,P,rate +217,H,NS,S,NH,7.27e-11*(T32)**(0.50)*exp(-20735.0*invT) + +@storeonce_start +@format:idx,R,R,P,P,rate +218,O,CN,CO,N,2.54e-11 + +@format:idx,R,R,P,P,rate +219,OH,CN,OCN,H,7.00e-11 +@storeonce_stop + +################################## +# Added from primordial3 +# commented ones are already in the UMIST database +@format:idx,R,R,R,P,P,P,P,Tmin,Tmax,rate +#Janev 1987 +220,H,E,,H+,E,E,,NONE,NONE,exp(-32.71396786d0+13.5365560d0*lnTe-5.73932875d0*(lnTe**2)+1.56315498d0*(lnTe**3)-0.28770560d0*(lnTe**4)+3.48255977d-2*(lnTe**5)-2.63197617d-3*(lnTe**6)+1.11954395d-4*(lnTe**7)-2.03914985d-6*(lnTe**8)) + +#Janev 1987 +221,HE,E,,HE+,E,E,,NONE,NONE,exp(-44.09864886d0+23.91596563d0*lnTe-10.7532302d0*(lnTe**2)+3.05803875d0*(lnTe**3)-0.56851189d0*(lnTe**4)+6.79539123d-2*(lnTe**5)-5.00905610d-3*(lnTe**6)+2.06723616d-4*(lnTe**7)-3.64916141d-6*(lnTe**8)) + +# fit by Savin et al. 2004, see also Glover et al. 2010 !NEW! +@var:asav = 2.1237150d4 +@var:bsav1=-3.3232183d-7 +@var:bsav2= 3.3735382d-7 +@var:bsav3=-1.4491368d-7 +@var:bsav4= 3.4172805d-8 +@var:bsav5=-4.7813728d-9 +@var:bsav6= 3.9731542d-10 +@var:bsav7=-1.8171411d-11 +@var:bsav8= 3.5311932d-13 +@var:sumsav=bsav1+bsav2*log(Tgas)+bsav3*(log(Tgas))**2+bsav4*(log(Tgas))**3+bsav5*(log(Tgas))**4+bsav6*(log(Tgas))**5+bsav7*(log(Tgas))**6+bsav8*(log(Tgas))**7 +222,H2,H+,,H2+,H,,,.GE.1.d2,.LE.3.d4,sumsav*exp(-asav*invT) + +# Capitelli et al. 2007 ! NEW REACTION! +223,H2,E,,H,H-,,,NONE,NONE,3.55d1*Tgas**(-2.28)*exp(-46707./Tgas) + +#Janev 1987 +224,H-,E,,H,E,E,,NONE,NONE,exp(-18.01849334273d0+2.360852208681d0*lnTe-0.2827443061704d0*lnTe**2+0.01623316639567d0*lnTe**3-0.03365012031362999d0*lnTe**4+0.01178329782711d0*lnTe**5-0.001656194699504d0*lnTe**6+0.0001068275202678d0*lnTe**7-2.631285809207d-6*lnTe**8) + +#Abel et al. 1997, based on Janev 1987 +225,H-,H,,H,H,E,,>1.16e3,NONE,exp(-20.37260896533324d0+1.139449335841631d0*lnTe-0.1421013521554148d0*lnTe**2+0.00846445538663d0*lnTe**3-0.0014327641212992d0*lnTe**4+0.0002012250284791d0*lnTe**5+0.0000866396324309d0*lnTe**6-0.00002585009680264d0*lnTe**7+2.4555011970392d-6*lnTe**8-8.06838246118d-8*lnTe**9) + +#Poulart 1978 +226,H-,H+,,H2+,E,,,NONE,NONE,1.d-8*Tgas**(-0.4d0) + +#Forrey 2013 !NEW! +227,H,H,H,H2,H,,,NONE,NONE,6.d-32*Tgas**(-0.25d0)+2.d-31*Tgas**(-0.5d0) + +#Glover&Abel 2008 +228,H2,H,H,H2,H2,,,NONE,NONE,(6.d-32*Tgas**(-0.25d0)+2.d-31*Tgas**(-0.5d0))/8.d0 + +#Glover&Abel 2008 +229,H,H,HE,H2,HE,,,NONE,NONE,6.9d-32*Tgas**(-0.4d0) + +#KIDA +#NA+ production +@storeonce_start +230,H+,NA,,NA+,H,,,1.d1,1d4,1.20e-09 +@storeonce_stop + +##################################### +#cosmic ray reaction from UMIST +#scaled with user_crflux = 1.36e-17 +@CR_start +@format:idx,R,P,P,rate +231,H2,H+,H-,0.000286764705882*user_crflux + +@format:idx,R,P,P,Tmin,Tmax,rate +232,C,C+,E,10,41000,1.69117647059*user_crflux + +@format:idx,R,P,P,Tmin,Tmax,rate +233,H,H+,E,10,41000,0.439705882353*user_crflux + +@format:idx,R,P,P,Tmin,Tmax,rate +234,N,N+,E,10,41000,1.98529411765*user_crflux + +@format:idx,R,P,P,rate +235,CO,CO+,E,2.86764705882*user_crflux + +@format:idx,R,P,P,P,rate +236,H2,H+,H,E,0.0210294117647*user_crflux + +@format:idx,R,P,P,rate +237,H2,H,H,0.0955882352941*user_crflux + +@format:idx,R,P,P,Tmin,Tmax,rate +238,He,He+,E,10,41000,0.477941176471*user_crflux + +@format:idx,R,P,P,Tmin,Tmax,rate +239,O,O+,E,10,41000,2.5*user_crflux + +@format:idx,R,P,P,rate +240,H2,H2+,E,0.882352941176*user_crflux + +##################################### +#extra cosmic ray reaction from KIDA +@format:idx,R,P,P,rate +241,N2,N,N,5.000e+00*user_crflux + +@format:idx,R,P,P,rate +242,CO,C,O,5.000e+00*user_crflux +@CR_stop + +##################################### +#added to get recCheck OK/no sinks +@format:idx,R,R,P,rate +243,C+,E,C,2.36e-12*(T32)**(-0.29)*exp(+17.6*invT) + +@format:idx,R,R,P,rate +244,N+,E,N,3.50e-12*(T32)**(-0.53)*exp(+3.2*invT) + +@format:idx,R,R,P,P,rate +245,CO+,E,O,C,2.00e-07*(T32)**(-0.48) + +@storeonce_start +@format:idx,R,R,P,P,P,rate +246,He+,SiO2,O2,Si+,He,2.00e-09 +@storeonce_stop + +@format:idx,R,R,P,P,rate +247,H+,NH,NH+,H,2.10e-09*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +248,HS+,E,S,H,2.00e-07*(T32)**(-0.50) + +@format:idx,R,R,P,P,rate +249,HCO+,E,CO,H,2.40e-07*(T32)**(-0.69) + +@format:idx,R,R,P,P,P,rate +250,He+,HF,F+,H,He,1.10e-08*(T32)**(-0.50) + +@storeonce_start +@format:idx,R,R,P,P,rate +251,H2,F+,H2+,F,6.24e-10 +@storeonce_stop + +@format:idx,R,R,P,rate +252,F+,E,F,auto + +################################## +#Add to get PN and PO like the full network +#From react_cloud (E.Herbst) aka KIDA +#get PN +@storeonce_start +@format:idx,R,R,P,P,rate +253,N,PN,P,N2,1.00e-18 +@storeonce_stop + +@format:idx,R,R,P,P,rate +254,N,PO,PN,O,3.00e-11*(T32)**(-0.60) + +#get PO +@storeonce_start +@format:idx,R,R,P,P,rate +255,P,O2,PO,O,1.00e-13 + +@format:idx,R,R,P,P,rate +256,N,PO,P,NO,2.55e-12 +@storeonce_stop + +# # SiO nucleation reactions +# # Cluster growth reactions +# # cluster_growth_rate(index_of_monomer, cluster_size, temperature, sticking_coefficient) +@format:idx,R,R,P,rate +257,SiO,SiO,Si2O2,cluster_growth_rate(idx_SiO, 1, Tgas) + +@format:idx,R,R,P,rate +258,Si2O2,SiO,Si3O3,cluster_growth_rate(idx_SiO, 2, Tgas) + +@format:idx,R,R,P,rate +259,Si3O3,SiO,Si4O4,cluster_growth_rate(idx_SiO, 3, Tgas) + +@format:idx,R,R,P,rate +260,Si4O4,SiO,Si5O5,cluster_growth_rate(idx_SiO, 4, Tgas) + +@format:idx,R,R,P,rate +261,Si5O5,SiO,Si6O6,cluster_growth_rate(idx_SiO, 5, Tgas) + +@format:idx,R,R,P,rate +262,Si6O6,SiO,Si7O7,cluster_growth_rate(idx_SiO, 6, Tgas) + +@format:idx,R,R,P,rate +263,Si7O7,SiO,Si8O8,cluster_growth_rate(idx_SiO, 7, Tgas) + +@format:idx,R,R,P,rate +264,Si8O8,SiO,Si9O9,cluster_growth_rate(idx_SiO, 8, Tgas) + + +# Cluster destruction reactions +# Based on detailed balance +@format:idx,R,P,P,rate +265,Si2O2,SiO,SiO,cluster_growth_rate(idx_SiO, 1, Tgas) * revKc_with_GFE(Tgas, [idx_Si2O2], [idx_SiO,idx_SiO]) + +@format:idx,R,P,P,rate +266,Si3O3,Si2O2,SiO,cluster_growth_rate(idx_SiO, 2, Tgas) * revKc_with_GFE(Tgas, [idx_Si3O3], [idx_Si2O2,idx_SiO]) + +@format:idx,R,P,P,rate +267,Si4O4,Si3O3,SiO,cluster_growth_rate(idx_SiO, 3, Tgas) * revKc_with_GFE(Tgas, [idx_Si4O4], [idx_Si3O3,idx_SiO]) + +@format:idx,R,P,P,rate +268,Si5O5,Si4O4,SiO,cluster_growth_rate(idx_SiO, 4, Tgas) * revKc_with_GFE(Tgas, [idx_Si5O5], [idx_Si4O4,idx_SiO]) + +@format:idx,R,P,P,rate +269,Si6O6,Si5O5,SiO,cluster_growth_rate(idx_SiO, 5, Tgas) * revKc_with_GFE(Tgas, [idx_Si6O6], [idx_Si5O5,idx_SiO]) + +@format:idx,R,P,P,rate +270,Si7O7,Si6O6,SiO,cluster_growth_rate(idx_SiO, 6, Tgas) * revKc_with_GFE(Tgas, [idx_Si7O7], [idx_Si6O6,idx_SiO]) + +@format:idx,R,P,P,rate +271,Si8O8,Si7O7,SiO,cluster_growth_rate(idx_SiO, 7, Tgas) * revKc_with_GFE(Tgas, [idx_Si8O8], [idx_Si7O7,idx_SiO]) + +@format:idx,R,P,P,rate +272,Si9O9,Si8O8,SiO,cluster_growth_rate(idx_SiO, 8, Tgas) * revKc_with_GFE(Tgas, [idx_Si9O9], [idx_Si8O8,idx_SiO]) + + +# Cluster growth reactions +# cluster_growth_rate(index_of_monomer, cluster_size, temperature, sticking_coefficient) +@format:idx,R,R,P,rate +273,TiO2,TiO2,Ti2O4,cluster_growth_rate(idx_TiO2, 1, Tgas) + +@format:idx,R,R,P,rate +274,Ti2O4,TiO2,Ti3O6,cluster_growth_rate(idx_TiO2, 2, Tgas) + +@format:idx,R,R,P,rate +275,Ti3O6,TiO2,Ti4O8,cluster_growth_rate(idx_TiO2, 3, Tgas) + +@format:idx,R,R,P,rate +276,Ti4O8,TiO2,Ti5O10,cluster_growth_rate(idx_TiO2, 4, Tgas) + +@format:idx,R,R,P,rate +277,Ti5O10,TiO2,Ti6O12,cluster_growth_rate(idx_TiO2, 5, Tgas) + +@format:idx,R,R,P,rate +278,Ti6O12,TiO2,Ti7O14,cluster_growth_rate(idx_TiO2, 6, Tgas) + +@format:idx,R,R,P,rate +279,Ti7O14,TiO2,Ti8O16,cluster_growth_rate(idx_TiO2, 7, Tgas) + +@format:idx,R,R,P,rate +280,Ti8O16,TiO2,Ti9O18,cluster_growth_rate(idx_TiO2, 8, Tgas) + +@format:idx,R,R,P,rate +281,Ti9O18,TiO2,Ti10O20,cluster_growth_rate(idx_TiO2, 9, Tgas) + +# Cluster destruction reactions +# Based on detailed balance +@format:idx,R,P,P,rate +282,Ti2O4,TiO2,TiO2,cluster_growth_rate(idx_TiO2, 1, Tgas) * revKc_with_GFE(Tgas, [idx_Ti2O4], [idx_TiO2,idx_TiO2]) + +@format:idx,R,P,P,rate +283,Ti3O6,Ti2O4,TiO2,cluster_growth_rate(idx_TiO2, 2, Tgas) * revKc_with_GFE(Tgas, [idx_Ti3O6], [idx_Ti2O4,idx_TiO2]) + +@format:idx,R,P,P,rate +284,Ti4O8,Ti3O6,TiO2,cluster_growth_rate(idx_TiO2, 3, Tgas) * revKc_with_GFE(Tgas, [idx_Ti4O8], [idx_Ti3O6,idx_TiO2]) + +@format:idx,R,P,P,rate +285,Ti5O10,Ti4O8,TiO2,cluster_growth_rate(idx_TiO2, 4, Tgas) * revKc_with_GFE(Tgas, [idx_Ti5O10], [idx_Ti4O8,idx_TiO2]) + +@format:idx,R,P,P,rate +286,Ti6O12,Ti5O10,TiO2,cluster_growth_rate(idx_TiO2, 5, Tgas) * revKc_with_GFE(Tgas, [idx_Ti6O12], [idx_Ti5O10,idx_TiO2]) + +@format:idx,R,P,P,rate +287,Ti7O14,Ti6O12,TiO2,cluster_growth_rate(idx_TiO2, 6, Tgas) * revKc_with_GFE(Tgas, [idx_Ti7O14], [idx_Ti6O12,idx_TiO2]) + +@format:idx,R,P,P,rate +288,Ti8O16,Ti7O14,TiO2,cluster_growth_rate(idx_TiO2, 7, Tgas) * revKc_with_GFE(Tgas, [idx_Ti8O16], [idx_Ti7O14,idx_TiO2]) + +@format:idx,R,P,P,rate +289,Ti9O18,Ti8O16,TiO2,cluster_growth_rate(idx_TiO2, 8, Tgas) * revKc_with_GFE(Tgas, [idx_Ti9O18], [idx_Ti8O16,idx_TiO2]) + +@format:idx,R,P,P,rate +290,Ti10O20,Ti9O18,TiO2,cluster_growth_rate(idx_TiO2, 9, Tgas) * revKc_with_GFE(Tgas, [idx_Ti10O20], [idx_Ti9O18,idx_TiO2]) + +# TIO reactions +# Campbell and McClean 1993 DOI: 10.1021/j100132a024 +# Note: +# Only the reactions of Ti with NO and CO2 were found to depend on the argon buffer gas pressure. +# Termolecular rate constants at 300 K were determined to be 5.8e-31 cm^6 s-1 +# and 3.5e-32 cm^6 s-1 for NO and CO2,respectively. +@format:idx,R,R,P,P,Tmin,Tmax,rate +291,Ti,O2,TiO,O,300,600,1.69d-10*exp(-11.6/(R * Tgas)) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +292,Ti,N2O,TiO,N2,300,600,1.74d-10*exp(-14.3/(R * Tgas)) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +293,Ti,NO,TiO,N,300,600,3.28d-11*exp(-3.62/(R * Tgas)) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +294,Ti,CO2,TiO,CO,300,600,7.d-11*exp(-14.9/(R * Tgas)) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +295,Ti,SO2,TiO,SO,300,600,1.7d-10*exp(-2.66/(R * Tgas)) + +@storeonce_start +@format:idx,R,R,P,P,Tmin,Tmax,rate +296,Ti,NO2,TiO,NO,300,500,9d-11 +@storeonce_stop + +#reverse +@format:idx,R,R,P,P,Tmin,Tmax,rate +297,TiO,O,Ti,O2,300,600,1.69d-10*exp(-11.6/(R * Tgas))*revKc_with_GFE(Tgas,[idx_TiO,idx_O],[idx_Ti,idx_O2]) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +298,TiO,N2,Ti,N2O,300,600,1.74d-10*exp(-14.3/(R * Tgas))*revKc_with_GFE(Tgas,[idx_TiO,idx_N2],[idx_Ti,idx_N2O]) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +299,TiO,N,Ti,NO,300,600,3.28d-11*exp(-3.62/(R * Tgas))*revKc_with_GFE(Tgas,[idx_TiO,idx_N],[idx_Ti,idx_NO]) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +300,TiO,CO,Ti,CO2,300,600,7.d-11*exp(-14.9/(R * Tgas))*revKc_with_GFE(Tgas,[idx_TiO,idx_CO],[idx_Ti,idx_CO2]) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +301,TiO,SO,Ti,SO2,300,600,1.7d-10*exp(-2.66/(R * Tgas))*revKc_with_GFE(Tgas,[idx_TiO,idx_SO],[idx_Ti,idx_SO2]) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +302,TiO,NO,Ti,NO2,300,500,9d-11*revKc_with_GFE(Tgas,[idx_TiO,idx_NO],[idx_Ti,idx_NO2]) + +# Higuchi+2008 DOI: 10.1016/j.cplett.2007.12.067 +@storeonce_start +@format:idx,R,R,P,P,Tmin,Tmax,rate +303,TiO,O2,TiO2,O,300,300,7.07d-12 +@storeonce_stop +# Note: products are unsure... + +#reverse +@format:idx,R,R,P,P,Tmin,Tmax,rate +304,TiO2,O,TiO,O2,300,300,7.07d-12*revKc_with_GFE(Tgas,[idx_TiO2,idx_O],[idx_TiO,idx_O2]) + +#Ritter and Weisshaar 1989 DOI: 10.1021/j100341a076 +@storeonce_start +@format:idx,R,R,P,P,Tmin,Tmax,rate +305,TiO,NO,TiO2,N,300,300,2.2d-12 +@storeonce_stop +# Note: products are unsure... + +#reverse +@format:idx,R,R,P,P,Tmin,Tmax,rate +306,TiO2,N,TiO,NO,300,300,2.2d-12*revKc_with_GFE(Tgas,[idx_TiO2,idx_N],[idx_TiO,idx_NO]) + +# Plane 2013 DOI: 10.1098/rsta.2012.0335 +@format:idx,R,R,P,P,rate +307,TiO,OH,TiO2,H,1.4e-11*(1000./Tgas)**0.39 + +@format:idx,R,R,P,P,rate +308,TiO2,H,TiO,OH,5.0e-10*exp(-15570/Tgas) + +# Cluster growth reactions +# cluster_growth_rate(index_of_monomer, cluster_size, temperature, sticking_coefficient) +@format:idx,R,R,P,rate +309,Al2O3,Al2O3,Al4O6,cluster_growth_rate(idx_Al2O3, 1, Tgas) + +@format:idx,R,R,P,rate +310,Al4O6,Al2O3,Al6O9,cluster_growth_rate(idx_Al2O3, 2, Tgas) + +@format:idx,R,R,P,rate +311,Al6O9,Al2O3,Al8O12,cluster_growth_rate(idx_Al2O3, 3, Tgas) + +@format:idx,R,R,P,rate +312,Al8O12,Al2O3,Al10O15,cluster_growth_rate(idx_Al2O3, 4, Tgas) + +@format:idx,R,R,P,rate +313,Al10O15,Al2O3,Al12O18,cluster_growth_rate(idx_Al2O3, 5, Tgas) + +@format:idx,R,R,P,rate +314,Al12O18,Al2O3,Al14O21,cluster_growth_rate(idx_Al2O3, 6, Tgas) + +# Cluster destruction reactions +# Based on detailed balance +@format:idx,R,P,P,rate +315,Al4O6,Al2O3,Al2O3,cluster_growth_rate(idx_Al2O3, 1, Tgas) * revKc_with_GFE(Tgas, [idx_Al4O6], [idx_Al2O3,idx_Al2O3]) + +@format:idx,R,P,P,rate +316,Al6O9,Al4O6,Al2O3,cluster_growth_rate(idx_Al2O3, 2, Tgas) * revKc_with_GFE(Tgas, [idx_Al6O9], [idx_Al4O6,idx_Al2O3]) + +@format:idx,R,P,P,rate +317,Al8O12,Al6O9,Al2O3,cluster_growth_rate(idx_Al2O3, 3, Tgas) * revKc_with_GFE(Tgas, [idx_Al8O12], [idx_Al6O9,idx_Al2O3]) + +@format:idx,R,P,P,rate +318,Al10O15,Al8O12,Al2O3,cluster_growth_rate(idx_Al2O3, 4, Tgas) * revKc_with_GFE(Tgas, [idx_Al10O15], [idx_Al8O12,idx_Al2O3]) + +@format:idx,R,P,P,rate +319,Al12O18,Al10O15,Al2O3,cluster_growth_rate(idx_Al2O3, 5, Tgas) * revKc_with_GFE(Tgas, [idx_Al12O18], [idx_Al10O15,idx_Al2O3]) + +@format:idx,R,P,P,rate +320,Al14O21,Al12O18,Al2O3,cluster_growth_rate(idx_Al2O3, 6, Tgas) * revKc_with_GFE(Tgas, [idx_Al14O21], [idx_Al12O18,idx_Al2O3]) + +# # Al reactions +# ########################## +# ########################## +# data/database/ALchemistry.dat +# Starik+2014, Combustion and Flame 161, 1659 +# and references therein +@format:idx,R,R,P,P,rate +321,Al,O2,AlO,O,3.836d-11*Tgas**(.17) + +@format:idx,R,R,P,P,rate +322,AlO,O2,AlO2,O,1.182d-11*Tgas**(.5)*exp(-1.315d4*invT) + +# manually added ntot term bacause this is a high density regime +# and a collision partner can aid in crossing this high barrier +@format:idx,R,P,P,rate +323,AlO2,AlO,O,1.661d-9*exp(-44564.6*invT) * ntot + +# manually added ntot term bacause this is a high density regime +# and a collision partner can aid in crossing this high barrier +@format:idx,R,P,P,rate +324,Al2O,AlO,Al,1.661d-9*exp(-67035.7*invT) * ntot + +# manually added ntot term bacause this is a high density regime +# and a collision partner can aid in crossing this high barrier +@format:idx,R,P,P,rate +325,Al2O2,AlO,AlO,1.661d-9*exp(-59335.7*invT) * ntot + +# manually added ntot term bacause this is a high density regime +# and a collision partner can aid in crossing this high barrier +@format:idx,R,P,P,rate +326,Al2O2,Al,AlO2,1.661d-9*exp(-74937.1*invT) * ntot + +# manually added ntot term bacause this is a high density regime +# and a collision partner can aid in crossing this high barrier +@format:idx,R,P,P,rate +327,Al2O2,Al2O,O,1.661d-9*exp(-52466.*invT) * ntot + +# manually added ntot term bacause this is a high density regime +# and a collision partner can aid in crossing this high barrier +@format:idx,R,P,P,rate +328,Al2O3,Al2O2,O,4.982d-9*exp(-49144.4*invT) * ntot + +# manually added ntot term bacause this is a high density regime +# and a collision partner can aid in crossing this high barrier +@format:idx,R,P,P,rate +329,Al2O3,AlO2,AlO,4.982d-9*exp(-63915.4*invT) * ntot + +@format:idx,R,R,P,P,rate +330,Al,H2O,AlOH,H,3.255d-10*Tgas**(-0.09)*exp(-3744.*invT) + 4.616d-18*Tgas**(2.06)*exp(-438.*invT) + +@format:idx,R,R,P,P,rate +331,AlOH,H,AlO,H2,4.417d-16*Tgas**(.82)*exp(-7844.*invT) + +@format:idx,R,R,P,P,rate +332,AlOH,O,AlO,OH,1.251d-11*Tgas**(.5)*exp(-4450.*invT) + +@format:idx,R,R,P,P,rate +333,AlO,AlH,AlOH,Al,4.218d-11*Tgas**(.17) + +@format:idx,R,R,P,P,rate +334,AlO2,H2O,AlO2H,OH,4.367d-22*Tgas**(3.26)*exp(-3430.*invT) + +@format:idx,R,R,P,P,rate +335,AlO2,H2,AlO2H,H,7.672d-14*Tgas**(1.39)*exp(-2940.*invT) + +@format:idx,R,R,P,P,rate +336,AlO2,OH,AlO2H,O,4.268d-11*Tgas**(.17) + +@format:idx,R,R,P,P,rate +337,AlO2H,O,AlOH,O2,3.554d-11*Tgas**(.17) + +# high density limit +@format:idx,R,R,P,rate +338,AlO2H,H,AlO2H2,1.227d-10*Tgas**(.17) + +# high density limit +@format:idx,R,R,P,rate +339,AlOH,OH,AlO2H2,4.118d-11*Tgas**(.16)*exp(23.*invT) + +# high density limit +@format:idx,R,R,P,rate +340,AlO2H2,OH,AlO3H3,4.218d-11*Tgas**(.15)*exp(48.*invT) + +# 3 body reactions +@format:idx,R,R,R,P,P,rate +341,Al,O,H2O,AlO,H2O,2.317d-31/Tgas + +@format:idx,R,R,R,P,P,rate +342,Al,O,O2,AlO,O2,9.101d-31/Tgas + +@format:idx,R,R,R,P,P,rate +343,Al,O,H2,AlO,H2,9.101d-31/Tgas + +@format:idx,R,R,R,P,P,rate +344,Al,H2O,H2O,AlO2H2,H2,3.198e-33*Tgas**(.5) + +@format:idx,R,R,R,P,P,P,rate +345,Al,H2O,H2O,AlOH,H,H2O,3.198e-33*Tgas**(.5)*exp(-1260.*invT) + +@noTabNext +@format:idx,R,R,P,rate +346,AlO,H,AlOH,5.489d-33*Tgas**(.5)*ntot + +@noTabNext +@format:idx,R,R,P,rate +347,Al,OH,AlOH,5.957d-33*Tgas**(.5)*ntot + +@noTabNext +@format:idx,R,R,P,rate +348,AlO,OH,AlO2H,7.226e-33*Tgas**(.5)*ntot + +@noTabNext +@format:idx,R,R,P,rate +349,AlO2,H,AlO2H,6.04d-33*Tgas**(.5)*ntot + +@noTabNext +@format:idx,R,R,P,rate +350,AlOH,O,AlO2H,8.107d-33*Tgas**(.5)*ntot + +@noTabNext +@format:idx,R,R,P,rate +351,Al,H,AlH,2.600d-33*Tgas**(.5)*ntot + + +# #reversed reactions +@format:idx,R,R,P,P,rate +352,AlO,O,Al,O2,3.836d-11*Tgas**(.17) * revKc_with_GFE(Tgas, [idx_AlO,idx_O], [idx_Al,idx_O2]) + +@format:idx,R,R,P,P,rate +353,AlO2,O,AlO,O2,1.182d-11*Tgas**(.5)*exp(-1.315d4*invT) * revKc_with_GFE(Tgas, [idx_AlO2,idx_O], [idx_AlO,idx_O2]) + +# manually added third body (ntot) term bacause this is a high density regime +# and this is not an association reaction +# also see non-reversed reaction +@format:idx,R,R,P,rate +354,AlO,O,AlO2,1.661d-9*exp(-44564.6*invT) * ntot * revKc_with_GFE(Tgas, [idx_AlO,idx_O], [idx_AlO2]) + +# manually added third body (ntot) term bacause this is a high density regime +# and this is not an association reaction +# also see non-reversed reaction +@format:idx,R,R,P,rate +355,AlO,Al,Al2O,1.661d-9*exp(-67035.7*invT) * ntot * revKc_with_GFE(Tgas, [idx_AlO,idx_Al], [idx_Al2O]) + +# manually added third body (ntot) term bacause this is a high density regime +# and this is not an association reaction +# also see non-reversed reaction +@format:idx,R,R,P,rate +356,AlO,AlO,Al2O2,1.661d-9*exp(-59335.7*invT) * ntot * revKc_with_GFE(Tgas, [idx_AlO,idx_AlO], [idx_Al2O2]) + +# manually added third body (ntot) term bacause this is a high density regime +# and this is not an association reaction +# also see non-reversed reaction +@format:idx,R,R,P,rate +357,Al,AlO2,Al2O2,1.661d-9*exp(-74937.1*invT) * ntot * revKc_with_GFE(Tgas, [idx_Al,idx_AlO2], [idx_Al2O2]) + +# manually added third body (ntot) term bacause this is a high density regime +# and this is not an association reaction +# also see non-reversed reaction +@format:idx,R,R,P,rate +358,Al2O,O,Al2O2,1.661d-9*exp(-52466.*invT) * ntot * revKc_with_GFE(Tgas, [idx_Al2O,idx_O], [idx_Al2O2]) + +# manually added third body (ntot) term bacause this is a high density regime +# and this is not an association reaction +# also see non-reversed reaction +@format:idx,R,R,P,rate +359,Al2O2,O,Al2O3,4.982d-9*exp(-49144.4*invT) * ntot * revKc_with_GFE(Tgas, [idx_Al2O2,idx_O], [idx_Al2O3]) + +# manually added third body (ntot) term bacause this is a high density regime +# and this is not an association reaction +# also see non-reversed reaction +@format:idx,R,R,P,rate +360,AlO2,AlO,Al2O3,4.982d-9*exp(-63915.4*invT) * ntot * revKc_with_GFE(Tgas, [idx_AlO2,idx_AlO], [idx_Al2O3]) + +@format:idx,R,R,P,P,rate +361,AlOH,H,Al,H2O,(3.255d-10*Tgas**(-.09)*exp(-3744.*invT) + 4.616d-18*Tgas**(2.06)*exp(-438.*invT)) * revKc_with_GFE(Tgas, [idx_AlOH,idx_H], [idx_Al,idx_H2O]) + +@format:idx,R,R,P,P,rate +362,AlO,H2,AlOH,H,4.417d-16*Tgas**(.82)*exp(-7844.*invT) * revKc_with_GFE(Tgas, [idx_AlO,idx_H2], [idx_AlOH,idx_H]) + +@format:idx,R,R,P,P,rate +363,AlO,OH,AlOH,O,1.251d-11*Tgas**(.5)*exp(-4450.*invT) * revKc_with_GFE(Tgas, [idx_AlO,idx_OH], [idx_AlOH,idx_O]) + +@format:idx,R,R,P,P,rate +364,AlOH,Al,AlO,AlH,4.218d-11*Tgas**(.17) * revKc_with_GFE(Tgas, [idx_AlOH,idx_Al], [idx_AlO,idx_AlH]) + +@format:idx,R,R,P,P,rate +365,AlO2H,OH,AlO2,H2O,4.367d-22*Tgas**(3.26)*exp(-3430.*invT) * revKc_with_GFE(Tgas, [idx_AlO2H,idx_OH], [idx_AlO2,idx_H2O]) + +@format:idx,R,R,P,P,rate +366,AlO2H,H,AlO2,H2,7.672d-14*Tgas**(1.39)*exp(-2940.*invT) * revKc_with_GFE(Tgas, [idx_AlO2H,idx_H], [idx_AlO2,idx_H2]) + +@format:idx,R,R,P,P,rate +367,AlO2H,O,AlO2,OH,4.268d-11*Tgas**(.17) * revKc_with_GFE(Tgas, [idx_AlO2H,idx_O], [idx_AlO2,idx_OH]) + +@format:idx,R,R,P,P,rate +368,AlOH,O2,AlO2H,O,3.554d-11*Tgas**(.17) * revKc_with_GFE(Tgas, [idx_AlOH,idx_O2], [idx_AlO2H,idx_O]) + +@format:idx,R,P,P,rate +369,AlO2H2,AlO2H,H,1.227d-10*Tgas**(.17) * revKc_with_GFE(Tgas, [idx_AlO2H2], [idx_AlO2H,idx_H]) + +@format:idx,R,P,P,rate +370,AlO2H2,AlOH,OH,4.118d-11*Tgas**(.16)*exp(23.*invT) * revKc_with_GFE(Tgas, [idx_AlO2H2], [idx_AlOH,idx_OH]) + +@format:idx,R,P,P,rate +371,AlO3H3,AlO2H2,OH,4.218d-11*Tgas**(.15)*exp(48.*invT) * revKc_with_GFE(Tgas, [idx_AlO3H3], [idx_AlO2H2,idx_OH]) + +# 3 body +@format:idx,R,R,P,P,P,rate +372,AlO,H2O,Al,O,H2O,2.317d-31/Tgas * revKc_with_GFE(Tgas, [idx_AlO], [idx_Al,idx_O]) + +@format:idx,R,R,P,P,P,rate +373,AlO,O2,Al,O,O2,9.101d-31/Tgas * revKc_with_GFE(Tgas, [idx_AlO], [idx_Al,idx_O]) + +@format:idx,R,R,P,P,P,rate +374,AlO,H2,Al,O,H2,9.101d-31/Tgas * revKc_with_GFE(Tgas, [idx_AlO], [idx_Al,idx_O]) + +@format:idx,R,R,P,P,P,rate +375,AlO2H2,H2,Al,H2O,H2O,3.198d-33*Tgas**(.5) * revKc_with_GFE(Tgas, [idx_AlO2H2,idx_H2], [idx_Al,idx_H2O,idx_H2O]) + +@format:idx,R,R,R,P,P,P,rate +376,AlOH,H,H2O,Al,H2O,H2O,3.198d-33*Tgas**(.5)*exp(-1260.*invT) * revKc_with_GFE(Tgas, [idx_AlOH,idx_H,idx_H2O], [idx_Al,idx_H2O,idx_H2O]) + +@noTabNext +@format:idx,R,P,P,rate +377,AlOH,AlO,H,5.489d-33*Tgas**(.5)*ntot * revKc_with_GFE(Tgas, [idx_AlOH], [idx_AlO,idx_H]) + +@noTabNext +@format:idx,R,P,P,rate +378,AlOH,Al,OH,5.957d-33*Tgas**(.5)*ntot * revKc_with_GFE(Tgas, [idx_AlOH], [idx_Al,idx_OH]) + +@noTabNext +@format:idx,R,P,P,rate +379,AlH,Al,H,2.600d-33*Tgas**(.5)*ntot * revKc_with_GFE(Tgas, [idx_AlH], [idx_Al,idx_H]) + +@noTabNext +@format:idx,R,P,P,rate +380,AlO2H,AlO,OH,7.226d-33*Tgas**(.5)*ntot * revKc_with_GFE(Tgas, [idx_AlO2H], [idx_AlO,idx_OH]) + +@noTabNext +@format:idx,R,P,P,rate +381,AlO2H,AlO2,H,6.04d-33*Tgas**(.5)*ntot * revKc_with_GFE(Tgas, [idx_AlO2H], [idx_AlO2,idx_H]) + +@noTabNext +@format:idx,R,P,P,rate +382,AlO2H,AlOH,O,8.107d-33*Tgas**(.5)*ntot * revKc_with_GFE(Tgas, [idx_AlO2H], [idx_AlOH,idx_O]) + +#not in data/database/ALchemistry.dat but still in Starik+2014 +@format:idx,R,R,P,P,rate +383,Al,HO2,AlO,OH,2.209d-11*Tgas**(0.17) + +@format:idx,R,R,P,P,rate +384,Al,HO2,AlH,O2,2.209d-11*Tgas**(0.17) + +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: k0 = 1.607d-9 * exp(-19962.*invT) +# @var: kinf = 2.42d-9 * exp(-23376.*invT) +# @var: beta = (1. + log10(k0 * ntot / kinf)**2 )**(-1.) +# @var: Fc = -4.1 * exp(-Tgas/21.6) + 5.1 * exp(-Tgas/493.) + exp(-942.*invT) +# 385,AlH2,AlH,H,k0 * ntot / (1 + k0*ntot/kinf) * Fc**beta +@noTabNext +@format:idx,R,P,P,rate +385,AlH2,AlH,H, troe_falloff( ( 1.607d-9 * exp(-19962.*invT) ), ( 2.42d-9 * exp(-23376.*invT) ), ( -4.1 * exp(-Tgas/21.6) + 5.1 * exp(-Tgas/493.) + exp(-942.*invT) ), ntot) + +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: k0 = 1.677d-9 * exp(-27089.*invT) +# @var: kinf = 2.46d-11 * exp(-30756.*invT) +# @var: beta = (1 + log10(k0 * ntot / kinf)**2 )**(-1.) +# @var: Fc = 0.94 * exp(-Tgas/885.) + 0.06 * exp(-Tgas/552.) + exp(-3807.*invT) +# 386,AlH3,AlH,H2,k0 * ntot / (1 + k0*ntot/kinf) * Fc**beta +@noTabNext +@format:idx,R,P,P,rate +386,AlH3,AlH,H2, troe_falloff( ( 1.677d-9 * exp(-27089.*invT) ), ( 2.46d-11 * exp(-30756.*invT) ), ( 0.94 * exp(-Tgas/885.) + 0.06 * exp(-Tgas/552.) + exp(-3807.*invT) ), ntot) + +@format:idx,R,R,P,P,rate +387,AlH,H,Al,H2,1.187d-10 * Tgas**(0.17) + +@storeonce_start +@format:idx,R,R,P,P,rate +388,AlH2,H,AlH,H2,3.321d-11 +@storeonce_stop + +@format:idx,R,R,P,P,rate +389,AlH3,H,AlH2,H2,7.888d-15 * Tgas**(1.5) + +@format:idx,R,R,P,P,rate +390,AlO,HO2,AlOH,O2,3.637d-10 * Tgas**(-0.08) * exp(35.*invT) + +@format:idx,R,R,P,P,rate +391,AlOH,HO2,AlO2H,OH,6.244d-11 * Tgas**(0.14) + +#reversed +@format:idx,R,R,P,P,rate +392,AlO,OH,Al,HO2,2.209d-11*Tgas**(0.17) * revKc_with_GFE(Tgas, [idx_AlO,idx_OH], [idx_Al,idx_HO2]) + +@format:idx,R,R,P,P,rate +393,AlH,O2,Al,HO2,2.209d-11*Tgas**(0.17) * revKc_with_GFE(Tgas, [idx_AlH,idx_O2], [idx_Al,idx_HO2]) + +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: k0 = 1.607d-9 * exp(-19962.*invT) +# @var: kinf = 2.42d-9 * exp(-23376.*invT) +# @var: beta = (1. + log10(k0 * ntot / kinf)**2 )**(-1.) +# @var: Fc = -4.1 * exp(-Tgas/21.6) + 5.1 * exp(-Tgas/493.) + exp(-942.*invT) +@noTabNext +@format:idx,R,R,P,rate +394,AlH,H,AlH2, revKc_with_GFE(Tgas, [idx_AlH,idx_H], [idx_AlH2]) * troe_falloff( ( 1.607d-9 * exp(-19962.*invT) ), ( 2.42d-9 * exp(-23376.*invT) ), ( -4.1 * exp(-Tgas/21.6) + 5.1 * exp(-Tgas/493.) + exp(-942.*invT) ), ntot) + +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: k0 = 1.677d-9 * exp(-27089.*invT) +# @var: kinf = 2.46d-11 * exp(-30756.*invT) +# @var: beta = (1 + log10(k0 * ntot / kinf)**2 )**(-1.) +# @var: Fc = 0.94 * exp(-Tgas/885.) + 0.06 * exp(-Tgas/552.) + exp(-3807.*invT) +@noTabNext +@format:idx,R,R,P,rate +395,AlH,H2,AlH3, revKc_with_GFE(Tgas, [idx_AlH,idx_H2], [idx_AlH3]) * troe_falloff( ( 1.677d-9 * exp(-27089.*invT) ), ( 2.46d-11 * exp(-30756.*invT) ), ( 0.94 * exp(-Tgas/885.) + 0.06 * exp(-Tgas/552.) + exp(-3807.*invT) ), ntot) + +@format:idx,R,R,P,P,rate +396,Al,H2,AlH,H,1.187d-10 * Tgas**(0.17) * revKc_with_GFE(Tgas, [idx_Al,idx_H2], [idx_AlH,idx_H]) + +@format:idx,R,R,P,P,rate +397,AlH,H2,AlH2,H,3.321d-11 * revKc_with_GFE(Tgas, [idx_AlH,idx_H2], [idx_AlH2,idx_H]) + +@format:idx,R,R,P,P,rate +398,AlH2,H2,AlH3,H,7.888d-15 * Tgas**(1.5) * revKc_with_GFE(Tgas, [idx_AlH2,idx_H2], [idx_AlH3,idx_H]) + +@format:idx,R,R,P,P,rate +399,AlOH,O2,AlO,HO2,3.637d-10 * Tgas**(-0.08) * exp(35.*invT) * revKc_with_GFE(Tgas, [idx_AlOH,idx_O2], [idx_AlO,idx_HO2]) + +@format:idx,R,R,P,P,rate +400,AlO2H,OH,AlOH,HO2,6.244d-11 * Tgas**(0.14) * revKc_with_GFE(Tgas, [idx_AlO2H,idx_OH], [idx_AlOH,idx_HO2]) + +# Sharipov & Starik 2016 +@format:idx,R,R,P,P,Tmin,Tmax,rate +401,Al,H2O2,AlOH,OH,300,4000,1.827d-11 * Tgas**(0.159) * exp(91.1*invT) + +@format:idx,R,R,P,Tmin,Tmax,rate +402,Al,H2O2,AlO2H2,300,4000,1.827d-11 * Tgas**(0.159) * exp(91.1*invT) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +403,AlO,H2O2,AlOH,HO2,300,4000,6.044d-11 * Tgas**(0.152) * exp(78.8*invT) + +# @format:idx,R,R,P,Tmin,Tmax,rate +# 404,AlO,H2O2,AlO3H2,300,4000,6.044d-11 * Tgas**(0.152) * exp(78.8*invT) +# REMOVED because not thermochemical data + +@format:idx,R,R,P,P,Tmin,Tmax,rate +404,AlOH,H2O2,AlO2H2,OH,300,4000,4.367d-11 * Tgas**(0.18) * exp(15.4*invT) + +@format:idx,R,R,P,Tmin,Tmax,rate +405,AlOH,H2O2,AlO3H3,300,4000,4.367d-11 * Tgas**(0.18) * exp(15.4*invT) + +#note that AlO2H is OAlOH and not AlOOH +@format:idx,R,R,P,P,Tmin,Tmax,rate +406,AlOH,H2O2,AlO2H,H2O,300,4000,4.367d-11 * Tgas**(0.18) * exp(15.4*invT) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +407,AlH,HO2,AlOH,OH,300,4000,4.948d-11 * Tgas**(0.167) * exp(0.3*invT) + +# Reversed +@format:idx,R,R,P,P,Tmin,Tmax,rate +408,AlOH,OH,Al,H2O2,300,4000,1.827d-11 * Tgas**(0.159) * exp(91.1*invT) * revKc_with_GFE(Tgas, [idx_AlOH,idx_OH], [idx_Al,idx_H2O2]) + +@format:idx,R,P,P,Tmin,Tmax,rate +409,AlO2H2,Al,H2O2,300,4000,1.827d-11 * Tgas**(0.159) * exp(91.1*invT) * revKc_with_GFE(Tgas, [idx_AlO2H2], [idx_Al,idx_H2O2]) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +410,AlOH,HO2,AlO,H2O2,300,4000,6.044d-11 * Tgas**(0.152) * exp(78.8*invT) * revKc_with_GFE(Tgas, [idx_AlOH,idx_HO2], [idx_AlO,idx_H2O2]) + +# @format:idx,R,P,P,Tmin,Tmax,rate +# 412,AlO3H2,AlO,H2O2,300,4000,6.044d-11 * Tgas**(0.152) * exp(78.8*invT) * revKc_with_GFE(Tgas, [idx_AlO3H2], [idx_AlO,idx_H2O2]) +# REMOVED because not thermochemical data + +@format:idx,R,R,P,P,Tmin,Tmax,rate +411,AlO2H2,OH,AlOH,H2O2,300,4000,4.367d-11 * Tgas**(0.18) * exp(15.4*invT) * revKc_with_GFE(Tgas, [idx_AlO2H2,idx_OH], [idx_AlOH,idx_H2O2]) + +@format:idx,R,P,P,Tmin,Tmax,rate +412,AlO3H3,AlOH,H2O2,300,4000,4.367d-11 * Tgas**(0.18) * exp(15.4*invT) * revKc_with_GFE(Tgas, [idx_AlO3H3], [idx_AlOH,idx_H2O2]) + +#note that AlO2H is OAlOH and not AlOOH +@format:idx,R,R,P,P,Tmin,Tmax,rate +413,AlO2H,H2O,AlOH,H2O2,300,4000,4.367d-11 * Tgas**(0.18) * exp(15.4*invT) * revKc_with_GFE(Tgas, [idx_AlO2H,idx_H2O], [idx_AlOH,idx_H2O2]) + +@format:idx,R,R,P,P,Tmin,Tmax,rate +414,AlOH,OH,AlH,HO2,300,4000,4.948d-11 * Tgas**(0.167) * exp(0.3*invT) * revKc_with_GFE(Tgas, [idx_AlOH,idx_OH], [idx_AlH,idx_HO2]) + +# Sharipov+ 2012 in Combustion Theory and Modelling +@format:idx,R,R,P,P,rate +415,Al,CO2,AlO,CO,1.214d-11 * Tgas**(0.5) * exp(-7470.*invT) + +@format:idx,R,R,P,P,rate +416,Al,HCO,AlH,CO,4.550d-11 * Tgas**(0.17) + +@format:idx,R,R,P,P,rate +417,AlO,CO2,AlO2,CO,1.187d-11 * Tgas**(0.5) * exp(-15600.*invT) + +# 3 body +# @noTabNext +# @format:idx,R,R,P,rate +# 422,Al,CO,AlCO,1.44d-33 * Tgas**(0.5) * ntot +# REMOVED because not thermochemical data + +# @noTabNext +# @format:idx,R,R,P,rate +# 423,Al,NO,AlNO,1.40d-33 *Tgas**(0.5) * ntot +# REMOVED because not thermochemical data + +@noTabNext +@format:idx,R,R,P,rate +418,Al,C,AlC,9.21d-33 * Tgas**(0.5) * ntot + +# reversed +@format:idx,R,R,P,P,rate +419,AlO,CO,Al,CO2,1.214d-11 * Tgas**(0.5) * exp(-7470.*invT) * revKc_with_GFE(Tgas, [idx_AlO,idx_CO], [idx_Al,idx_CO2]) + +@format:idx,R,R,P,P,rate +420,AlH,CO,Al,HCO,4.550d-11 * Tgas**(0.17) * revKc_with_GFE(Tgas, [idx_AlH,idx_CO], [idx_Al,idx_HCO]) + +@format:idx,R,R,P,P,rate +421,AlO2,CO,AlO,CO2,1.187d-11 * Tgas**(0.5) * exp(-15600.*invT) * revKc_with_GFE(Tgas, [idx_AlO2,idx_CO], [idx_AlO,idx_CO2]) + +# # 3 body +# @noTabNext +# @format:idx,R,P,P,rate +# 431,AlCO,Al,CO,1.44d-33 * Tgas**(0.5) * ntot * revKc_with_GFE(Tgas, [idx_AlCO], [idx_Al,idx_CO]) +# REMOVED because not thermochemical data +# +# @noTabNext +# @format:idx,R,P,P,rate +# 432,AlNO,Al,NO,1.40d-33 *Tgas**(0.5) * ntot * revKc_with_GFE(Tgas, [idx_AlNO], [idx_Al,idx_NO]) +# REMOVED because not thermochemical data + +@noTabNext +@format:idx,R,P,P,rate +422,AlC,Al,C,9.21d-33 * Tgas**(0.5) * ntot * revKc_with_GFE(Tgas, [idx_AlC], [idx_Al,idx_C]) + +# # Cluster growth reactions +# # cluster_growth_rate(index_of_monomer, cluster_size, temperature, sticking_coefficient) +@format:idx,R,R,P,rate +423,MgO,MgO,Mg2O2,cluster_growth_rate(idx_MgO, 1, Tgas) + +@format:idx,R,R,P,rate +424,Mg2O2,MgO,Mg3O3,cluster_growth_rate(idx_MgO, 2, Tgas) + +@format:idx,R,R,P,rate +425,Mg3O3,MgO,Mg4O4,cluster_growth_rate(idx_MgO, 3, Tgas) + +@format:idx,R,R,P,rate +426,Mg4O4,MgO,Mg5O5,cluster_growth_rate(idx_MgO, 4, Tgas) + +@format:idx,R,R,P,rate +427,Mg5O5,MgO,Mg6O6,cluster_growth_rate(idx_MgO, 5, Tgas) + +@format:idx,R,R,P,rate +428,Mg6O6,MgO,Mg7O7,cluster_growth_rate(idx_MgO, 6, Tgas) + +@format:idx,R,R,P,rate +429,Mg7O7,MgO,Mg8O8,cluster_growth_rate(idx_MgO, 7, Tgas) + +@format:idx,R,R,P,rate +430,Mg8O8,MgO,Mg9O9,cluster_growth_rate(idx_MgO, 8, Tgas) + +@format:idx,R,R,P,rate +431,Mg9O9,MgO,Mg10O10,cluster_growth_rate(idx_MgO, 9, Tgas) + +# Cluster destruction reactions +# Based on detailed balance +@format:idx,R,P,P,rate +432,Mg2O2,MgO,MgO,cluster_growth_rate(idx_MgO, 1, Tgas) * revKc_with_GFE(Tgas, [idx_Mg2O2], [idx_MgO,idx_MgO]) + +@format:idx,R,P,P,rate +433,Mg3O3,Mg2O2,MgO,cluster_growth_rate(idx_MgO, 2, Tgas) * revKc_with_GFE(Tgas, [idx_Mg3O3], [idx_Mg2O2,idx_MgO]) + +@format:idx,R,P,P,rate +434,Mg4O4,Mg3O3,MgO,cluster_growth_rate(idx_MgO, 3, Tgas) * revKc_with_GFE(Tgas, [idx_Mg4O4], [idx_Mg3O3,idx_MgO]) + +@format:idx,R,P,P,rate +435,Mg5O5,Mg4O4,MgO,cluster_growth_rate(idx_MgO, 4, Tgas) * revKc_with_GFE(Tgas, [idx_Mg5O5], [idx_Mg4O4,idx_MgO]) + +@format:idx,R,P,P,rate +436,Mg6O6,Mg5O5,MgO,cluster_growth_rate(idx_MgO, 5, Tgas) * revKc_with_GFE(Tgas, [idx_Mg6O6], [idx_Mg5O5,idx_MgO]) + +@format:idx,R,P,P,rate +437,Mg7O7,Mg6O6,MgO,cluster_growth_rate(idx_MgO, 6, Tgas) * revKc_with_GFE(Tgas, [idx_Mg7O7], [idx_Mg6O6,idx_MgO]) + +@format:idx,R,P,P,rate +438,Mg8O8,Mg7O7,MgO,cluster_growth_rate(idx_MgO, 7, Tgas) * revKc_with_GFE(Tgas, [idx_Mg8O8], [idx_Mg7O7,idx_MgO]) + +@format:idx,R,P,P,rate +439,Mg9O9,Mg8O8,MgO,cluster_growth_rate(idx_MgO, 8, Tgas) * revKc_with_GFE(Tgas, [idx_Mg9O9], [idx_Mg8O8,idx_MgO]) + +@format:idx,R,P,P,rate +440,Mg10O10,Mg9O9,MgO,cluster_growth_rate(idx_MgO, 9, Tgas) * revKc_with_GFE(Tgas, [idx_Mg10O10], [idx_Mg9O9,idx_MgO]) + +# # +# Mg reactions +########################## +########################## +# Next reactions follow the numbering from Plane, Feng, and Dawkins 2015 (PFD15) +# doi: 10.1021/cr500501m +# The rates are taken from the original papers and not Plane+2015 +# +# Plane & Hemler 1995 (PH95) (doi:10.1039/fd9950000411) +@format:idx,R,R,P,P,rate +441,Mg,O3,MgO,O2,2.3d-10 * exp(-139.*invT) + +#REVERSED +@format:idx,R,R,P,P,rate +442,MgO,O2,Mg,O3,2.3d-10 * exp(-139.*invT) * revKc_with_GFE(Tgas, [idx_MgO,idx_O2], [idx_Mg,idx_O3]) + +# Plane & Whalley 2012 (PW12) (doi:10.1021/jp211526h) +@format:idx,R,R,P,P,rate +443,MgO,O,Mg,O2,6.2d-10 * (Tgas/300.)**(1./6.) + +#REVERSED +@format:idx,R,R,P,P,rate +444,Mg,O2,MgO,O,6.2d-10 * (Tgas/300.)**(1./6.) * revKc_with_GFE(Tgas, [idx_MgO,idx_O2], [idx_MgO,idx_O]) + +# PH95 +@format:idx,R,R,P,P,rate +445,MgO,O3,MgO2,O2,2.2d-10 * exp(-548.*invT) + +# PW12 +@format:idx,R,R,P,P,rate +446,MgO2,O,MgO,O2,8.4d-11 * (Tgas/300.)**(1./6.) + +# Rollason & Plane 2001 (RP01) (doi:10.1039/b105673p) +# 3 Body +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: logk0 = -32.75 + 7.894*log10(Tgas) - 2.127*(log10(Tgas))**2 +# @var: kinf = 3.52d-10 * exp(-334.*invT) +# @var: beta = (1 + (logk0 + log10(ntot / kinf) )**2 )**(-1.) +# @var: Fc = 0.28 +@noTabNext +@format:idx,R,R,P,rate +447,MgO,H2O,MgO2H2, troe_falloff(( 10**(-32.75 + 7.894*log10(Tgas) - 2.127*(log10(Tgas))**2) ), ( 3.52d-10 * exp(-334.*invT) ), (0.28d0), ntot) + +#REVERSED +@noTabNext +@format:idx,R,P,P,rate +448,MgO2H2,MgO,H2O, troe_falloff(( 10**(-32.75 + 7.894*log10(Tgas) - 2.127*(log10(Tgas))**2) ), ( 3.52d-10 * exp(-334.*invT) ), (0.28d0), ntot) * revKc_with_GFE(Tgas, [idx_MgO2H2], [idx_MgO,idx_H2O]) + + +# PW12 (says "fast") PFD15 (estimate?) +@storeonce_start +@format:idx,R,R,P,P,rate +449,MgO3,H2O,MgO2H2,O2,1d-12 +@storeonce_stop + +# Rollason & Plane 2001 (RP01) (doi:10.1039/b105673p) +# 3 Body +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: logk0 = -28.05 + 1.423*log10(Tgas) - 0.683*(log10(Tgas))**2 +# @var: kinf = 1.16d-10 * exp(-219.*invT) +# @var: beta = (1 + (logk0 + log10(ntot / kinf) )**2 )**(-1.) +# @var: Fc = 0.34 +@noTabNext +@format:idx,R,R,P,rate +450,MgO,O2,MgO3, troe_falloff(( 10**(-28.05 + 1.423*log10(Tgas) - 0.683*(log10(Tgas))**2) ), ( 1.16d-10 * exp(-219.*invT) ), ( 0.34d0 ), ntot) + +# Rollason & Plane 2001 (RP01) (doi:10.1039/b105673p) +# 3 Body +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: logk0 = -33.70 + 5.827*log10(Tgas) - 1.494*(log10(Tgas))**2 +# @var: kinf = 6.79d-10 * exp(-310.*invT) +# @var: beta = (1 + (logk0 + log10(ntot / kinf) )**2 )**(-1.) +# @var: Fc = 0.37 +@noTabNext +@format:idx,R,R,P,rate +451,MgO,CO2,MgCO3, troe_falloff(( 10**(-33.70 + 5.827*log10(Tgas) - 1.494*(log10(Tgas))**2) ), ( 6.79d-10 * exp(-310.*invT) ), ( 0.37d0 ), ntot) + +#REVERSED +@noTabNext +@format:idx,R,P,P,rate +452,MgCO3,MgO,CO2, troe_falloff(( 10**(-33.70 + 5.827*log10(Tgas) - 1.494*(log10(Tgas))**2) ), ( 6.79d-10 * exp(-310.*invT) ), ( 0.37d0 ), ntot) * revKc_with_GFE(Tgas, [idx_MgCO3], [idx_MgO,idx_CO2]) + + +# PW12 (rate in text) +# 3 Body +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: k0 = 6.4d-27 * (Tgas/300.)**(-3.3) +# @var: kinf = 1.8d-10 * exp(-46.*invT) +# @var: beta = (1 + log10(k0 * ntot / kinf)**2 )**(-1.) +# @var: Fc = 0.30 +@noTabNext +@format:idx,R,R,P,rate +453,MgO2,O2,MgO4,troe_falloff( ( 6.4d-27 * (Tgas/300.)**(-3.3) ), ( 1.8d-10 * exp(-46.*invT) ), ( 0.30d0 ), ntot) + +# PW12 (says "fast"), PFD15 (estimate?) +@storeonce_start +@format:idx,R,R,P,P,rate +454,MgO4,O,MgO3,O2,8d-14 +@storeonce_stop + +# PW12 (unclear...) but also used in PFD15 and L+15 +@format:idx,R,R,P,P,rate +455,MgO2H2,H,MgOH,H2O,1d-11 * exp(-600*invT) + +#REVERSED +@format:idx,R,R,P,P,rate +456,MgOH,H2O,MgO2H2,H,1d-11 * exp(-600*invT) * revKc_with_GFE(Tgas, [idx_MgOH,idx_H2O], [idx_MgO2H2,idx_H]) + +# PW12 (No rate given), PFD15 (estimate?) +@storeonce_start +@format:idx,R,R,P,P,rate +457,MgOH,H,Mg,H2O,2d-10 +@storeonce_stop + +@format:idx,R,R,P,P,rate +458,Mg,H2O,MgOH,H,2d-10 * revKc_with_GFE(Tgas, [idx_Mg,idx_H2O], [idx_MgOH,idx_H]) + +@storeonce_start +# PW12 (No rate given), PFD15 (estimate?) +@format:idx,R,R,P,P,rate +459,MgO3,H,MgOH,O2,2d-12 + +# Langowski+ 2015(L+15) (doi:10.5194/acp-15-273-2015) +# @format:idx,R,R,P,rate +# 465,MgOH,MgOH,Mg2O2H2,9d-10 +# REMOVED because SINK +# +# Rutterford 1971, KIDA +@format:idx,R,R,P,P,rate +460,Mg,O2+,Mg+,O2,1.2d-9 + +# Rutterford 1971, KIDA +@format:idx,R,R,P,P,rate +461,Mg,NO+,Mg+,NO,8.2d-10 + +# Whalley+2011 (W+11) (doi:10.1039/c0cp02637a) +@format:idx,R,R,P,P,rate +462,Mg+,O3,MgO+,O2,1.17d-9 + +# WHalley & Plane 2010 (WP10) (doi:10.1039/c003726e) +@format:idx,R,R,P,P,rate +463,MgO+,O,Mg+,O2,5.9d-10 +@storeonce_stop + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +464,Mg+,N2,MgN2+,2.7d-31 * (Tgas/300.)**(-1.88) * ntot + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +465,Mg+,O2,MgO2+,4.1d-31 * (Tgas/300.)**(-1.65) * ntot + +# WP10 +@storeonce_start +@format:idx,R,R,P,P,rate +466,MgO2+,O,MgO+,O2,6.5d-10 + +# W+11 +@format:idx,R,R,P,P,P,rate +467,MgO+,O3,Mg+,O2,O2,8.5d-10 * 0.35 + +# W+11 +@format:idx,R,R,P,P,rate +468,MgO+,O3,MgO2+,O2,8.5d-10 * 0.65 +@storeonce_stop + +# Martinez-Nunez et al 2010 (MN+10) (doi:10.1021/jp102454j) +# 3 Body +# original rate format, but don't use @var because these will be global variables +# and not just for this rate +# @var: k0 = 2.9d-29 +# @var: kinf = 5.0d-11 * exp(829./(8.314)*invT) +# @var: beta = (1 + log10(k0 * ntot / kinf)**2 )**(-1.) +# @var: Fc = 0.52 +@noTabNext +@format:idx,R,R,P,rate +469,Mg+,H2O,MgH2O+,troe_falloff((2.9d-29 ), ( 5.0d-11 * exp(829./(8.314)*invT) ), ( 0.52d0 ), ntot) + +# W+11 +# 3 Body +@noTabNext +@format:idx,R,R,P,rate +470,Mg+,CO2,MgCO2+,7.3d-30 * (Tgas/300.)**(-1.59) * ntot + +#Verner 1996, auto in KROME +@format:idx,R,R,P,P,P,rate +471,Mg,E,Mg+,E,E,auto + +# next reactions are not in PFD15 +# W+11 +@format:idx,R,R,P,P,rate +472,Mg,NO2,MgO,NO,1.4d-11 * exp(-3.4*invT/R) + +#REVERSED +@format:idx,R,R,P,P,rate +473,MgO,NO,Mg,NO2,1.4d-11 * exp(-3.4*invT/R) * revKc_with_GFE(Tgas, [idx_MgO,idx_NO], [idx_Mg,idx_NO2]) + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +474,Mg+,N2O,MgN2O+,5.8d-30 * (Tgas/300.)**(-1.94) * ntot + +# W+11 +@storeonce_start +@format:idx,R,R,P,P,rate +475,MgCO2+,H2O,MgH2O+,CO2,5.1d-11 + +# W+11 +@format:idx,R,R,P,P,rate +476,MgO2+,H2O,MgH2O+,O2,1.9d-11 + +# W+11 +@format:idx,R,R,P,P,rate +477,MgN2+,O2,MgO2+,N2,3.5d-12 +@storeonce_stop + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +478,MgO2+,O2,MgO4+,9d-30 * (Tgas/300.)**(-3.80) * ntot + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +479,MgCO2+,CO2,MgC2O4+,2.3d-29 * (Tgas/300.)**(-5.08) * ntot + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +480,MgH2O+,H2O,MgH4O2+,3.0d-28 * (Tgas/300.)**(-3.96) * ntot + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +481,MgO2+,N2,MgO2N2+,4.7d-30 * (Tgas/300.)**(-3.75) * ntot + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +482,MgO2+,CO2,MgCO4+,6.6d-29 * (Tgas/300.)**(-4.18) * ntot + +# W+11 +# 3 body +@noTabNext +@format:idx,R,R,P,rate +483,MgH2O+,O2,MgH2O3+,1.2d-27 * (Tgas/300.)**(-4.13) * ntot + +# WP10 +@storeonce_start +@format:idx,R,R,P,P,rate +484,MgCO2+,O2,MgO2+,CO2,2.2d-11 +@storeonce_stop + +# Dissociative recombination reactions +# PFD15 +# Estimate base on review of dissociative electron recombination of +# Florescu-Mitchell & Mitchell 2006 (FMM06) (doi:10.1016/J.PHYSREP.2006.04.002) +# MgX+ + E -> Mg + X +@format:idx,R,R,P,P,rate +485,MgO+,E,Mg,O,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +486,MgO2+,E,Mg,O2,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +487,MgN2+,E,Mg,N2,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +488,MgCO2+,E,Mg,CO2,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +489,MgH2O+,E,Mg,H2O,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +490,MgN2O+,E,Mg,N2O,3d-7 * (Tgas/200.)**(-0.5) + +# dissociation based on ion cluster notation in W+11 +# MgY+(dot)X + E -> MgY + X +@format:idx,R,R,P,P,rate +491,MgO4+,E,MgO2,O2,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,P,rate +492,MgC2O4+,E,Mg,CO2,CO2,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,P,rate +493,MgH4O2+,E,Mg,H2O,H2O,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +494,MgO2N2+,E,MgO2,N2,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +495,MgCO4+,E,MgO2,CO2,3d-7 * (Tgas/200.)**(-0.5) + +@format:idx,R,R,P,P,rate +496,MgH2O3+,E,MgO2,H2O,3d-7 * (Tgas/200.)**(-0.5) + +# Missing recombination +@format:idx,R,R,P,P,rate +497,NO+,E,O,N,4.30d-7*(T32)**(-0.37) + +@format:idx,R,R,P,P,rate +498,O2+,E,O,O,1.95d-7*(T32)**(-0.70) + +# Atkinson+2004 (doi:10.5194/acp-4-1461-2004) +@format:idx,R,R,P,P,rate +499,O3,O,O2,O2,8d-12 * exp(-2060.*invT) + +# Atkinson+2004 (doi:10.5194/acp-4-1461-2004) +@format:idx,R,R,R,P,P,rate +500,O,O2,O2,O3,O2,6.0d-34*(Tgas/300.)**(-2.6) + +# DeMore+1997 (https://jpldataeval.jpl.nasa.gov/pdf/Atmos97_Anotated.pdf) +@format:idx,R,R,P,P,rate +501,H,O3,OH,O2,1.4d-10*exp(470.*invT) + +# # Add to avoid source terms +# UMIST +@format:idx,R,R,P,P,rate +502,O+,N2,NO+,N,2.42d-12*(T32)**(-0.21)*exp(44.0*invT) + +# Add to avoid source terms +@storeonce_start +@format:idx,R,R,P,P,rate +503,H+,O2,O2+,H,2.00d-9 +@storeonce_stop diff --git a/scripts/writemake.sh b/scripts/writemake.sh index 74de842f4..c7c487fb4 100755 --- a/scripts/writemake.sh +++ b/scripts/writemake.sh @@ -12,13 +12,16 @@ echo '#' echo 'PHANTOMDIR='${0/scripts\/writemake.sh/}; echo 'SPLASHDIR='$splashdir echo 'EDITOR=vi' +makeflags='RUNDIR=${PWD}'; if [ $# -ge 1 ]; then echo 'ifndef SETUP'; echo 'SETUP='$1; echo 'endif'; - makeflags='SETUP=${SETUP} RUNDIR=${PWD} KROME='$2; -else - makeflags='RUNDIR=${PWD}'; + makeflags=$makeflags' SETUP=${SETUP}'; +fi +if [ $# -ge 2 ]; then + echo 'KROMEPATH='${0/phantom\/scripts\/writemake.sh/krome}; + makeflags=$makeflags' KROME='$2' KROMEPATH=${KROMEPATH}'; fi echo '' echo 'again:' @@ -38,8 +41,8 @@ echo 'libphantom : phantomlib' echo 'mflow : mflow' echo echo 'clean:' -if [ $# -ge 1 ]; then - echo ' cd ${PHANTOMDIR}; make clean KROME=krome' +if [ $# -ge 2 ]; then + echo ' cd ${PHANTOMDIR}; make clean KROME='$2' KROMEPATH=${KROMEPATH}' else echo ' cd ${PHANTOMDIR}; make clean' fi diff --git a/src/main/krome.f90 b/src/main/krome.f90 index 8f5b14ed7..4ece40748 100644 --- a/src/main/krome.f90 +++ b/src/main/krome.f90 @@ -75,11 +75,11 @@ subroutine initialise_krome() S_init = 3.97e-4 ! mass fraction Fe_init = 1.17e-3 ! mass fraction Si_init = 6.54e-4 ! mass fraction - Mg_init = 5.16e-4 + Mg_init = 5.16e-4 ! mass fraction - Na_init = 3.38e-5 - P_init = 8.17e-6 - F_init = 4.06e-7 + Na_init = 3.38e-5 ! mass fraction + P_init = 8.17e-6 ! mass fraction + F_init = 4.06e-7 ! mass fraction H_init = 1.0 - He_init - C_init - N_init - O_init - S_init - Fe_init - & Si_init - Mg_init - Na_init - P_init - F_init diff --git a/src/main/step_leapfrog.F90 b/src/main/step_leapfrog.F90 index c57029349..70e4376dd 100644 --- a/src/main/step_leapfrog.F90 +++ b/src/main/step_leapfrog.F90 @@ -1208,6 +1208,9 @@ subroutine step_extern(npart,ntypes,dtsph,dtextforce,xyzh,vxyzu,fext,fxyzu,time, !$omp private(fonrmaxi,dtphi2i,dtf) & !$omp private(vxhalfi,vyhalfi,vzhalfi) & !$omp firstprivate(pmassi,itype) & +#ifdef KROME + !$omp shared(T_gas_cool) & +#endif !$omp reduction(+:accretedmass) & !$omp reduction(min:dtextforcenew,dtsinkgas,dtphi2) & !$omp reduction(max:fonrmax) &