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

New Functor for Short Ranged en Jastrow #1680

Merged
merged 18 commits into from Jul 10, 2019

Conversation

@eneuscamman
Copy link
Contributor

commented Jun 29, 2019

I have implemented a new functor intended to act as an optimizable, short-ranged one-body Jastrow factor for correcting Gaussian orbitals in the cusp region. Unlike the pre-computed cusp correction, this functor can respond to changes in the wave function during VMC optimization, which we expect to be important as we begin to explore core excitations in first row atoms. With a core excitation, the electron density near the nucleus changes dramatically, and the resulting orbital relaxations should be accompanied by the ability to change the detailed behavior near the nucleus while maintaining exact cusp conditions. This functor seeks to provide this capability.

@eneuscamman eneuscamman requested a review from ye-luo Jun 29, 2019

@qmc-robot

This comment has been minimized.

Copy link
Collaborator

commented Jun 29, 2019

Can one of the maintainers verify this patch?

@markdewing

This comment has been minimized.

Copy link
Contributor

commented Jun 29, 2019

okay to test

@ye-luo
Copy link
Contributor

left a comment

We need a unit test to be sure that the added functor won't break over time.
Please take src/QMCWaveFunctions/tests/test_user_jastrow.cpp as an example.

manual/opt.tex Outdated Show resolved Hide resolved
@prckent
Copy link
Contributor

left a comment

EDIT: Had not seen Ye's comment before writing this. We agree in any case.

A unit test would be helpful.

@markdewing Did you ever try to build one for any of the other Functors? What would be the best piece of code for @eneuscamman to start from?

@eneuscamman Nice to see. Have you found this form particularly helpful so far or is this more experimental?

PRE.error("Unrecognized value for \"optimize\". Should be either yes or no", true);
}

}

This comment has been minimized.

Copy link
@prckent

prckent Jul 1, 2019

Contributor

Add an abort here if the cname is unrecognized i.e. There is a typo.

This comment has been minimized.

Copy link
@eneuscamman

eneuscamman Jul 1, 2019

Author Contributor

So far it is experimental, but in early testing it does a better job than using a short-ranged, finely spaced spline form. As we learn more, the preferred functional form for these purposes may evolve...

@markdewing

This comment has been minimized.

Copy link
Contributor

commented Jul 1, 2019

test_wf.cpp contains some tests for a Pade functor. Some of the values for comparison were computed by hand.
test_user_jastrow.cpp tests different functions and derivatives for consistency, but has no comparison to an external or hand-computed reference. Modifying it to work with another functor should only require some adjustments to set up the variational parameters.

@eneuscamman

This comment has been minimized.

Copy link
Contributor Author

commented Jul 1, 2019

OK, I'll try to see to these things sometime this week...

@eneuscamman

This comment has been minimized.

Copy link
Contributor Author

commented Jul 9, 2019

I've added the unit test and the extra error trap that Paul wanted. Let me know if there's anything else to do.

@eneuscamman eneuscamman requested review from prckent and ye-luo Jul 9, 2019

@prckent

This comment has been minimized.

Copy link
Contributor

commented Jul 9, 2019

@eneuscamman Can you remake opt.tex from the current version on develop or otherwise fix the conflict? opt.tex was edited and has modest changes throughout. You should be able to put in your new section again easily.

@eneuscamman

This comment has been minimized.

Copy link
Contributor Author

commented Jul 10, 2019

@prckent The conflict in the manual optimization section is now resolved.

@eneuscamman

This comment has been minimized.

Copy link
Contributor Author

commented Jul 10, 2019

@ye-luo The unit test is ready. I think this is ready to merge.

@ye-luo

This comment has been minimized.

Copy link
Contributor

commented Jul 10, 2019

Test this please

@ye-luo

ye-luo approved these changes Jul 10, 2019

@prckent
Copy link
Contributor

left a comment

Thanks for the updates.

@ye-luo ye-luo merged commit 2a9318e into QMCPACK:develop Jul 10, 2019

3 checks passed

rhea-cpu
Details
rhea-cuda-experimental
Details
rhea-gpu
Details

@eneuscamman eneuscamman deleted the eneuscamman:cuspjastrow branch Jul 11, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
5 participants
You can’t perform that action at this time.