Skip to content

Commit 9015156

Browse files
committed
modify the cal_tau in lcao
1 parent c53f445 commit 9015156

File tree

4 files changed

+26
-12
lines changed

4 files changed

+26
-12
lines changed

source/module_elecstate/elecstate_lcao.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include "module_hamilt_lcao/module_gint/grid_technique.h"
99
#include "module_hamilt_pw/hamilt_pwdft/global.h"
1010
#include "module_parameter/parameter.h"
11+
#include "elecstate_lcao_cal_tau.h"
1112

1213
#include <vector>
1314

source/module_elecstate/elecstate_lcao.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ class ElecStateLCAO : public ElecState
4646
// virtual void psiToRho(const psi::Psi<double>& psi) override;
4747
// return current electronic density rho, as a input for constructing Hamiltonian
4848
// const double* getRho(int spin) const override;
49-
virtual void cal_tau(const psi::Psi<TK>& psi) override;
5049

5150
// update charge density for next scf step
5251
// void getNewRho() override;

source/module_elecstate/elecstate_lcao_cal_tau.cpp

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,39 @@
11
#include "elecstate_lcao.h"
2-
2+
#include "elecstate_lcao_cal_tau.h"
33
#include "module_base/timer.h"
44

55
namespace elecstate
66
{
77

88
// calculate the kinetic energy density tau, multi-k case
9-
template <>
10-
void ElecStateLCAO<std::complex<double>>::cal_tau(const psi::Psi<std::complex<double>>& psi)
9+
void cal_tau_k(Gint_k& gint_k,
10+
Charge* charge)
1111
{
1212
ModuleBase::timer::tick("ElecStateLCAO", "cal_tau");
1313

1414
for (int is = 0; is < PARAM.inp.nspin; is++)
1515
{
16-
ModuleBase::GlobalFunc::ZEROS(this->charge->kin_r[is], this->charge->nrxx);
16+
ModuleBase::GlobalFunc::ZEROS(charge->kin_r[is], charge->nrxx);
1717
}
18-
Gint_inout inout1(this->charge->kin_r, Gint_Tools::job_type::tau, PARAM.inp.nspin);
19-
this->gint_k->cal_gint(&inout1);
18+
Gint_inout inout1(charge->kin_r, Gint_Tools::job_type::tau, PARAM.inp.nspin);
19+
gint_k->cal_gint(&inout1);
2020

2121
ModuleBase::timer::tick("ElecStateLCAO", "cal_tau");
2222
return;
2323
}
2424

2525
// calculate the kinetic energy density tau, gamma-only case
26-
template <>
27-
void ElecStateLCAO<double>::cal_tau(const psi::Psi<double>& psi)
26+
void cal_tau_gamma(Gint_Gamma& gint_gamma,
27+
Charge& charge)
2828
{
2929
ModuleBase::timer::tick("ElecStateLCAO", "cal_tau");
3030

3131
for (int is = 0; is < PARAM.inp.nspin; is++)
3232
{
33-
ModuleBase::GlobalFunc::ZEROS(this->charge->kin_r[is], this->charge->nrxx);
33+
ModuleBase::GlobalFunc::ZEROS(charge->kin_r[is], charge->nrxx);
3434
}
35-
Gint_inout inout1(this->charge->kin_r, Gint_Tools::job_type::tau, PARAM.inp.nspin);
36-
this->gint_gamma->cal_gint(&inout1);
35+
Gint_inout inout1(charge->kin_r, Gint_Tools::job_type::tau, PARAM.inp.nspin);
36+
gint_gamma->cal_gint(&inout1);
3737

3838
ModuleBase::timer::tick("ElecStateLCAO", "cal_tau");
3939
return;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#ifndef ELECSTATE_LCAO_CAL_TAU_H
2+
#define ELECSTATE_LCAO_CAL_TAU_H
3+
4+
namespace elecstate
5+
{
6+
7+
void cal_tau_k(Gint_k& gint_k,
8+
Charge& charge);
9+
10+
void cal_tau_gamma(Gint_Gamma& gint_gamma,
11+
Charge& charge);
12+
13+
}
14+
#endif

0 commit comments

Comments
 (0)