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

Fix cusp for NaN's and catch bracketing failures #1594

Merged
merged 4 commits into from
May 13, 2019

Conversation

markdewing
Copy link
Contributor

Three changes to address issues seen in #1542

  1. Increase the bracketing iteration count to 100,000 and add another step size increase at 10,000
  2. Catch the std::runtime exception thrown if the bracketing reaches the maximum iteration count, and abort the code with a better message. Unhandled exceptions are not reported well, especially under MPI.
  3. Add a small offset to the wavefunction correction in the effective local energy calculation to prevent division by zero.

The code to bracket a minimum throws an exception, which is not well
reported, espcially under MPI.  This catches the exception and aborts
the execution with a more visible message.

The effective local energy divides by the value of wavefunction correction.
If it is zero, the result is a NaN, which makes bracketing and minimization
run poorly.  This is a simple hack to prevent the denominator from being zero.
@ghost ghost assigned markdewing May 10, 2019
@ghost ghost added the in progress label May 10, 2019
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.

We might compute some "real world" statistics on the amount of bracketing required. Presumably there are efficiencies to be had.

@ghost ghost assigned prckent May 13, 2019
@prckent prckent merged commit 1fb3b7b into QMCPACK:develop May 13, 2019
@ghost ghost removed the in progress label May 13, 2019
@markdewing markdewing deleted the cusp_nan_fix branch August 19, 2019 16:58
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

2 participants