Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
d7e3608
Added the only_forward and only_reverse attribute to KineticsFamily
alongd Jul 18, 2019
4f956b7
Don't crush if can't train families for forbidden groups
alongd Jul 16, 2019
713a890
Don't crush if a solvation thermo correction cannot be attained
alongd Jan 15, 2020
efc82f4
Replace pdep kinetics with the high P limit rate
alongd Jan 21, 2020
3d84ea4
Don't crush due to flux pairs
alongd Jan 21, 2020
cdc29b7
Silence atom type update error
alongd Jan 21, 2020
8613d89
Don't correct ArrheniusEP Ea
alongd Apr 13, 2020
32c2554
knockout allyl delocalization onto aromatic species
alongd May 1, 2020
3def24d
Don't add non-library API rxns to the core
alongd May 2, 2020
0677ca5
add decay file and decay_molecule
mjohnson541 Feb 12, 2020
ebf47ac
add decay_species for recursively breaking down a species object
mjohnson541 Feb 12, 2020
429f212
add template,recipe tuple for QdOOH decay
mjohnson541 Feb 12, 2020
79b2310
update make_new_species to run the decay process on input species if …
mjohnson541 Feb 12, 2020
15ab852
properly handle reaction creation with decaying species
mjohnson541 Feb 12, 2020
781e2e3
prevent own_reverse reactions with decaying products from being estim…
mjohnson541 Feb 12, 2020
aa7d750
TmpBugFix: filter out reactions that have incorrect num of reacts/prods
oscarwumit May 4, 2020
3a35b7b
Remove comment to avoid complaint when reading chemkin file
oscarwumit May 20, 2020
7918f94
Revert "Remove comment to avoid complaint when reading chemkin file"
oscarwumit May 20, 2020
4515419
Revert "Revert "Remove comment to avoid complaint when reading chemki…
oscarwumit May 20, 2020
4f9ccb6
Commented out chemkin assertion
oscarwumit Jun 8, 2020
72451ae
tmp: do not raise if cannot find atom energies
oscarwumit Aug 19, 2020
6eec04d
add option to remove empirical terms in CBS-QB3
dranasinghe Sep 14, 2020
69f5861
minor bug fixed
dranasinghe Sep 14, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion arkane/encorr/corr.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ def get_atom_correction(level_of_theory: Union[LevelOfTheory, CompositeLevelOfTh
try:
atom_energies = data.atom_energies[energy_level.simple()]
except KeyError:
raise AtomEnergyCorrectionError(f'Missing atom energies for {energy_level}')
return corr
else:
logging.warning(f'No exact atom energy match found for {energy_level}.'
f' Using {energy_level.simple()} instead.')
Expand Down
32 changes: 21 additions & 11 deletions arkane/ess/gaussian.py
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ def load_conformer(self, symmetry=None, spin_multiplicity=0, optical_isomers=Non
return Conformer(E0=(e0 * 0.001, "kJ/mol"), modes=modes, spin_multiplicity=spin_multiplicity,
optical_isomers=optical_isomers), unscaled_frequencies

def load_energy(self, zpe_scale_factor=1.):
def load_energy(self, zpe_scale_factor=1. , remove_empirical = False):
"""
Load the energy in J/mol from a Gaussian log file. The file is checked
for a complete basis set extrapolation; if found, that value is
Expand Down Expand Up @@ -299,6 +299,13 @@ def load_energy(self, zpe_scale_factor=1.):

elif 'E(ZPE)' in line:
scaled_zpe = float(line.split()[1]) * constants.E_h * constants.Na
elif ' DE(CBS)=' in line:
cbs = float(line.split()[1]) * constants.E_h * constants.Na
elif ' DE(Int)=' in line:
cbs_int = float(line.split()[-1]) * constants.E_h * constants.Na
elif ' DE(Empirical)=' in line:
empirical = float(line.split()[1]) * constants.E_h * constants.Na

elif '\\ZeroPoint=' in line:
line = line.strip() + f.readline().strip()
start = line.find('\\ZeroPoint=') + 11
Expand All @@ -307,16 +314,19 @@ def load_energy(self, zpe_scale_factor=1.):
# Read the next line in the file
line = f.readline()

if e0_composite is not None:
logging.debug("Using the composite energy from the gaussian output file")
if scaled_zpe is None:
raise LogError('Unable to find zero-point energy in Gaussian log file.')
return e0_composite - scaled_zpe
elif e_elect is not None:
logging.debug("Using the {0} energy from the gaussian output file".format(elect_energy_source))
return e_elect
else:
raise LogError('Unable to find energy in Gaussian log file.')
if e0_composite is not None and remove_empirical:
logging.debug("removing cbs, interference, and empirical correction for the composite energy")
return e0_composite - scaled_zpe - (cbs + cbs_int + empirical)
elif e0_composite is not None:
logging.debug("Using the composite energy from the gaussian output file")
if scaled_zpe is None:
raise LogError('Unable to find zero-point energy in Gaussian log file.')
return e0_composite - scaled_zpe
elif e_elect is not None:
logging.debug("Using the {0} energy from the gaussian output file".format(elect_energy_source))
return e_elect
else:
raise LogError('Unable to find energy in Gaussian log file.')

def load_zero_point_energy(self):
"""
Expand Down
12 changes: 7 additions & 5 deletions rmgpy/chemkin.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -690,18 +690,20 @@ def read_reaction_comments(reaction, comments, read=True):
if reactant.label == reac_str:
break
else:
raise ChemkinError('Unexpected species identifier {0} encountered in flux pairs '
'for reaction {1}.'.format(reac_str, reaction))
logging.error('Unexpected species identifier {0} encountered in flux pairs '
'for reaction {1}.'.format(reac_str, reaction))
continue
if prod_str[-1] == ';':
prod_str = prod_str[:-1]
for product in reaction.products:
if product.label == prod_str:
break
else:
raise ChemkinError('Unexpected species identifier {0} encountered in flux pairs '
'for reaction {1}.'.format(prod_str, reaction))
logging.error('Unexpected species identifier {0} encountered in flux pairs '
'for reaction {1}.'.format(prod_str, reaction))
continue
reaction.pairs.append((reactant, product))
assert len(reaction.pairs) == max(len(reaction.reactants), len(reaction.products))
# assert len(reaction.pairs) == max(len(reaction.reactants), len(reaction.products))

elif isinstance(reaction, TemplateReaction) and 'rate rule ' in line:
bracketed_rule = tokens[-1]
Expand Down
Loading