-
Notifications
You must be signed in to change notification settings - Fork 139
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
Conversation
…aginary part with the real code
Can one of the maintainers verify this patch? |
OK to test |
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 going to try template the LoadCMatrix after you address my request. In this case, serialization works better.
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.
Unless objections are posted, will merge first thing Monday. Needed due to workshop schedule.
You mean the 1e-6? It is just slightly below machine precision in single
precision. To specify it outside we might need to have it defined at
compile time but we could indeed specify it somewhere.
…On Sat, May 4, 2019, 15:44 Paul R. C. Kent ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.cpp
<#1578 (comment)>:
> aAttrib.put(cur);
if (cur != NULL)
aAttrib.put(cur);
+ if (std::abs(twist[0]-0.0) > 1e-6 && std::abs(twist[1]-0.0) > 1e-6 &&
Better to #define the magic number as well
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<#1578 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AF4XVQ2RZLPSPWWXP2JZFWTPTXYUFANCNFSM4HKXEXCA>
.
|
Yes. Good to define all constants with a meaningful name vs burying them in the source. |
@anbenali in the kpt test folder "C_Diamond-211.wfnoj.xml" is missing. |
Q: what is the difference between diamondC_2x1x1-Gaussian_pp and diamondC_2x1x1-Gaussian_pp_kpts? |
Super cell using gamma and real wavefunction with DFT trial wavefunction VS
primitive cell with kpoints and a complex wavefunction with a ~ 0 imaginary
part.
…On Sun, May 5, 2019, 11:16 Ye Luo ***@***.***> wrote:
Q: what is the difference between diamondC_2x1x1-Gaussian_pp and
diamondC_2x1x1-Gaussian_pp_kpts?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1578 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AF4XVQZXXBU3LNLCTSBE7TDPT4B4DANCNFSM4HKXEXCA>
.
|
@ye-luo OK? |
Sorry for the delay. They are added now.
…On Mon, May 6, 2019 at 9:10 AM Ye Luo ***@***.***> wrote:
@anbenali <https://github.com/anbenali> Could you add
C_Diamond-211.wfnoj.xml in kpt folders?
@prckent <https://github.com/prckent> This is the only thing left.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1578 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AF4XVQ5FVYQU6KXHKOA2R73PUA35RANCNFSM4HKXEXCA>
.
--
-----------------------
Anouar Benali, PhD
Leadership Computing Facility
Argonne National Laboratory
Building 240 Office - 2127
9700 S Cass Av., Argonne Il, 60439
(630) 252-0058
|
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:
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.