Skip to content

Commit 189ab4c

Browse files
committed
added input arg for disabling rms yaml write
1 parent 65dfeca commit 189ab4c

2 files changed

Lines changed: 25 additions & 3 deletions

File tree

rmgpy/rmg/input.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1337,8 +1337,8 @@ def pressure_dependence(
13371337

13381338
def options(name='Seed', generateSeedEachIteration=True, saveSeedToDatabase=False, units='si', saveRestartPeriod=None,
13391339
generateOutputHTML=False, generatePlots=False, saveSimulationProfiles=False, verboseComments=False,
1340-
saveEdgeSpecies=False, keepIrreversible=False, trimolecularProductReversible=True, wallTime='00:00:00:00',
1341-
saveSeedModulus=-1):
1340+
saveEdgeSpecies=False, keepIrreversible=False, trimolecularProductReversible=True, generateRMSEachIter=False,
1341+
wallTime='00:00:00:00', saveSeedModulus=-1):
13421342
if saveRestartPeriod:
13431343
logging.warning("`saveRestartPeriod` flag was set in the input file, but this feature has been removed. Please "
13441344
"remove this line from the input file. This will throw an error after RMG-Py 3.1. For "
@@ -1352,6 +1352,7 @@ def options(name='Seed', generateSeedEachIteration=True, saveSeedToDatabase=Fals
13521352
if generateOutputHTML:
13531353
logging.warning('Generate Output HTML option was turned on. Note that this will slow down model generation.')
13541354
rmg.generate_output_html = generateOutputHTML
1355+
rmg.generate_rms_each_iter = generateRMSEachIter
13551356
rmg.generate_plots = generatePlots
13561357
rmg.save_simulation_profiles = saveSimulationProfiles
13571358
rmg.verbose_comments = verboseComments
@@ -1800,6 +1801,7 @@ def save_input_file(path, rmg):
18001801
f.write('options(\n')
18011802
f.write(' units = "{0}",\n'.format(rmg.units))
18021803
f.write(' generateOutputHTML = {0},\n'.format(rmg.generate_output_html))
1804+
f.write(' generateRMSEachIter = {0},\n'.format(rmg.generate_rms_each_iter))
18031805
f.write(' generatePlots = {0},\n'.format(rmg.generate_plots))
18041806
f.write(' saveSimulationProfiles = {0},\n'.format(rmg.save_simulation_profiles))
18051807
f.write(' saveEdgeSpecies = {0},\n'.format(rmg.save_edge_species))

rmgpy/rmg/main.py

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,8 +685,10 @@ def register_listeners(self):
685685
"""
686686

687687
self.attach(ChemkinWriter(self.output_directory))
688-
self.attach(RMSWriter(self.output_directory))
689688

689+
if self.generate_rms_each_iter:
690+
self.attach(RMSWriter(self.output_directory))
691+
690692
if self.generate_output_html:
691693
self.attach(OutputHTMLWriter(self.output_directory))
692694

@@ -1116,6 +1118,24 @@ def execute(self, initialize=True, **kwargs):
11161118
except Exception:
11171119
logging.exception('Could not generate Cantera files for some reason.')
11181120

1121+
# if we're not writing rms files each iteration, only write one at the end.
1122+
if not self.generate_rms_each_iter:
1123+
from rmgpy.yml import write_yml
1124+
1125+
# make rms dir
1126+
dirname = os.path.join(self.output_directory, "rms")
1127+
if os.path.exists(dirname):
1128+
# The directory already exists, so delete it (and all its content!)
1129+
shutil.rmtree(dirname)
1130+
os.mkdir(dirname)
1131+
1132+
# save final rms file
1133+
solvent_data = None
1134+
if self.solvent:
1135+
solvent_data = self.database.solvation.get_solvent_data(self.solvent)
1136+
write_yml(self.reaction_model.core.species, self.reaction_model.core.reactions, solvent=self.solvent, solvent_data=solvent_data,
1137+
path=os.path.join(dirname, 'chem.rms'))
1138+
11191139
self.check_model()
11201140
# Write output file
11211141
logging.info('')

0 commit comments

Comments
 (0)