Commit Graph

5055 Commits

Author SHA1 Message Date
Mark Dewing 90a3820da6 Silence ReportEngine output by default, except for errors and warnings.
The command line switch '-debug' can be used to enable it.
Also change the warning and error output to not use XML.
Structured output (XML) would be fine going to an auxilliary file, but not to stdout.

This change should not affect nexus.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6901 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-05-16 16:01:41 +00:00
Mark Berrill 46e26cc897 Temporary workaround for compile errors until some sode cleanup
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6889 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-05-12 16:54:53 +00:00
Mark Berrill b75a4fa3a1 Fixing some compile errors for C++11
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6888 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-05-11 18:27:35 +00:00
Mark Berrill 9a14dbd335 Fixing bug with conj for scalar types when compiling wit c++11 support
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6887 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-05-11 16:52:08 +00:00
Ye Luo d49cb4944c fixed a bug in LCOrbitalSetWithCorrection when using temporary LCOrbitalSet objects.
In LCOrbitalSet, algorithm "legacy" is renamed as "legacy_gemv" suggested by P.Kent.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6884 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-05-09 23:18:59 +00:00
Mark Dewing fe7c617cda Add flux estimator method for CUDA.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6871 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-04-26 22:23:04 +00:00
Ye Luo 85220375ea Optimize the molecular orbital calculation by using one BLAS3 call when coefficients are applied on the basis set.
Achieve 2X on large systems. Never slowdown on small systems.
The old code path is kept and can be access by
input sample: <coefficient size="57" id="updetC" algorithm="legacy">


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6868 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-04-25 22:51:54 +00:00
Mark Dewing a4c4391f36 Add input parameters for finite difference wavefunction checks.
The finite difference step size (delta) can be adjusted,
as can the relative tolerance used for the pass/fail decision.
Example:
   <qmc method="wftest">
     <delta>0.01</delta>
     <tolerance>0.1</tolerance>
   </qmc>

Especially for single precision splines, the delta may need to be lowered
from the default value (0.0001).

The relative error as a function of the step size is not output by default,
but can be enabled using the "delta_output" element.

Example:
   <qmc method="wftest">
        <delta_output>
            <file>delta2.dat</file>
            <particle_index>1</particle_index>
            <gradient_index>0</gradient_index>
        </delta_output>
    </qmc>

The "file", "particle_index", and "gradient_index" parameters are all optional.
The default file name is "delta.dat", the default particle index is 0, and default
gradient component index is 0.

The graph is best visualized using a log-log scale.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6866 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-04-19 17:31:41 +00:00
Mark Dewing bacbbf6c10 Fix finite differences for sub-orbitals of complex wavefunctions.
Get the phase value from the correct place.

Also fix the relative error print out for the gradients.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6865 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-04-18 22:37:38 +00:00
Christos Kartsaklis 5ec2fae035 kepler-specific tuning and template-specializing one of the phase_factor_kernel CUDA kernels on the makeTwoCopies vector's contents (lighter version of prior to launching the vector is guaranteed to be all zeroes prior to launching on the device).
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6849 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-30 15:51:42 +00:00
Mark Dewing 0858802a1b Add flux estimator to list of check_scalars.py options.
This should finally enable the flux tests to run.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6845 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-22 15:04:12 +00:00
Mark Dewing fb43f14e6f Add flux estimator check to long-running tests.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6841 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-18 03:57:02 +00:00
Mark Dewing e5c712c604 The use of omp_get_thread_num should be a function call.
Fix a warning raised by clang.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6840 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-16 17:23:51 +00:00
Mark Dewing 1f6514df15 Add the 'flux' estimator to the short tests.
The estimator compares the integral of the square of the gradient with
the Laplacian.  It should be zero if the sampling is correct and
there are no discontinuities in the wavefunction.
It is defined in ConservedEnergy.h.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6839 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-16 14:54:46 +00:00
Anouar Benali 8a4741c1f8 Fixing introduced bug...
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6815 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-08 01:19:26 +00:00
Anouar Benali 533ea838b2 Fixing introduced bug on PPconvert
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6814 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-05 02:04:04 +00:00
Raymond Clay 195a97ac07 Enable use of nonlocal pseudopotentials WITHOUT buffer during optimization
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6812 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-05 00:37:51 +00:00
Mark Dewing 492afa113c Fix hang in converting charged systems.
The set of lone charges (loneQ) is collected atom-by-atom.
In a positively charged system, not all of them will actually be present.
Change the while loop to terminate if all the electrons have been assigned.

