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

LCAO complex without the phase factor #1578

Merged
merged 13 commits into from
May 6, 2019

Conversation

anbenali
Copy link
Contributor

@anbenali anbenali commented May 3, 2019

This PR enables the complex build of LCAO branch with QMC_COMPLEX.
The Phase factor is however not applied yet as we do not know exactly how to handle it for now. However, if the phase factor is known to be 1 (the Gamma point case), results are correct.
This mainly enables the use of Kpoints and promitive cells with supertwists from Pyscf.

-In terms of changes:

Converter:

  • Since the tiling is done inside the Pyscf converter, carrying the twist number in the naming of the input files does not make sens any more and was removed.
  • shape of NAO and NMO was fixed to close bug Cannot reproduce PySCF diamondC_Xx1x1-Gaussian-pp Workflow #1422
  • Coordinate of supertwist passed to HDF5 and compared against twist tag in xml Input
  • Data stored under SuperTwist instead of Kpoint0 (backwards compatibility for molecules preserved)
  • Remove abort in converter if Wavefunction is complex. Instead puts IsComplex Flag to True and stores Imaginary part of the WF in a Real array.

QMCPACK:

  • Reading Real Coeff Matrix and Complex Coeff Matrix from two function that should be templated into one function with specialization.

  • Passing parameters (PBCimages, twist) to evalV and evalVGH, in prevision of the application of the phase factor.

  • Creating a fiunction in the builder evaluating exp(ik.g) where k is the supertwist and g are the translation vctors (PBCImages). Not called yet as it is yet to be confirmed.

TEST CASES:

  • Update solids H5 files with new Nomenclature (storage of all data under SuperTwist instead of KPOINT0). Since I am the only one who used production wise this branch of the code it was easier to just update examples. data is however the same.

  • Change completely the diamondC_2x1x1-Gaussian_pp_kpts built using a primitive cell and 2 kpoints with a complex wavefunction with null imaginary part. Trial wavefunction comes from HF which allows a direct comparison of accuracy using VMC and No Jastrows.
    Test works with the real code and complex code.

This PR cancelled the preious WIP PR.

@ghost ghost assigned anbenali May 3, 2019
@ghost ghost added the in progress label May 3, 2019
@qmc-robot
Copy link

Can one of the maintainers verify this patch?

@prckent
Copy link
Contributor

prckent commented May 3, 2019

OK to test

@anbenali anbenali mentioned this pull request May 3, 2019
1 task
@prckent prckent changed the title Lcao cmplex without the phase factor LCAO complex without the phase factor May 3, 2019
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.

I'm going to try template the LoadCMatrix after you address my request. In this case, serialization works better.

src/QMCTools/LCAOH5Parser.h Outdated Show resolved Hide resolved
src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.cpp Outdated Show resolved Hide resolved
src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.h Outdated Show resolved Hide resolved
src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.h Outdated Show resolved Hide resolved
src/QMCWaveFunctions/lcao/SoaAtomicBasisSet.h Outdated Show resolved Hide resolved
src/QMCWaveFunctions/lcao/SoaLocalizedBasisSet.h Outdated Show resolved Hide resolved
src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.cpp Outdated Show resolved Hide resolved
@anbenali anbenali requested a review from ye-luo May 4, 2019 06:36
@ghost ghost assigned prckent May 4, 2019
@prckent prckent self-requested a review May 4, 2019 20:41
Copy link
Contributor

@prckent prckent left a comment

Choose a reason for hiding this comment

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

Unless objections are posted, will merge first thing Monday. Needed due to workshop schedule.

@anbenali
Copy link
Contributor Author

anbenali commented May 4, 2019 via email

@prckent
Copy link
Contributor

prckent commented May 5, 2019

Yes. Good to define all constants with a meaningful name vs burying them in the source.

@ye-luo
Copy link
Contributor

ye-luo commented May 5, 2019

@anbenali in the kpt test folder "C_Diamond-211.wfnoj.xml" is missing.

@ye-luo
Copy link
Contributor

ye-luo commented May 5, 2019

Q: what is the difference between diamondC_2x1x1-Gaussian_pp and diamondC_2x1x1-Gaussian_pp_kpts?

@ghost ghost assigned ye-luo May 5, 2019
@anbenali
Copy link
Contributor Author

anbenali commented May 5, 2019 via email

@prckent
Copy link
Contributor

prckent commented May 6, 2019

@ye-luo OK?

@ye-luo
Copy link
Contributor

ye-luo commented May 6, 2019

@anbenali Could you add C_Diamond-211.wfnoj.xml in kpt folders?
@prckent This is the only thing left.

@anbenali
Copy link
Contributor Author

anbenali commented May 6, 2019 via email

@ye-luo ye-luo merged commit fea17b4 into QMCPACK:develop May 6, 2019
@ghost ghost removed the in progress label May 6, 2019
@anbenali anbenali deleted the LCAO-CMPL-PrePhase branch October 8, 2021 18:21
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.

4 participants