Skip to content

Commit cc783a2

Browse files
committed
fix liquid cat reactor writing
1 parent 7b20c29 commit cc783a2

1 file changed

Lines changed: 19 additions & 15 deletions

File tree

rmgpy/rmg/input.py

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -689,7 +689,7 @@ def liquid_cat_reactor(temperature,
689689
raise InputError('Species {0} not found in the input file'.format(const_spc))
690690

691691
if not isinstance(temperature, list):
692-
T = Quantity(temperature).value_si
692+
T = Quantity(temperature)
693693
else:
694694
raise InputError("Condition ranges not supported for this reaction type")
695695
if len(temperature) != 2:
@@ -719,12 +719,12 @@ def liquid_cat_reactor(temperature,
719719
A = V*Quantity(surfaceVolumeRatio).value_si
720720
for key,item in initialConcentrations.items():
721721
initialCondLiq[key] = item*V
722-
initialCondLiq["T"] = T
722+
initialCondLiq["T"] = T.value_si
723723
initialCondLiq["V"] = V
724724
initialCondSurf = dict()
725725
for key,item in initialSurfaceCoverages.items():
726726
initialCondSurf[key] = item*rmg.surface_site_density.value_si*A
727-
initialCondSurf["T"] = T
727+
initialCondSurf["T"] = T.value_si
728728
initialCondSurf["A"] = A
729729
initialCondSurf["d"] = 0.0
730730
if surfPotential:
@@ -734,12 +734,12 @@ def liquid_cat_reactor(temperature,
734734
if distance:
735735
initialCondLiq["d"] = Quantity(distance).value_si
736736
if viscosity:
737-
initialCondLiq["mu"] = Quantity(distance).value_si
737+
initialCondLiq["mu"] = Quantity(viscosity).value_si
738738
system = ConstantTLiquidSurfaceReactor(rmg.reaction_model.core.phase_system,
739739
rmg.reaction_model.edge.phase_system,
740740
{"liquid":initialCondLiq,"surface":initialCondSurf},
741741
termination,constantSpecies)
742-
system.T = Quantity(T)
742+
system.T = T
743743
system.Trange = None
744744
system.sensitive_species = []
745745
rmg.reaction_systems.append(system)
@@ -762,7 +762,7 @@ def constant_T_V_liquid_reactor(temperature,
762762
################################################# check input ########################################################
763763

764764
if not isinstance(temperature, list):
765-
T = Quantity(temperature).value_si
765+
T = Quantity(temperature)
766766
else:
767767
raise InputError("Condition ranges not supported for this reaction type")
768768
if len(temperature) != 2:
@@ -883,7 +883,7 @@ def constant_T_V_liquid_reactor(temperature,
883883
initial_conditions = dict()
884884
for key, item in initialConcentrations.items():
885885
initial_conditions[key] = item*V
886-
initial_conditions["T"] = T
886+
initial_conditions["T"] = T.value_si
887887
initial_conditions["V"] = V
888888

889889
inlet_conditions = dict()
@@ -918,7 +918,7 @@ def constant_T_V_liquid_reactor(temperature,
918918
outlet_conditions,
919919
evap_cond_conditions,
920920
)
921-
system.T = Quantity(T)
921+
system.T = T
922922
system.Trange = None
923923
system.sensitive_species = []
924924
rmg.reaction_systems.append(system)
@@ -1410,6 +1410,7 @@ def options(name='Seed', generateSeedEachIteration=True, saveSeedToDatabase=Fals
14101410
def generated_species_constraints(**kwargs):
14111411
valid_constraints = [
14121412
'allowed',
1413+
'explicitlyAllowedMolecules',
14131414
'maximumCarbonAtoms',
14141415
'maximumOxygenAtoms',
14151416
'maximumNitrogenAtoms',
@@ -1704,7 +1705,7 @@ def save_input_file(path, rmg):
17041705
f.write(' thermoLibraries = {0!r},\n'.format(rmg.thermo_libraries))
17051706
f.write(' reactionLibraries = {0!r},\n'.format(rmg.reaction_libraries))
17061707
f.write(' seedMechanisms = {0!r},\n'.format(rmg.seed_mechanisms))
1707-
f.write(' kinetics_depositories = {0!r},\n'.format(rmg.kinetics_depositories))
1708+
f.write(' kineticsDepositories = {0!r},\n'.format(rmg.kinetics_depositories))
17081709
f.write(' kineticsFamilies = {0!r},\n'.format(rmg.kinetics_families))
17091710
f.write(' kineticsEstimator = {0!r},\n'.format(rmg.kinetics_estimator))
17101711
f.write(')\n\n')
@@ -1735,14 +1736,14 @@ def save_input_file(path, rmg):
17351736
def format_temperature(system):
17361737
"""Get temperature string format for reaction system, whether single value or range"""
17371738
if system.T is not None:
1738-
return '({0:g},"{1!s}")'.format(system.T.value, system.T.units)
1739+
return '({0:g},"{1!s}"),'.format(system.T.value, system.T.units)
17391740

17401741
return f'[({system.Trange[0].value:g}, "{system.Trange[0].units}"), ({system.Trange[1].value:g}, "{system.Trange[1].units}")],'
17411742

17421743
def format_pressure(system):
17431744
"""Get pressure string format for reaction system, whether single value or range"""
17441745
if system.P is not None:
1745-
return '({0:g},"{1!s}")'.format(system.P.value, system.P.units)
1746+
return '({0:g},"{1!s}"),'.format(system.P.value, system.P.units)
17461747

17471748
return f'[({system.Prange[0].value:g}, "{system.Prange[0].units}"), ({system.Prange[1].value:g}, "{system.Prange[1].units}")],'
17481749

@@ -1767,13 +1768,14 @@ def format_initial_mole_fractions(system):
17671768
if spcs in ['T', 'V']:
17681769
continue
17691770
f.write(' "{0!s}": ({1:g},"{2!s}"),\n'.format(spcs, conc, 'mol/m^3'))
1771+
f.write(' },\n')
17701772
f.write(' initialSurfaceCoverages={\n')
17711773
for spcs, conc_mols in system.initial_conditions['surface'].items():
17721774
if spcs in ['T', 'A', 'd']:
17731775
continue
17741776
# surf conc here is in mols, need to convert back into unitless coverage fraction
17751777
coverage = conc_mols / (rmg.surface_site_density.value_si * system.initial_conditions['surface']['A'])
1776-
f.write(' "{0!s}": ({1:g}),\n'.format(spcs, coverage))
1778+
f.write(' "{0!s}": {1:g},\n'.format(spcs, coverage))
17771779
f.write(' },\n')
17781780

17791781
# write the list of constant species
@@ -1790,6 +1792,7 @@ def format_initial_mole_fractions(system):
17901792
if type(conc) == float:
17911793
conc = Quantity(conc, Concentration.units)
17921794
f.write(' "{0!s}": ({1:g},"{2!s}"),\n'.format(spcs.label, conc.value, conc.units))
1795+
f.write(' },\n')
17931796
elif isinstance(system, SurfaceReactor):
17941797
f.write('surfaceReactor(\n')
17951798
f.write(' temperature = ' + format_temperature(system) + '\n')
@@ -1801,13 +1804,14 @@ def format_initial_mole_fractions(system):
18011804
f.write(' initialSurfaceCoverages={\n')
18021805
for spcs, cov in system.initial_surface_coverages.items():
18031806
f.write(' "{0!s}": {1:g},\n'.format(spcs.label, cov))
1807+
f.write(' },\n')
18041808
else:
18051809
f.write('simpleReactor(\n')
18061810
f.write(' temperature = ' + format_temperature(system) + '\n')
18071811
f.write(' pressure = ' + format_pressure(system) + '\n')
18081812
f.write(' initialMoleFractions={\n')
18091813
f.write(format_initial_mole_fractions(system))
1810-
f.write(' },\n')
1814+
f.write(' },\n')
18111815

18121816
# Termination criteria
18131817
if isinstance(system, ReactionSystem):
@@ -1871,7 +1875,7 @@ def format_initial_mole_fractions(system):
18711875
f.write(' maximumEdgeSpecies = {0:d},\n'.format(rmg.model_settings_list[0].maximum_edge_species))
18721876
f.write(' minCoreSizeForPrune = {0:d},\n'.format(rmg.model_settings_list[0].min_core_size_for_prune))
18731877
f.write(' minSpeciesExistIterationsForPrune = {0:d},\n'.format(rmg.model_settings_list[0].min_species_exist_iterations_for_prune))
1874-
f.write(' filterReactions = {0:d},\n'.format(rmg.model_settings_list[0].filter_reactions))
1878+
f.write(' filterReactions = {0},\n'.format(bool(rmg.model_settings_list[0].filter_reactions)))
18751879
f.write(' filterThreshold = {0:g},\n'.format(rmg.model_settings_list[0].filter_threshold))
18761880
f.write(')\n\n')
18771881

@@ -1941,7 +1945,7 @@ def formula(elements):
19411945
f.write(' keepIrreversible = {0},\n'.format(rmg.keep_irreversible))
19421946
f.write(' trimolecularProductReversible = {0},\n'.format(rmg.trimolecular_product_reversible))
19431947
f.write(' verboseComments = {0},\n'.format(rmg.verbose_comments))
1944-
f.write(' wallTime = {0},\n'.format(rmg.walltime))
1948+
f.write(' wallTime = "{0}",\n'.format(rmg.walltime))
19451949
f.write(')\n\n')
19461950

19471951
f.close()

0 commit comments

Comments
 (0)