ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
gint_rho.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"
8
9namespace ModuleGint
10{
11
12class Gint_rho : public Gint
13{
14 public:
16 const std::vector<HContainer<double>*>& dm_vec,
17 const int nspin,
18 double **rho,
19 bool is_dm_symm = true)
20 : dm_vec_(dm_vec), nspin_(nspin), rho_(rho), is_dm_symm_(is_dm_symm) {}
21
22 void cal_gint();
23
24 private:
25 void init_dm_gint_();
26
27 void cal_rho_();
28
29 // input
30 const std::vector<HContainer<double>*> dm_vec_;
31 const int nspin_;
32
33 // if true, it means the DMR matrix is symmetric,
34 // which leads to faster computations compared to the asymmetric case.
35 const bool is_dm_symm_;
36
37 // output
38 double **rho_;
39
40 // Intermediate variables
41 std::vector<HContainer<double>> dm_gint_vec_;
42};
43
44}
Definition gint_rho.h:13
void cal_rho_()
Definition gint_rho.cpp:28
Gint_rho(const std::vector< HContainer< double > * > &dm_vec, const int nspin, double **rho, bool is_dm_symm=true)
Definition gint_rho.h:15
void cal_gint()
Definition gint_rho.cpp:9
std::vector< HContainer< double > > dm_gint_vec_
Definition gint_rho.h:41
const std::vector< HContainer< double > * > dm_vec_
Definition gint_rho.h:30
void init_dm_gint_()
Definition gint_rho.cpp:19
const bool is_dm_symm_
Definition gint_rho.h:35
double ** rho_
Definition gint_rho.h:38
const int nspin_
Definition gint_rho.h:31
Definition gint.h:10
Definition hcontainer.h:144
Definition batch_biggrid.cpp:4