ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
gint_vl_nspin4_gpu.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <vector>
6#include "gint.h"
7#include "gint_info.h"
9
10namespace ModuleGint
11{
12
14{
15 public:
17 std::vector<const double*> vr_eff,
18 HContainer<std::complex<double>>* hR)
19 : vr_eff_(vr_eff), hR_(hR), dr3_(gint_info_->get_mgrid_volume()) {}
20
21 void cal_gint();
22
23 private:
24
25 void init_hr_gint_();
26
28
30
31 // note that only the upper triangle matrix of hR is calculated
32 // that's why we need compose_hr_gint() to fill the lower triangle matrix.
33 void cal_hr_gint_();
34
35 // input
36 std::vector<const double*> vr_eff_;
37
38 // output
40
41 // Intermediate variables
42 const double dr3_;
43
44 const int nspin_ = 4;
45
46 std::vector<HContainer<double>> hr_gint_part_;
48
49 std::vector<CudaMemWrapper<double>> vr_eff_d_;
50 std::vector<CudaMemWrapper<double>> hr_gint_part_d_;
51};
52
53} // namespace ModuleGint
Definition gint_vl_nspin4_gpu.h:14
HContainer< std::complex< double > > hr_gint_full_
Definition gint_vl_nspin4_gpu.h:47
std::vector< HContainer< double > > hr_gint_part_
Definition gint_vl_nspin4_gpu.h:46
void init_hr_gint_()
Definition gint_vl_nspin4_gpu.cpp:21
void cal_gint()
Definition gint_vl_nspin4_gpu.cpp:10
void cal_hr_gint_()
Definition gint_vl_nspin4_gpu.cpp:55
HContainer< std::complex< double > > * hR_
Definition gint_vl_nspin4_gpu.h:39
std::vector< CudaMemWrapper< double > > vr_eff_d_
Definition gint_vl_nspin4_gpu.h:49
const double dr3_
Definition gint_vl_nspin4_gpu.h:42
const int nspin_
Definition gint_vl_nspin4_gpu.h:44
Gint_vl_nspin4_gpu(std::vector< const double * > vr_eff, HContainer< std::complex< double > > *hR)
Definition gint_vl_nspin4_gpu.h:16
std::vector< const double * > vr_eff_
Definition gint_vl_nspin4_gpu.h:36
std::vector< CudaMemWrapper< double > > hr_gint_part_d_
Definition gint_vl_nspin4_gpu.h:50
void transfer_gpu_to_cpu_()
Definition gint_vl_nspin4_gpu.cpp:45
void transfer_cpu_to_gpu_()
Definition gint_vl_nspin4_gpu.cpp:32
Definition gint.h:10
static GintInfo * gint_info_
Definition gint.h:23
Definition hcontainer.h:144
Definition batch_biggrid.cpp:4