Skip to content

Commit 8040017

Browse files
authored
Fix: set zero for unused psi data for nspin4 (#5524)
1 parent 7ef0528 commit 8040017

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

source/module_hamilt_pw/hamilt_pwdft/wf_atomic.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,10 @@ void WF_atomic::random_t(std::complex<FPTYPE>* psi,
643643
const FPTYPE gk2 = wfc_basis->getgk2(ik,ig);
644644
ppsi[ig+startig] = std::complex<FPTYPE>(rr * cos(arg), rr * sin(arg)) / FPTYPE(gk2 + 1.0);
645645
}
646+
for(int ig=ng ;ig<npwx;++ig)
647+
{
648+
ppsi[ig+startig] = std::complex<FPTYPE>(0.0, 0.0);
649+
}
646650
startig += npwx;
647651
}
648652
}
@@ -734,6 +738,10 @@ void WF_atomic::atomicrandom(ModuleBase::ComplexMatrix& psi,
734738
const double arg= ModuleBase::TWO_PI * tmparg[wfc_basis->ig2isz[ig]];
735739
psi(iw,startig+ig) *= (1.0 + 0.05 * std::complex<double>(rr * cos(arg), rr * sin(arg)));
736740
}
741+
for(int ig=ng ;ig<npwx;++ig)
742+
{
743+
psi(iw,startig+ig) = std::complex<double>(0.0, 0.0);
744+
}
737745
startig += npwx;
738746
}
739747
}

0 commit comments

Comments
 (0)