Skip to content

Commit f61c8ec

Browse files
committed
save user input concentration as quantity
We want to preserve the units specified in the input file as much as possible to avoid the ambiguity of saving just floats in memory
1 parent f84a253 commit f61c8ec

File tree

1 file changed

+12
-19
lines changed

1 file changed

+12
-19
lines changed

rmgpy/rmg/input.py

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -656,10 +656,7 @@ def liquid_cat_reactor(temperature,
656656
constantSpecies=[]):
657657
for spec, conc in initialConcentrations.items():
658658
if not isinstance(conc, list):
659-
concentration = Quantity(conc)
660-
# check the dimensions are ok
661-
# convert to mol/m^3 (or something numerically nice? or must it be SI)
662-
initialConcentrations[spec] = concentration.value_si
659+
initialConcentrations[spec] = Quantity(conc)
663660
else:
664661
if len(conc) != 2:
665662
raise InputError("Concentration values must either be in the form of (number,units) or a list with 2 "
@@ -715,14 +712,14 @@ def liquid_cat_reactor(temperature,
715712

716713
initialCondLiq = dict()
717714
V = 1.0
718-
A = V*Quantity(surfaceVolumeRatio).value_si
719-
for key,item in initialConcentrations.items():
720-
initialCondLiq[key] = item*V
715+
A = V * Quantity(surfaceVolumeRatio).value_si
716+
for key, conc in initialConcentrations.items():
717+
initialCondLiq[key] = conc.value_si * V
721718
initialCondLiq["T"] = T
722719
initialCondLiq["V"] = V
723720
initialCondSurf = dict()
724-
for key,item in initialSurfaceCoverages.items():
725-
initialCondSurf[key] = item*rmg.surface_site_density.value_si*A
721+
for key, surf_cov in initialSurfaceCoverages.items():
722+
initialCondSurf[key] = surf_cov * rmg.surface_site_density.value_si * A
726723
initialCondSurf["T"] = T
727724
initialCondSurf["A"] = A
728725
initialCondSurf["d"] = 0.0
@@ -771,8 +768,7 @@ def constant_T_V_liquid_reactor(temperature,
771768

772769
for spec, conc in initialConcentrations.items():
773770
if not isinstance(conc, list):
774-
concentration = Quantity(conc)
775-
initialConcentrations[spec] = concentration.value_si
771+
initialConcentrations[spec] = Quantity(conc)
776772
else:
777773
raise InputError("Condition ranges not supported for this reaction type")
778774
if len(conc) != 2:
@@ -880,16 +876,16 @@ def constant_T_V_liquid_reactor(temperature,
880876
############################################### process inputs ##############################################
881877

882878
initial_conditions = dict()
883-
for key, item in initialConcentrations.items():
884-
initial_conditions[key] = item*V
879+
for key, conc in initialConcentrations.items():
880+
initial_conditions[key] = conc.value_si * V
885881
initial_conditions["T"] = T
886882
initial_conditions["V"] = V
887883

888884
inlet_conditions = dict()
889885
if inletConcentrations:
890886
total_molar_flow_rate = 0
891-
for key, item in inletConcentrations.items():
892-
inlet_conditions[key] = item*inlet_volumetric_flow_rate
887+
for key, inlet_conc in inletConcentrations.items():
888+
inlet_conditions[key] = inlet_conc.value_si * inlet_volumetric_flow_rate
893889
total_molar_flow_rate += inlet_conditions[key]
894890
for key, item in inlet_conditions.items():
895891
inlet_conditions[key] = item/total_molar_flow_rate #molar fraction for each species
@@ -946,10 +942,7 @@ def liquid_reactor(temperature,
946942

947943
for spec, conc in initialConcentrations.items():
948944
if not isinstance(conc, list):
949-
concentration = Quantity(conc)
950-
# check the dimensions are ok
951-
# convert to mol/m^3 (or something numerically nice? or must it be SI)
952-
initialConcentrations[spec] = concentration.value_si
945+
initialConcentrations[spec] = Quantity(conc)
953946
else:
954947
if len(conc) != 2:
955948
raise InputError("Concentration values must either be in the form of (number,units) or a list with 2 "

0 commit comments

Comments
 (0)