1 ////////////////////////////////////////////////////////////////////////////////
2 // This file is distributed under the University of Illinois/NCSA Open Source
3 // License.  See LICENSE file in top directory for details.
4 //
5 // Copyright (c) 2016 Jeongnim Kim and QMCPACK developers.
6 //
7 // File developed by:
8 //
9 // File created by:
10 // Miguel Morales, moralessilva2@llnl.gov, Lawrence Livermore National Laboratory
11 ////////////////////////////////////////////////////////////////////////////////
12 
13 #ifndef AFQMC_HSPOTENTIAL_HELPERS_H
14 #define AFQMC_HSPOTENTIAL_HELPERS_H
15 
16 #include <vector>
17 #include "AFQMC/config.h"
18 #include "AFQMC/Utilities/taskgroup.h"
19 
20 namespace qmcplusplus
21 {
22 namespace afqmc
23 {
24 namespace HamHelper
25 {
26 std::vector<std::size_t> count_nnz_per_cholvec(double cut, TaskGroup_& TG, SpVType_shm_csr_matrix& V2, int NMO);
27 
28 std::vector<std::size_t> count_nnz_per_ik(double cut,
29                                           TaskGroup_& TG,
30                                           SpVType_shm_csr_matrix& V2,
31                                           int NMO,
32                                           int cv0,
33                                           int cvN);
34 
35 void generateHSPotential(SpVType_shm_csr_matrix& vn,
36                          std::vector<int> const& map_,
37                          double cut,
38                          TaskGroup_& TG,
39                          SpVType_shm_csr_matrix& V2,
40                          int NMO,
41                          int cv0,
42                          int cvN);
43 
44 } // namespace HamHelper
45 
46 } // namespace afqmc
47 } // namespace qmcplusplus
48 #endif
49