ReactionMechanismGenerator / ReactionMechanismGenerator/ARC
parse_frequencies doesn't parse imaginary frequencies correctly.
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 51
- Forks
- 25
- Avg merge
- 4d 5h
- Merged PRs (30d)
- 15
Description
Describe the bug
When parsing frequencies from Molpro's output, if the output has imaginary frequencies (as in the example output), then the function returns them as non-negative.
example:
>>> from arc.parser import parse_frequencies
>>> parse_frequencies("output.txt", software="Molpro")
array([2127. , 456.65, 691.4 , 1237.97, 1582.75, 2494.32])
How to reproduce
download the output example, and run:
>>> from arc.parser import parse_frequencies
>>> parse_frequencies("output.txt", software="Molpro")
In the Downloads directory. The output should be:
array([2127. , 456.65, 691.4 , 1237.97, 1582.75, 2494.32])
While a correct output is:
array([-2127. , 456.65, 691.4 , 1237.97, 1582.75, 2494.32])
Additional context
Output example
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the arc.parser.parse_frequencies entry point and reproduce the issue with the linked output.txt example using software="Molpro". Inspect how Molpro frequency lines are read, then verify that imaginary frequencies retain their negative sign and that the returned array matches the corrected example.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100