Skip to content
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

Orbital rotation test with hcp Be #4304

Merged
merged 4 commits into from
Nov 4, 2022
Merged

Conversation

markdewing
Copy link
Contributor

The hcpBe test is the solid system with the fewest electrons (2), making it useful for validating orbital rotation with a 2x2 rotation matrix.
The test adds some point values for the system with unrotated and rotated orbitals.
The validation script adds support for this system, along with a wavefunction class usable with run_qmc. (Eventually there will be tests using the output of run_qmc)

The convertPos function was simplified and corrected (the if-tests in the C++ code were only for a narrow special case, not a general less-than-zero case)

What type(s) of changes does this code introduce?

Delete the items that do not apply

  • Testing changes (e.g. new unit/integration/performance tests)

Does this introduce a breaking change?

  • No

What systems has this change been tested on?

desktop

Checklist

Update the following with a yes where the items apply. If you're unsure about any of them, don't hesitate to ask. This is
simply a reminder of what we are going to look for before merging your code.

  • Yes. This PR is up to date with current the current state of 'develop'
  • Yes. Code added or changed in the PR has been clang-formatted
  • Yes. This PR adds tests to cover any new code, or to catch a bug that is being fixed
  • N/A. Documentation has been added (if appropriate)

The existing hcpBe test is useful because it has only two electrons.

Add some values for orbital rotation with two orbitals.
- Add point values for the hcpBe case.
- Add a function to rotate the spline coefficients (2x2 rotation)
- Simplify and correct the convertPos function.
- Add hcpBe wavefunction for running QMC. (The values are not used in a
  test, yet)
- The wavefunction has some additional functions for evaluating a single orbital,
  for use with the "RotatedSPOs hcpBe" test.
@markdewing
Copy link
Contributor Author

Test this please

Copy link
Contributor

@ye-luo ye-luo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only minor requests.

src/QMCWaveFunctions/tests/test_RotatedSPOs.cpp Outdated Show resolved Hide resolved
src/QMCWaveFunctions/tests/test_RotatedSPOs.cpp Outdated Show resolved Hide resolved
src/QMCWaveFunctions/tests/test_RotatedSPOs.cpp Outdated Show resolved Hide resolved
The save_coefs attribute is not needed for normal test operation.
Also make some variable setting more compact.
@markdewing
Copy link
Contributor Author

Test this please

@prckent prckent merged commit 89af1d7 into QMCPACK:develop Nov 4, 2022
@markdewing markdewing deleted the orb_rot_hcpBe branch November 4, 2022 15:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants