ReactionMechanismGenerator / RMG-Py

Python version of the amazing Reaction Mechanism Generator (RMG).
http://reactionmechanismgenerator.github.io/RMG-Py/
Other
382 stars 226 forks source link

Bad Conformer ID problem with QM #2022

Closed rlawson closed 1 year ago

rlawson commented 4 years ago

I'm generating a model for a gasoline-air reaction system and estimating thermodynamic properties using the QM module. During the simulation I ran into an error shown below.

Traceback (most recent call last):
  File "rmg.py", line 111, in <module>
    main()
  File "rmg.py", line 105, in main
    rmg.execute(**kwargs)
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/rmg/main.py", line 651, in execute
    self.initialize(**kwargs)
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/rmg/main.py", line 484, in initialize
    self.load_database()
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/rmg/main.py", line 408, in load_database
    family.add_rules_from_training(thermo_database=self.database.thermo)
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/data/kinetics/family.py", line 1220, in add_rules_from_training
    reactant.thermo = thermo_database.get_thermo_data(reactant, training_set=True)
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/data/thermo.py", line 1240, in get_thermo_data
    tdata = self.estimate_radical_thermo_via_hbi(molecule, quantum_mechanics.get_thermo_data)
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/data/thermo.py", line 1844, in estimate_radical_thermo_via_hbi
    thermo_data_sat = stable_thermo_estimator(saturated_struct)
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/qm/main.py", line 216, in get_thermo_data
    thermo0 = qm_molecule_calculator.generate_thermo_data()
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/qm/molecule.py", line 359, in generate_thermo_data
    self.qm_data = self.generate_qm_data()
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/qm/mopac.py", line 302, in generate_qm_data
    self.create_geometry()
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/qm/molecule.py", line 325, in create_geometry
    self.geometry.generate_rdkit_geometries()
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/qm/molecule.py", line 135, in generate_rdkit_geometries
    self.save_coordinates_from_rdmol(rdmol, min_e_id, rdatom_idx)
  File "/home1/rlawson/.conda/envs/rmg_env3/lib/python3.7/site-packages/rmgpy/qm/molecule.py", line 173, in save_coordinates_from_rdmol
    point = rdmol.GetConformer(min_e_id).GetAtomPosition(atom.sorting_label)
ValueError: Bad Conformer Id

I also run a second simulation with the basic ethane input file on the rmg.MIT website, but using QM (instead of the default group additivity) and it results in a similar issue; i.e. Bad Conformer Id. I'll appreciate if you could direct me to the source of what is causing the issue.

Installation Information I've installed RMG using Anaconda on a Linux system. RMG 3.0.0 Anaconda3-2019.10

aiscarruthers commented 3 years ago

I also get the same error running the 1,3 hexadiene example

lynnrinkui commented 3 years ago

getting the same errorTraceback (most recent call last): File "/Users/lynnrinkui/Documents/RMG-Py/rmg.py", line 118, in main() File "/Users/lynnrinkui/Documents/RMG-Py/rmg.py", line 112, in main rmg.execute(kwargs) File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/rmg/main.py", line 673, in execute self.initialize(kwargs) File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/rmg/main.py", line 496, in initialize self.load_database() File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/rmg/main.py", line 420, in load_database family.add_rules_from_training(thermo_database=self.database.thermo) File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/data/kinetics/family.py", line 1269, in add_rules_from_training reactant.thermo = thermo_database.get_thermo_data(reactant, training_set=True, metal_to_scale_to=metal) File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/data/thermo.py", line 1319, in get_thermo_data tdata = self.estimate_radical_thermo_via_hbi(molecule, quantum_mechanics.get_thermo_data) File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/data/thermo.py", line 2019, in estimate_radical_thermo_via_hbi thermo_data_sat = stable_thermo_estimator(saturated_struct) File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/qm/main.py", line 216, in get_thermo_data thermo0 = qm_molecule_calculator.generate_thermo_data() File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/qm/molecule.py", line 363, in generate_thermo_data self.qm_data = self.generate_qm_data() File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/qm/mopac.py", line 302, in generate_qm_data self.create_geometry() File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/qm/molecule.py", line 325, in create_geometry self.geometry.generate_rdkit_geometries() File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/qm/molecule.py", line 135, in generate_rdkit_geometries self.save_coordinates_from_rdmol(rdmol, min_e_id, rdatom_idx) File "/Users/lynnrinkui/Documents/RMG-Py/rmgpy/qm/molecule.py", line 173, in save_coordinates_from_rdmol point = rdmol.GetConformer(min_e_id).GetAtomPosition(atom.sorting_label) ValueError: Bad Conformer Id

I'm using the newest version as of today. I just updated my rmg-py through git. I hope somebody can fix this issue soon.

github-actions[bot] commented 1 year ago

This issue is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant issue, otherwise it will automatically be closed in 30 days.