ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
cal_dm_psi.h
Go to the documentation of this file.
1#ifndef CAL_DM_PSI_H
2#define CAL_DM_PSI_H
3
5#include "source_psi/psi.h"
6#include "density_matrix.h"
7
8namespace elecstate
9{
10 // for Gamma-Only case where DMK is double
12
13 // for Multi-k case where DMK is std::complex<double>
14 void cal_dm_psi(const Parallel_Orbitals* ParaV, const ModuleBase::matrix& wg, const psi::Psi<std::complex<double>>& wfc, elecstate::DensityMatrix<std::complex<double>, double>& DM);
15
16 // for Gamma-Only case with MPI
17 void psiMulPsiMpi(const psi::Psi<double>& psi1,
18 const psi::Psi<double>& psi2,
19 double* dm_out,
20 const int* desc_psi,
21 const int* desc_dm);
22
23 // for multi-k case with MPI
24 void psiMulPsiMpi(const psi::Psi<std::complex<double>>& psi1,
25 const psi::Psi<std::complex<double>>& psi2,
26 std::complex<double>* dm_out,
27 const int* desc_psi,
28 const int* desc_dm);
29
30 // for Gamma-Only case without MPI
31 void psiMulPsi(const psi::Psi<double>& psi1, const psi::Psi<double>& psi2, double* dm_out);
32
33 // for multi-k case without MPI
34 void psiMulPsi(const psi::Psi<std::complex<double>>& psi1,
35 const psi::Psi<std::complex<double>>& psi2,
36 std::complex<double>* dm_out);
37};
38#endif
Definition matrix.h:18
Definition parallel_orbitals.h:9
Definition density_matrix.h:70
Definition psi.h:37
Definition read_atoms_helper_test.cpp:11
void psiMulPsi(const psi::Psi< double > &psi1, const psi::Psi< double > &psi2, double *dm_out)
Definition cal_dm_psi.cpp:225
void cal_dm_psi(const Parallel_Orbitals *ParaV, const ModuleBase::matrix &wg, const psi::Psi< double > &wfc, elecstate::DensityMatrix< double, double > &DM)
Definition cal_dm_psi.cpp:13
void psiMulPsiMpi(const psi::Psi< double > &psi1, const psi::Psi< double > &psi2, double *dm_out, const int *desc_psi, const int *desc_dm)
Definition cal_dm_psi.cpp:154