ReactionMechanismGenerator / ARC

ARC - Automatic Rate Calculator
https://reactionmechanismgenerator.github.io/ARC/index.html
MIT License
43 stars 21 forks source link

Stable functional test #578

Open kfir4444 opened 1 year ago

kfir4444 commented 1 year ago

Is your feature request related to a problem? Please describe. The CI fails sometimes due to an error related to reading yaml files in the kinetic tests, regarding the conformers of the TS. I have added a temporary fix for that, however, a more stable solution is required in the future.

Describe the solution you'd like Perhaps using FF instead of gfn2 (semi- empirical) can lead to a more stable (and even probably faster) CI. When a FF adapter will be implemented, it should be used in the functional test.

Describe alternatives you've considered One can also try to fix the current issue with the CI.

kfir4444 commented 1 year ago

The traceback of the error we usually get:


functional/functional_test.py:91: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
arc/main.py:583: in execute
    fine_only=self.fine_only,
arc/scheduler.py:481: in __init__
    self.schedule_jobs()
arc/scheduler.py:559: in schedule_jobs
    self.run_conformer_jobs(labels=[label])
arc/scheduler.py:10[35](https://github.com/ReactionMechanismGenerator/ARC/actions/runs/3669843893/jobs/6203964560#step:9:36): in run_conformer_jobs
    self.run_ts_conformer_jobs(label=label)
arc/scheduler.py:1074: in run_ts_conformer_jobs
    conformer=i,
arc/scheduler.py:825: in run_job
    job.execute()
arc/job/adapter.py:316: in execute
    self.execute_incore()
arc/job/adapters/xtb_adapter.py:[43](https://github.com/ReactionMechanismGenerator/ARC/actions/runs/3669843893/jobs/6203964560#step:9:44)0: in execute_incore
    self.opt_ts()
arc/job/adapters/xtb_adapter.py:316: in opt_ts
    results = read_yaml_file(os.path.join(self.local_path_to_output_file))
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

path = '/home/runner/work/ARC/ARC/functional/test/kinetic/calcs/TSs/TS0/conformer4/output.yml'
project_directory = None```
kfir4444 commented 1 year ago

In addition, we require a functional test for the directed scans job type. This can be done using the torchani (PR#538) of openbabel (PR#601) adapters. Also see PR#602 for additional context.