ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
gint_dvlocal.h
Go to the documentation of this file.
1#pragma once
2#include <memory>
3#include <vector>
7#include "gint.h"
8#include "gint_info.h"
9
10namespace ModuleGint
11{
12
13class Gint_dvlocal : public Gint
14{
15 public:
17 const double* vr_eff,
18 const int nspin,
19 const int npol)
20 : vr_eff_(vr_eff), nspin_(nspin), npol_(npol), dr3_(gint_info_->get_mgrid_volume())
21 {
22 assert(nspin_ == 2); // currently only npin == 2 is supported
23 }
24
25 void cal_dvlocal();
26
28 const int nspin,
29 const int cspin,
30 const int nlocal,
31 const double sparse_thr,
32 const Parallel_Orbitals& pv,
33 const UnitCell& ucell,
34 const Grid_Driver& gdriver,
35 LCAO_HS_Arrays& hs_arrays);
36
37 private:
38 void init_hr_gint_();
39
40 void cal_hr_gint_();
41
43 const int cspin,
44 const int dim,
45 const int nlocal,
46 const double sparse_threshold,
47 const std::map<Abfs::Vector3_Order<int>,
48 std::map<size_t, std::map<size_t, double>>>&
49 pvdpR_sparseMatrix,
50 const Parallel_Orbitals& pv,
51 LCAO_HS_Arrays& HS_Arrays);
52
53 // input
54 const double* vr_eff_;
55 int nspin_;
56 int npol_;
57
58 // intermediate variables
59 double dr3_;
63};
64
65}
Definition abfs-vector3_order.h:16
Definition sltk_grid_driver.h:43
Definition LCAO_HS_arrays.hpp:9
Definition gint_dvlocal.h:14
void cal_dvlocal()
Definition gint_dvlocal.cpp:9
void cal_dvlocal_R_sparseMatrix(const int nspin, const int cspin, const int nlocal, const double sparse_thr, const Parallel_Orbitals &pv, const UnitCell &ucell, const Grid_Driver &gdriver, LCAO_HS_Arrays &hs_arrays)
Definition gint_dvlocal.cpp:58
int npol_
Definition gint_dvlocal.h:56
void init_hr_gint_()
Definition gint_dvlocal.cpp:18
Gint_dvlocal(const double *vr_eff, const int nspin, const int npol)
Definition gint_dvlocal.h:16
void distribute_pvdpR_sparseMatrix(const int cspin, const int dim, const int nlocal, const double sparse_threshold, const std::map< Abfs::Vector3_Order< int >, std::map< size_t, std::map< size_t, double > > > &pvdpR_sparseMatrix, const Parallel_Orbitals &pv, LCAO_HS_Arrays &HS_Arrays)
Definition gint_dvlocal.cpp:132
HContainer< double > pvdpRx
Definition gint_dvlocal.h:60
int nspin_
Definition gint_dvlocal.h:55
HContainer< double > pvdpRy
Definition gint_dvlocal.h:61
const double * vr_eff_
Definition gint_dvlocal.h:54
double dr3_
Definition gint_dvlocal.h:59
HContainer< double > pvdpRz
Definition gint_dvlocal.h:62
void cal_hr_gint_()
Definition gint_dvlocal.cpp:25
Definition gint.h:10
static GintInfo * gint_info_
Definition gint.h:23
Definition parallel_orbitals.h:9
Definition unitcell.h:16
Definition hcontainer.h:144
Definition batch_biggrid.cpp:4