-
Notifications
You must be signed in to change notification settings - Fork 69
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
Feat: Add run types for GW calculations #1105
Feat: Add run types for GW calculations #1105
Conversation
Thanks for resubmitting @yanghan234, your last PR got submitted right as we were updating how we generate the calc_type/run_type enums, sorry for the extra work. Re: the empty CONTCAR, when might that apply? Is that an edge case specific to the GW workflow? |
Thanks @tsmathis, yes, this is the edge case that I only oberve in the G0W0 calculation. In the G0W0 calculation, ionic steps are never updated. In addition, there is only one electronic step in such calculations, i.e. NELM = 1 or NELMGW=1. This is probably the reason that the CONTCAR is not written. |
@@ -748,7 +748,10 @@ def from_vasp_files( | |||
volumetric_files = [] if volumetric_files is None else volumetric_files | |||
vasprun = Vasprun(vasprun_file, **vasprun_kwargs) | |||
outcar = Outcar(outcar_file) | |||
contcar = Poscar.from_file(contcar_file) | |||
try: |
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.
Given your comment about when CONTCAR
is not written, could you change this to:
if not os.path.isfile(contcar_file) and vasprun.parameters.get("NELM",60) == 1:
contcar = Poscar(vasprun.final_structure)
else:
contcar = Poscar.from_file(contcar_file)
This should help separate cases where something has gone wrong (CONTCAR missing for any reason) vs. expected behavior when NELM is 1
@@ -140,4 +140,5 @@ TASK_TYPES: | |||
- Deformation | |||
- Optic | |||
- Molecular Dynamics | |||
- GW Band Structure |
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'm not sure I would put GW Band Structure
as a task type. I think you want to add GW
to the run types based on the ALGO
. Then the corresponding task type would be NSCF Line
or NSCF Uniform
, which is what we use to indicate band structure calculations along a line in the Brillouin zone (NSCF Line
), or using a regular k-point grid (NSCF Uniform
). 'Static' is also an acceptable fallback
Also there need to be features in emmet.core.vasp.calc_types.utils
to parse these, they were in your original PR, can you migrate these over?
Thanks @esoteric-ephemera, please give me some time to fix them. Meanwhile, I realize that |
The issue with checking the enums for forks was an oversight on my part.
You don’t need to worry about that.
…On Wed, Sep 25, 2024 at 6:19 PM Han Yang ***@***.***> wrote:
Thanks @esoteric-ephemera <https://github.com/esoteric-ephemera>, please
give me some time to fix them. Meanwhile, I realize that
testing/check-enums check fails because it cannot find the branch in the
forked repo under my personal account. Is this a problem with the CI setup,
should I be concerned about this?
—
Reply to this email directly, view it on GitHub
<#1105 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIPH7AB7KHDJ4VPMUM7U3VTZYNOKDAVCNFSM6AAAAABOQI2WTGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNZVGU2DQNJWHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
@esoteric-ephemera Thanks for the comments. I have updated the codes according to your comments. They are not exactly the same as what you proposed, so please take a look. |
@@ -748,7 +749,13 @@ def from_vasp_files( | |||
volumetric_files = [] if volumetric_files is None else volumetric_files | |||
vasprun = Vasprun(vasprun_file, **vasprun_kwargs) | |||
outcar = Outcar(outcar_file) | |||
contcar = Poscar.from_file(contcar_file) | |||
if ( | |||
os.path.getsize(contcar_file) == 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.
Can we change this to not os.path.isfile(contcar_file) or os.path.getsize(contcar_file) == 0
? Or is the CONTCAR written for GW but it's just empty?
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.
Yes, the case is the CONTCAR written for GW but it's just empty
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1105 +/- ##
=======================================
Coverage 89.97% 89.97%
=======================================
Files 143 143
Lines 13723 13756 +33
=======================================
+ Hits 12347 12377 +30
- Misses 1376 1379 +3 ☔ View full report in Codecov by Sentry. |
@tsmathis while we're figuring out a secure solution for pushing to external forks, is it OK if I merge this? CI on main should fix the enum formatting as needed |
Yep all good on my end |
42606d4
into
materialsproject:main
Added GW-related configurations and modified utilities
This PR is a dependency of a PR in the atomate2 repo [WIP] feat: GW workflow with VASP. I previously submitted a PR in #1099 . However, I realized that I did not properly modified the calculation types, enums, etc. In this PR, these have been corrected.
Contributor Checklist
Tagging @mkhorton for awareness.