In [1]:
import pandas as pd
import numpy as np
import re
k(T) = AT^nexp(-E/RT)
In [2]:
T = 300
species_IC = 'Pseudotsuga_menziesii'
In [3]:
## rewrite k value by A,n,E
reactants_list = []
for line in open('ratelist','r').readlines():
reactants = line.split(') *')[-1].replace('y','').replace('[','').replace(']','').replace(';','').strip()
reactants_list.append(reactants)
rate_dict = {}
for i in range(406):
k_expression = 'A%s*T**n%s*np.exp(-1*E%s/R/T)'% (i,i,i)
rate_dict[i] = k_expression + "*" + reactants_list[i]
In [10]:
#rewrite former reaction file from model.c
with open('reaction_list', 'r') as file :
filedata = file.read()
In [11]:
for i in range(406):
filedata = filedata.replace('rate%s' % [i], rate_dict[i] )
In [12]:
with open('reaction_list', 'w') as file:
file.write(filedata)
In [ ]:
In [ ]:
In [ ]:
species_list = ['ADIO', 'ADIOM2', 'ALD3', 'C10H2', 'C10H2M2', 'C10H2M4', 'C2H6', 'C3H4O', 'C3H4O2', 'C3H6', 'C3H6O2', 'C3H8O2',
'CH2CO', 'CH3CHO', 'CH3OH', 'CH4', 'CHAR', 'CO', 'CO2', 'COUMARYL', 'ETOH', 'H2', 'H2O', 'KET', 'KETD', 'KETDM2', 'KETM2',
'LIG', 'LIGC', 'LIGH', 'LIGM2', 'LIGO', 'MGUAI', 'OH', 'PADIO', 'PADIOM2', 'PC2H2', 'PCH2OH', 'PCH2P', 'PCH3', 'PCHO',
'PCHOHP', 'PCHP2', 'PCOH', 'PCOHP2', 'PCOS', 'PFET3', 'PFET3M2', 'PH2', 'PHENOL', 'PKETM2', 'PLIG', 'PLIGC', 'PLIGH',
'PLIGM2', 'PLIGO', 'PRADIO', 'PRADIOM2', 'PRFET3', 'PRFET3M2', 'PRKETM2', 'PRLIGH', 'PRLIGH2', 'PRLIGM2A', 'RADIO',
'RADIOM2', 'RC3H3O', 'RC3H5O2', 'RC3H7O2', 'RCH3', 'RCH3O', 'RKET', 'RKETM2', 'RLIGA', 'RLIGB', 'RLIGH', 'RLIGM2A',
'RLIGM2B', 'RMGUAI', 'RPHENOL', 'RPHENOX', 'RPHENOXM2', 'SYNAPYL', 'VADIO', 'VADIOM2', 'VCOUMARYL', 'VKET', 'VKETD',
'VKETDM2', 'VKETM2', 'VMGUAI', 'VPHENOL', 'VSYNAPYL']
In [ ]:
# Extract dydt expression by str split
rxn_list = open('reaction_list','r').read().replace('\n','').replace(' ','')
with open('check_ODEs_list', 'w') as f:
for species in species_list:
dydt = rxn_list.split('dydt[%s]=' % species)[-1].split(';')[0]
f.write(dydt + ',')
In [ ]: