) else: logging.warning('Species {0} did not contain any thermo data and was omitted from the thermo library.'.format(str(species))) # load kinetics library entries kineticsLibrary = KineticsLibrary() kineticsLibrary.entries = {} for i in range(len(reactionList)): reaction = reactionList[i] entry = Entry( index = i+1, label = str(reaction), item = reaction, data = reaction.kinetics, ) entry.longDesc = reaction.kinetics.comment kineticsLibrary.entries[i+1] = entry kineticsLibrary.checkForDuplicates() kineticsLibrary.convertDuplicatesToMulti() # Save in Py format try: os.makedirs(os.join('input/kinetics/libraries/',name)) except: pass thermoLibrary.save(os.path.join('input/thermo/libraries', name + '.py')) kineticsLibrary.save(os.path.join('input/kinetics/libraries/', name, 'reactions.py')) kineticsLibrary.saveDictionary(os.path.join('input/kinetics/libraries/', name, 'dictionary.txt'))
""" import argparse import os from rmgpy.data.kinetics import KineticsLibrary from rmgpy import settings if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('inputPath', metavar='INPUT', type=str, nargs=1, help='the input path of the RMG-Java kinetics library directory') parser.add_argument('libraryName', metavar='OUTPUT', type=str, nargs=1, help='the libraryName for the RMG-Py format kinetics library') args = parser.parse_args() inputPath = args.inputPath[0] libraryName = args.libraryName[0] library = KineticsLibrary() library.loadOld(inputPath) try: os.makedirs(os.path.join(settings['database.directory'], 'kinetics', 'libraries', libraryName)) except: pass # Save in Py format library.save(os.path.join(settings['database.directory'], 'kinetics', 'libraries', libraryName, 'reactions.py')) library.saveDictionary(os.path.join(settings['database.directory'], 'kinetics', 'libraries', libraryName,'dictionary.txt'))
for i in range(len(reactionList)): reaction = reactionList[i] entry = Entry( index = i+1, label = str(reaction), item = reaction, data = reaction.kinetics, ) try: entry.longDesc = 'Originally from reaction library: ' + reaction.library + "\n" + reaction.kinetics.comment except AttributeError: entry.longDesc = reaction.kinetics.comment kineticsLibrary.entries[i+1] = entry # Mark as duplicates where there are mixed pressure dependent and non-pressure dependent duplicate kinetics # Even though CHEMKIN does not require a duplicate flag, RMG needs it. # Using flag markDuplicates = True kineticsLibrary.checkForDuplicates(markDuplicates=True) kineticsLibrary.convertDuplicatesToMulti() # Save in Py format databaseDirectory = settings['database.directory'] try: os.makedirs(os.path.join(databaseDirectory, 'kinetics', 'libraries',name)) except: pass thermoLibrary.save(os.path.join(databaseDirectory, 'thermo' ,'libraries', name + '.py')) kineticsLibrary.save(os.path.join(databaseDirectory, 'kinetics', 'libraries', name, 'reactions.py')) kineticsLibrary.saveDictionary(os.path.join(databaseDirectory, 'kinetics', 'libraries', name, 'dictionary.txt'))