Add a test case and a 30 second timeout to the converter tests.

(Failing example came from Paul Yang)


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6810 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-04 19:02:02 +00:00
Ye Luo d6a1a527ec connect BGQ automated tests to CDash.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6809 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-04 18:50:36 +00:00
Mark Dewing 2ed41ec26e Fix complex build.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6802 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-02 06:50:51 +00:00
Mark Dewing 80b3855075 Run wf test over set of walkers.
Put failure output in separate file (wf_fail.dat) to keep the stdout cleaner.
Also test subcomponents of the wavefunction (to help pinpoint problems).

Still to do is to detect and adjust the delta and tolerance settings for
single precision splines.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6801 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-03-01 21:11:37 +00:00
Mark Dewing 82c6e7711b Use Richardson extrapolation to compute finite difference derivatives.
This lessens the dependence on the choice of delta, and should make it
more reliable to compare with the analytic derivative.

Remove the test using a sequence of delta values, as it is not needed.

Move a number of the routines related to finite differences to a separate class.

What did not seem to work:
 - Using a higher order formula for the derivatives.  It had lower error for large
   delta, but ran into numerical problems sooner.  The problem of choosing the
   correct value for delta remained.
 - Computing higher order derivatives to estimate the rough size of the error term
   in the finite difference formula and to provide a guide for the right tolerance
   for comparison.  Unfortunately, these are even more sensitive to the right
   choice of delta.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6795 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-26 04:41:07 +00:00
Mark Dewing 5211fb8359 Split numerical derivative code into pieces.
Create two separate functions - the first generates a set of points
at which to evaluate log psi.  The second uses the evaluated points
to then compute the finite difference approximations.
The rationale is that it will be easier to reuse when comparing 
derivatives for pieces of the wavefunction.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6794 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-25 23:50:17 +00:00
Ye Luo a31ccf1ff1 correct the previous commit log. Recover the upf_pot support in ppconvert.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6793 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-23 17:21:31 +00:00
Ye Luo eebece1275 git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6792 e5b18d87-469d-4833-9cc0-8cdfa06e9491 2016-02-23 17:18:18 +00:00
Mark Dewing 1e0143210d Fix converter tests with MPI build.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6791 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-22 20:01:53 +00:00
Jaron Krogel bb839d37af Attempt to make 2-body bspline jastrow allow correlations of the type uu/dd/ud instead of only uu==dd/ud. Parameters for dd are somehow not updated in optimization, though they are used correctly in VMC.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6789 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-18 22:00:27 +00:00
Mark Dewing ea770c5637 Return error in convert4qmc if primitive orbital component is not handled.
In particular, the L type orbital from Gamess is not handled.  Return an
error rather than silently generating an incorrect wavefunction file.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6786 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-18 04:54:05 +00:00
Mark Dewing f4ccdb022b Fix complex build for wavefunction tester.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6767 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-12 22:14:54 +00:00
Mark Berrill f147b0e68a Changing how compilers are identified in CMake. Adding configure options for clang. Fixing a couple of compile errors for clang.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6766 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-12 20:31:35 +00:00
Mark Dewing 6c73c6285b Add pass/fail check for basic wavefunction test.
The basic wavefunction test (runBasicTest) has these checks:
- finite different gradient and Laplacian
    - single delta value against a single tolerance
    - ensure error decreases with a sequence of decreasing delta values
- ratio for trial move

The initial tolerances may be appropriate for double precision, but do fail for
single precision wavefunctions.  Should get the target precision
of the wavefunction and adjust these values appropriately.

Plotting the error vs. delta is helpful in understanding whether deviations are
a finite difference/precision issue or an actual code issue.  There is code to
output this data, but it is off by default.  It might be useful to add an
input file option to turn this on.

