Commit Graph

5001 Commits

Author SHA1 Message Date
Jeongnim Kim 3ffad23121 Update generic toolchain with Intel Cluster Suite on Linux. Tested on PSIs at ONRL.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5747 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-03-13 14:54:40 +00:00
Jeongnim Kim 707ef52ee2 Update Titan toolchains.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5746 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-03-11 15:06:14 +00:00
Jeremy McMinis c7c716622f restoring Version to having 3 digits
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5745 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-03-06 18:52:35 +00:00
Jeremy McMinis 7279551149 print irred k-point info if available.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5744 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-03-05 19:34:36 +00:00
Jeongnim Kim 3248288a63 Fixed the broken macro and get ready for old x86 machine without SSE4.1
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5742 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-28 19:39:14 +00:00
Jeongnim Kim ffd1c8ee4c Add the missing index check in 3d_s_vgh with single precision with min/max.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5741 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-28 15:10:59 +00:00
Jeongnim Kim 44187f5ca2 Add public to the base.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5740 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-26 22:10:22 +00:00
Jeongnim Kim 46274aeaec Changes to handle distributed tables and other optimizations.
Add first_spo and last_spo to the SplineAdoptorBase to be able to distribute
einspline set.  

BsplineSet::set_spline hides the adoptor-specific set_spline implementation:

void set_spline(CT* spline_r, CT* spline_i, int twist, int ispline, int level)
{
  SplineAdoptor::set_spline(spline_r,spline_i,twist,ispline,level);
}
* twist is not currently used but reserved for optimizations (twist grouping, eliminating complex algebra etc)
* ispline index of this spline function
* level refinement level



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5739 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-26 21:53:54 +00:00
Jeongnim Kim 83c69b755d Move read_splines and write_splines to the adoptors.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5738 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-25 17:55:11 +00:00
Jeongnim Kim bc787cc763 Allow more FFT grids beyond 128.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5737 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-25 14:39:32 +00:00
Jeongnim Kim 7eed972e13 Abort if twistnum is out of the range.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5735 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-23 16:29:28 +00:00
Jeongnim Kim 034b531edf Disable dumping samples on BGQ.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5734 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-22 14:27:21 +00:00
Jeongnim Kim a956d45a28 Check if hamiltonian has type="MPC". If missing, density is not read. More reliable checkings are needed.
When hamiltonian is included via "include", it will always assume that MPC is used for the periodic systems.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5733 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-22 13:57:48 +00:00
Jeongnim Kim f20b810c69 Use const & instead of copying.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5731 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-21 21:11:44 +00:00
Jeongnim Kim 73647b8fee Fix version checking of ESHDF.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5730 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-21 21:09:46 +00:00
Jeongnim Kim 98e98d9d4d Toolchain fine for ORNL inst. cluster.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5729 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-21 16:34:54 +00:00
Jeongnim Kim ff660a1faa Add coefs_size to UBspline_3d_x.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5728 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-21 00:37:54 +00:00
Jeongnim Kim 34484a768f Parallel initialization for R2R, C2R and C2C.
Limited testing on a workstation shows that initialize_spline_pio is the fastest. 

Both pio method can handle the case when Norb<MPI tasks
Some nodes will be ideal during the first the step 1 & 2.

initialize_spline_pio
1 parallel read 
2 fft/spline per node
3 send splines to the root & root pack the data to the multi spline
4 bcast the complete table

initialize_spline_pio_bcast
1 parallel read 
2 fft/spline per node: some nodes will be ideal if N<MPI
3 bcast bspline from the reader node



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5727 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 20:18:04 +00:00
Jeongnim Kim e26a8752f4 Add set_spline with UBspline_3d_d and BaseN/BaseOffset to assign UBspline_3d_d to mult_bspline_3d_x.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5726 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 20:12:12 +00:00
Jeongnim Kim 8524616810 Fatal bug with psi_g initialization. Introduced in 5718. It is not gvectors but psi_g.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5724 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 18:15:01 +00:00
Jeongnim Kim e678434c79 Implement parallel initialization for mixed grids. It is not enabled yet.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5723 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 16:40:43 +00:00
Jeongnim Kim 64f4d274df Use Gvecs[0] for any twist.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5722 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 16:39:40 +00:00
Jeongnim Kim 016a6a27b8 Add missing APIs for point-to-point communications and bcast.
Bugfix when use_collective=false to allow parallel read from multiple MPIs.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5721 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 16:23:44 +00:00
Anouar Benali f8a4b48ae2 Modified implementation cross platform with significant speed up for std2_d/s/z; Speed up compared to original algorithm for: (Z 60%), (Z_VGH 54%), (D 2%), (D_VGH 2%), (S 2%), (S_VGH 33%). These are for the worst case.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5720 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 00:45:04 +00:00
Anouar Benali 5a3b3821db Deleted std4 files since obsolete and double with std2
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5719 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-20 00:39:09 +00:00
Jeremy McMinis 2ab1d2825e twist 0 gvecs load bug
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5718 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-19 23:21:41 +00:00
Jeongnim Kim e007e97fd9 Update TitanGNU.cmake
* enable real structure factor and use AMD math library 


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5717 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-19 14:52:58 +00:00
Jeremy McMinis 3ff032f8ba mods for real structure factor
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5716 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-19 00:52:52 +00:00
Jeongnim Kim 2785c68a75 Update.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5714 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-17 14:32:34 +00:00
Jeongnim Kim d81cf9ad9a Introduce the base classes for SplineAdoptor and SplineAdoptorReader.
These adoptors are used
* SplineR2RAdoptor : real wavefunction for single kpoint calculations
* SplineC2RPackedAdoptor : real wavefunction for kpoint folding
* SplineC2CPackedAdoptor : complex wavefunction 
* SplineOpenAdoptor : dual-grid real wavefunction for molecules
* SplineMixedAdoptor : dual-grid real wavefunction for slabs and wires

