-
Notifications
You must be signed in to change notification settings - Fork 18
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
Add energy contributions #36
base: develop
Are you sure you want to change the base?
Conversation
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.
Some minor remarks, but agreed, that's something useful to have, thanks a lot!
if not match: | ||
if match: | ||
energies["total force_eval"] = match["value"] | ||
spans += match.spans(0) |
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.
spans += match.spans(0) | |
spans += [match.spans(0)] |
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 reversed this change since it was resulting in the cli tests to fail. Checking the output I believe that my original implementation was actually already giving the correct output?
cp2k_output_tools/blocks/scf.py
Outdated
@@ -71,7 +71,7 @@ | |||
|
|||
|
|||
INNER_SCF_START_RE = re.compile(r"^\s+ SCF\ WAVEFUNCTION\ OPTIMIZATION", re.VERBOSE | re.MULTILINE) | |||
INNER_SCF_END_RE = re.compile( | |||
INNER_SCF_CONV_RE = re.compile( |
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 note that the blocks themselves can be used by other tools, changing the names will break them.
But if you think there is good reason to do so, please continue. The only thing I would then ask you is whether you can add a new entry in CHANGELOG.md
for the next minor version (major.minor.patch) to make sure we don't forget to bump it on the next release for the backwards incompatible change.
The reason I called it SCF_END_RE
is because it's notoriously difficult to reliably determine whether the CP2K (SCF) finished properly. The idea was to assume that the presence of that line indicates a finished SCF, everything else not.
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.
Sorry, I didn't take that into consideration. I just thought that as the energies are parsed further below in the output file and SCF_END_RE would refer to the end of the inner SCF cycle it would make sense to rename it.
However, having backwards compatibility is probably more important in this case, thus I reversed this change.
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
Co-authored-by: Tiziano Müller <tm@dev-zero.ch>
…wards incompatibility.
Thank you for the swift review and feedback. Except maybe for the format of the spans I believe it is ready to be merged. |
Hi Tiziano,
I thought it would be nice to parse in addition to the force consistent energy also the uncorrected total energy and other energy contributions, e.g. to check the impact of dispersion corrections etc. As for the levelparser I added the energies to the InnerSCF block.
I didn't add new tests but adjusted the existing ones to also check the new properties.
Please let me know what you think.
All the best,
Holger