Other TODO items:
 - test wavefunction components separately
 - add check for complex wavefunction ratio


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6765 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-12 18:44:41 +00:00
Mark Dewing ba9ed0a1dc Print message and exit if input file extension is unknown in convert4qmc.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6764 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-12 05:04:36 +00:00
Mark Dewing f2ce32b9ea Add parameters for the basic and virtual moves tests.
Enable only the basic test by default.
Use value of ofstream rather than pointer for additional output file.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6763 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-11 04:19:20 +00:00
Mark Dewing 65bd840795 Use "wftest" as a driver name for testing wavefunctions.
This is a change from the previous behavior that would run wavefunction tests
as a default option if no other driver name matched.  Now an error is raised
if the driver name is unknown.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6762 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-11 03:49:37 +00:00
Mark Dewing 4cb2d14e0a Fix use of TEST_ADDED argument to RUN_QMC_APP.
Output arguments to functions need to be dereferenced before setting them.
The previous code worked because the caller used the same name (TEST_ADDED)
as in the function code.  The SET command was directly setting the caller's
variable (eg, the TEST_ADDED parameter could have been removed from the RUN_QMC_APP
definition and it would still work, which is not the behavior we want.)

With the change, the function is actually setting the variable that is
given as a parameter in the caller.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6758 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-08 16:28:07 +00:00
Mark Dewing fcdcd1c951 Rearrange test scripts
Tests work for non-MPI builds.

Increased the default per-test timeout because it was too small for the long tests.

Use a more compact description of the scalar checks.
Add logic so that if a QMC run is not added, subsequent scalar checks are also
not added.

Added an output variable to RUN_QMC_APP so calling code can determine
if the test was added or not (due to to number of MPI processes)


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6757 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-08 15:00:30 +00:00
Paul Kent ec4dd7584b Rename QMCPACK executable qmcpack (was qmcapp). Updated CMake/CTest setup, manual, NEXUS, READMEs. Checked builds on oxygen (gcc, intel2016) before commit.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6751 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-05 20:32:26 +00:00
Mark Dewing 73abbe5462 Use 'exit' instead of 'abort' for non-MPI version of APP_ABORT.
The WILL_FAIL property in CTest does not work with program exits due
to exceptions.  With this change, expected test failures are handled
properly.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6749 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-05 17:12:27 +00:00
Mark Dewing 3d35ee4df6 Put MPI code under USE_MPI guard.
Enable compilation without MPI. 
It looks like the serial version should work, but is untested.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6748 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-02-05 00:34:48 +00:00
Ye Luo 6e0144781c add dummy SpinDensity::addEnergy to suppress warning.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6726 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-31 22:26:05 +00:00
Ye Luo 29f55503c1 fix the wrong communicator in writing *.bandinfo.dat when running ensemble jobs.
hdf_archive::open no longer creates files when it tries to open non existing files.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6725 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-31 21:38:24 +00:00
Paul Kent 65df9bd297 Fix unused variables in CUDA code. Now should build without warnings.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6711 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-27 15:53:54 +00:00
Paul Kent b9e758fe1e Fix bug (gradient components used for hessian) in never used (?) kernel
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6710 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-26 21:08:11 +00:00
Paul Kent 60501020c7 Dependency fix in tests
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6703 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-22 18:54:28 +00:00
Ye Luo e0c54bf91d add --local_channel and --g_ref options for ppconvert.
--local_channel allows to specify the local channel choice instead of the default when converting BFD pp.
--g_ref allows to convert heavy elements with 5 channels in the pp.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6702 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-22 18:13:15 +00:00
Mark Dewing bd0dd67362 When no input file is present, exit cleanly rather than abort.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6695 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-21 20:44:00 +00:00
Jaron Krogel 3d3e2f0a92 remove speculative voronoi code from SpinDensity, add error trap for currently unsupported open boundary conditions
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6682 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2016-01-08 16:15:49 +00:00
Jaron Krogel c08dcafc03 C++11 is enabled. As of 6664, code compiles with C++11 or C++98. If compilation is slow, try DISABLE_TRACEMANAGER=1. To fully remove TraceManager, use REMOVE_TRACEMANAGER=1. Please contact JTK if removal is ever required as this option will likely be deprecated in the future.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6664 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2015-12-28 23:06:06 +00:00
Paul Kent de31d7ac19 Better CUDA error message, states function.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6658 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2015-12-22 15:47:35 +00:00
Raymond Clay 165095c5e3 git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@6647 e5b18d87-469d-4833-9cc0-8cdfa06e9491 2015-12-17 19:49:11 +00:00