Skip to content

Commit 7c806eb

Browse files
authored
Numerical issue fixed form bandgap printing in NSCF case (#1831)
1 parent e2c2a4f commit 7c806eb

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

source/src_pw/energy.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -519,11 +519,11 @@ void energy::cal_bandgap(const elecstate::ElecState* pelec)
519519
{
520520
for (int ik=0; ik<nks; ik++)
521521
{
522-
if (!(pelec->ekb(ik,ib) > ef) && homo < pelec->ekb(ik,ib))
522+
if (!(pelec->ekb(ik,ib) - this->ef > 1e-5) && homo < pelec->ekb(ik,ib))
523523
{
524524
homo = pelec->ekb(ik,ib);
525525
}
526-
if (pelec->ekb(ik,ib) > ef && lumo > pelec->ekb(ik,ib))
526+
if (pelec->ekb(ik,ib) - this->ef > 1e-5 && lumo > pelec->ekb(ik,ib))
527527
{
528528
lumo = pelec->ekb(ik,ib);
529529
}
@@ -544,19 +544,19 @@ void energy::cal_bandgap_updw(const elecstate::ElecState* pelec)
544544
{
545545
for (int ik=0; ik<nks; ik++)
546546
{
547-
if (!(pelec->ekb(ik,ib) > this->ef_up) && homo_up < pelec->ekb(ik,ib))
547+
if (!(pelec->ekb(ik,ib) - this->ef_up > 1e-5) && homo_up < pelec->ekb(ik,ib))
548548
{
549549
homo_up = pelec->ekb(ik,ib);
550550
}
551-
if (pelec->ekb(ik,ib) > this->ef_up && lumo_up > pelec->ekb(ik,ib))
551+
if (pelec->ekb(ik,ib) - this->ef_up > 1e-5 && lumo_up > pelec->ekb(ik,ib))
552552
{
553553
lumo_up = pelec->ekb(ik,ib);
554554
}
555-
if (!(pelec->ekb(ik,ib) > this->ef_dw) && homo_dw < pelec->ekb(ik,ib))
555+
if (!(pelec->ekb(ik,ib) - this->ef_dw > 1e-5) && homo_dw < pelec->ekb(ik,ib))
556556
{
557557
homo_dw = pelec->ekb(ik,ib);
558558
}
559-
if (pelec->ekb(ik,ib) > this->ef_dw && lumo_dw > pelec->ekb(ik,ib))
559+
if (pelec->ekb(ik,ib) - this->ef_dw > 1e-5 && lumo_dw > pelec->ekb(ik,ib))
560560
{
561561
lumo_dw = pelec->ekb(ik,ib);
562562
}

0 commit comments

Comments
 (0)