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
Merged

Conversation

eneuscamman
Copy link
Contributor

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 June 29, 2019 17:55
@qmc-robot
Copy link

Can one of the maintainers verify this patch?

@markdewing
Copy link
Contributor

okay to test

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.

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
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.

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);
}

}
Copy link
Contributor

Choose a reason for hiding this comment

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

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

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
Copy link
Contributor

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
Copy link
Contributor Author

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

@eneuscamman
Copy link
Contributor Author

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

@prckent
Copy link
Contributor

prckent 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
Copy link
Contributor Author

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

@eneuscamman
Copy link
Contributor Author

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

@ye-luo
Copy link
Contributor

ye-luo commented Jul 10, 2019

Test this please

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.

Thanks for the updates.

@ye-luo ye-luo merged commit 2a9318e into QMCPACK:develop Jul 10, 2019
@eneuscamman eneuscamman deleted the cuspjastrow branch July 11, 2019 18:11
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

5 participants