-
Notifications
You must be signed in to change notification settings - Fork 24
Modified MRCI implementation in Molpro and Orca adapters #746
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
1ddea11 to
337468e
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #746 +/- ##
==========================================
+ Coverage 74.50% 74.67% +0.16%
==========================================
Files 103 103
Lines 28114 28238 +124
Branches 5827 5858 +31
==========================================
+ Hits 20946 21086 +140
+ Misses 5678 5657 -21
- Partials 1490 1495 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
|
||
| input_template = """***,${label} | ||
| memory,${memory},m; | ||
| memory,Total=${memory},m; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The also requires a change to the defaults we use in the settings.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The memory in settings.py is the max memory the user allowed for troubleshooting purposes (when ARC needs to increase the memory, that is the limit). It shouldn't affect the memory in the input file
kfir4444
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @alongd!
Please see the following comments
|
@kfir4444, I think this PR can be merged. Can you take a final look? |
b04591f to
5fbaaba
Compare
alongd
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, thanks!
996253d to
eaafcab
Compare
69f4ab7 to
e3fd2fc
Compare
5c776f5 to
21ef5cc
Compare
arc/species/species.py
Outdated
| Fragments represented by this species, i.e., as in a VdW well or a TS. | ||
| Entries are atom index lists of all atoms in a fragment, each list represents a different fragment. | ||
| occ (int): The number of occupied orbitals (core + val) from a molpro CCSD sp calc. | ||
| active (dict): The active orbitals. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please elaborate
|
@kfir4444, please take a final look and I'll squash |
04939bd to
5828bca
Compare
and removed the unused occ attr
scf_energy_initial_iteration was referenced before assignment
and organised other examples into Reactions and Stationary subfolders
MRCI and CASPT2 (RS2C)
| for method in methods: | ||
| if method == 'mp2': | ||
| block += '\n\n%mp2\n RI true\nend' | ||
| elif method == 'casscf': |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a possibility to perform MRCI without casscf?
| if not os.path.isfile(sp_path): | ||
| raise InputError(f'Could not find file {sp_path}') | ||
| active = dict() | ||
| num_heavy_atoms = sum([1 for symbol in species.get_xyz()['symbols'] if symbol not in ['H', 'D', 'T']]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this could be confusing without explicit check for ess.
| if nuclear_charge is None: | ||
| return None | ||
| active_space_electrons = nuclear_charge - species.charge - 2 * num_heavy_atoms | ||
| if (total_closed_shell_orbitals is None) ^ (total_active_orbitals is None): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my opinion, XOR operator makes the code a bit less readable. What do you think?
| break | ||
| if nuclear_charge is None: | ||
| return None | ||
| active_space_electrons = nuclear_charge - species.charge - 2 * num_heavy_atoms |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you go into further details here?
Also changed input file memory to be total instead of per CUP
Added test
Currently testing on the server, do not merge, but comments are welcomed