Skip to content

Commit a098ee5

Browse files
authored
Merge pull request #1120 from dyzheng/develop
Merge: abacusmodeling/develop PR166, PR167, PR170
2 parents a96e342 + 56b1d45 commit a098ee5

File tree

5 files changed

+28
-5
lines changed

5 files changed

+28
-5
lines changed

source/module_orbital/ORB_atomic_lm.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ void Numerical_Orbital_Lm::copy_parameter(
178178
// assert(r_radial_in[nr-1]<50); // Peize Lin delete 2017-08-18
179179
this->rcut = r_radial_in[nr-1];
180180
assert(nk_in>1);
181-
assert(nk_in<10000);
181+
//assert(nk_in<10000); // Jiyy delete 2022-07-18
182182
this->nk = nk_in;
183183
assert(nk%2!=0);
184184
assert(dk_in>0);

source/src_ri/conv_coulomb_pot_k.cpp

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#include "conv_coulomb_pot_k.h"
22
#include "../module_base/constants.h"
33
#include "../module_orbital/ORB_atomic_lm.h"
4-
4+
#include "../src_pw/global.h"
55
std::vector<double> Conv_Coulomb_Pot_K::cal_psi_ccp( const std::vector<double> & psif )
66
{
77
std::vector<double> psik2_ccp(psif.size());
@@ -10,6 +10,21 @@ std::vector<double> Conv_Coulomb_Pot_K::cal_psi_ccp( const std::vector<double> &
1010
return psik2_ccp;
1111
}
1212

13+
// rongshi add 2022-07-27
14+
// Sphere truction -- Spencer
15+
std::vector<double> Conv_Coulomb_Pot_K::cal_psi_hf(const std::vector<double> &psif,
16+
const std::vector<double> &k_radial,
17+
const double omega = 0)
18+
{
19+
double Rc = pow(0.75 * GlobalC::kv.nks * GlobalC::ucell.omega / (ModuleBase::PI), 0.3333334);
20+
// cout << "hf_Rc: " << Rc << endl;
21+
std::vector<double> psik2_ccp(psif.size());
22+
for (size_t ik = 0; ik < psif.size(); ++ik)
23+
psik2_ccp[ik] = ModuleBase::FOUR_PI * psif[ik] * (1 - std::cos(k_radial[ik] * Rc));
24+
return psik2_ccp;
25+
}
26+
27+
1328
std::vector<double> Conv_Coulomb_Pot_K::cal_psi_hse(
1429
const std::vector<double> & psif,
1530
const std::vector<double> & k_radial,
@@ -35,6 +50,8 @@ Numerical_Orbital_Lm Conv_Coulomb_Pot_K::cal_orbs_ccp<Numerical_Orbital_Lm>(
3550
{
3651
case Ccp_Type::Ccp:
3752
psik2_ccp = cal_psi_ccp( orbs.get_psif() ); break;
53+
case Ccp_Type::Hf:
54+
psik2_ccp = cal_psi_hf(orbs.get_psif(), orbs.get_k_radial()); break;
3855
case Ccp_Type::Hse:
3956
psik2_ccp = cal_psi_hse( orbs.get_psif(), orbs.get_k_radial(), parameter.at("hse_omega") ); break;
4057
default:

source/src_ri/conv_coulomb_pot_k.h

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ class Conv_Coulomb_Pot_K
1010
public:
1111

1212
enum class Ccp_Type{ // parameter:
13-
Ccp, //
13+
Ccp, //
14+
Hf, //
1415
Hse}; // "hse_omega"
1516

1617
template<typename T> static T cal_orbs_ccp(
@@ -35,6 +36,10 @@ class Conv_Coulomb_Pot_K
3536
private:
3637

3738
static std::vector<double> cal_psi_ccp( const std::vector<double> & psif );
39+
40+
static std::vector<double> cal_psi_hf(const std::vector<double> &psif,
41+
const std::vector<double> &k_radial,
42+
const double omega);
3843

3944
static std::vector<double> cal_psi_hse(
4045
const std::vector<double> & psif,

source/src_ri/exx_lcao.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -643,8 +643,9 @@ gettimeofday( &t_start, NULL);
643643
switch(info.hybrid_type)
644644
{
645645
case Exx_Global::Hybrid_Type::HF:
646+
abfs_ccp = Conv_Coulomb_Pot_K::cal_orbs_ccp(this->abfs, Conv_Coulomb_Pot_K::Ccp_Type::Hf, {}, info.ccp_rmesh_times); break;
646647
case Exx_Global::Hybrid_Type::PBE0:
647-
abfs_ccp = Conv_Coulomb_Pot_K::cal_orbs_ccp( this->abfs, Conv_Coulomb_Pot_K::Ccp_Type::Ccp, {}, info.ccp_rmesh_times ); break;
648+
abfs_ccp = Conv_Coulomb_Pot_K::cal_orbs_ccp( this->abfs, Conv_Coulomb_Pot_K::Ccp_Type::Hf, {}, info.ccp_rmesh_times ); break;
648649
case Exx_Global::Hybrid_Type::SCAN0:
649650
abfs_ccp = Conv_Coulomb_Pot_K::cal_orbs_ccp( this->abfs, Conv_Coulomb_Pot_K::Ccp_Type::Ccp, {}, info.ccp_rmesh_times ); break;
650651
case Exx_Global::Hybrid_Type::HSE:

tools/plot-tools/abacus_plot/dos.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ def _parial_plot(self,
391391
Returns:
392392
DOSPlot object: for manually plotting picture with dosplot.ax
393393
"""
394-
if not isinstance(ax, list):
394+
if isinstance(ax, axes.Axes):
395395
ax = [ax]
396396

397397
dos, totnum = parse_projected_data(self.orbitals, species, keyname)

0 commit comments

Comments
 (0)