-
Notifications
You must be signed in to change notification settings - Fork 142
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
Nexus: Extend excitations to allow 'lowest' gap #3628
Conversation
Can one of the admins verify this patch? |
Changing to draft PR. There are a few additional tests I would like to look at before this goes in. |
Okay, IMO this PR is ready to go in -- removing draft state. For diamond (primitive with 4 up and 4 down electrons), I tested that the VMC-NoJ kinetic energies from various excitation (gamma-to-gamma) specifications agree with the total kinetic energy from the Ground: ground state WF All the VMC KEs appear to be in really good agreement here and also in good agreement with |
Looking good overall. Just needs some hardening. |
This PR should now be ready for review. |
Test this please |
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.
See comments below.
@jtkrogel I think everything in your review is either addressed or outdated |
nexus/examples/qmcpack/rsqmc_misc/excited/vmc_excitation_alternatives.py
Show resolved
Hide resolved
nexus/lib/qmcpack.py
Outdated
else: | ||
bands[bnum] = cb | ||
#end if | ||
elif 'VB' in b: |
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.
Still needs lowercase comparison ('vb' in b.lower()). And similar for any other cases.
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.
LGTM
Test this please |
Proposed changes
This PR allows the user to specify 'lowest' for the excitation, e.g.,
where nexus will then generate the lowest excitation for the given type (up,down,singlet,triplet) based on the energy index (electron count). The resulting qmcpack input will contain the corresponding excitation in energy format.
This PR also fixes a couple minor bugs in the previous 'singlet' and 'triplet' types.
In addition, post analysis checks for the various excitation input types have been added -- the user's input is checked against qmcpack's generated einspline files to verify that the user's requested excitation is consistent with the change to the einspline file.
What type(s) of changes does this code introduce?
Does this introduce a breaking change?
simulation_module
)What systems has this change been tested on?
Ubuntu desktop
Checklist