SplineMixedAdoptor can be used with SplineC2XAdoptor but not yet enabled 
and therefore truncations are not done with complex wavefunctions and
real wavefunctions with kpoint folding.

Note that only real spline is used with these orbitals.

Two readers are 
* SplineAdoptorReader<SA> for SA=SplineR2RAdoptor, SplineC2RPackedAdoptor, SplineC2CPackedAdoptor
* SplineMixedAdoptorReader<SA> for SA= SplineOpenAdoptor, SplineMixedAdoptor



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5713 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-15 18:36:53 +00:00
Jeongnim Kim 57791be9ba Remove chatter.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5712 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-15 18:28:01 +00:00
Jeongnim Kim a7eb2ed6bc Add MPC check to avoid processing density.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5711 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-15 18:14:31 +00:00
Jeongnim Kim b6c8867188 Include qmc_common that will manage global static data. The plan is to process
command-line options, preprocess xml to limit certain operations, e.g. not reading
density when MPC is not used, and store the persistent data during a process.

The static data is per MPI task.



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5710 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-15 18:13:47 +00:00
Jeongnim Kim 42fffad926 Change int to size_t.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5709 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-15 18:08:48 +00:00
Luke Shulenburger d4218411a3 Put extra electrons in charged system around molecular center rather than on top of one and another
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5708 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-15 17:11:39 +00:00
Jeongnim Kim dda2520044 Change FFT grid to use the original one for n<=128 but even number.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5707 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-13 22:50:14 +00:00
Jeongnim Kim 450203b2c3 Use the right distance tables for PPN.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5706 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-13 17:38:51 +00:00
Jeongnim Kim 0ca904a324 Do not die with the mixed BConds.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5705 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-13 17:31:35 +00:00
Jeongnim Kim 367fd8b4ed Fix distance-table engines for PPN (slab).
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5704 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-13 17:30:17 +00:00
Jeongnim Kim 9edd353331 Use StructFact::SuperCellEnum instead of Lattice.
Note that StructFact::SuperCellEnum is always SUPERCELL_BULK.


git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5703 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-13 17:28:46 +00:00
Jeongnim Kim d15f16686f Use 3D methods for the structure factor and Coulomb long-range engines.
Quasi-2D Ewald implementation is too slow and scales badly. Simply use big supercells.



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5702 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-13 17:25:46 +00:00
Jeongnim Kim 4995ba9ec8 Truncated orbitals for slabs are enabled for real wavefunctions.
These three attributes will control how to use the truncated orbitals.  With <determinantset/>
* precision="float" : unlike bulk orbitals, double can be used
* truncate="yes"    : truncate orbitals based on the ionic positions, buffer is addded
* buffer="2.0"      : buffer layer for the dense orbitals

Note:
Use only for the molecules. Changes with mixed BConds are not committed yet.
The truncated orbitals with k-point foldings are not implemented and will use the full orbitals.




git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5701 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-13 17:19:02 +00:00
Jeongnim Kim 5ea4ed0695 Create UBspline_3d_d with HalfG flags to handle L/2 points.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5698 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-12 22:30:07 +00:00
Jeongnim Kim 0fe2a13d4c Update helper classes.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5697 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-12 19:02:51 +00:00
Jeongnim Kim 1caecdf44d Move unused classes to Experimental and fix the header.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5696 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-12 17:24:42 +00:00
Jeongnim Kim 5d09450170 Merge reader classes
* SplineAdoptorReader handles general calculations for R2R, C2R and C2C
** C2R and C2C use two double instead of complex
* SplineMixedAdoptorReader for truncate="yes" with real wavefunction
** SplineMixedAdoptor for slabs and wires (not fully tested)
** SplineOpenAdoptor for molecules (fully tested)

Move around SplineAdoptor classes.




git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5695 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-12 17:18:41 +00:00
Jeongnim Kim 152bb4a52a Ready to use for C2C and C2R adoptors.
git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5694 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-11 22:26:30 +00:00
Jeongnim Kim 7ae698aecf Use kpoint_0/gvectors to set other twists' gvectors. Plan to get rid of
twist-dependent gvectors after checking with wfconvert for ab init.

Broadcast all the data associated with SortBands.

Remove protected member declaration to be able to use BsplineReaderBase (We never
claimed to be pure OO developers).



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5693 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-11 22:21:04 +00:00
Jeongnim Kim a56c999c7e Add tilematrix to the filename with the k-point folding, e.g.
gr.pwscf.tile_500050001.spin_0.tw2.g36x36x200.h5



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5692 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-11 22:05:31 +00:00
Jeongnim Kim ee5e3f4874 Move SplineAdoptor declaration and add reader class for each adoptor.
* SplineOpenAdoptor : molecules, truncation-enabled
* SplineR2RAdoptor : solid states without k-point folding (tilematrix=I)
* SplineC2XAdoptor : generic complex wavefunctions with k-point folding for both real and complex builds



git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5691 e5b18d87-469d-4833-9cc0-8cdfa06e9491
2013-02-11 17:34:00 +00:00