Skip to content

Commit f6507ac

Browse files
committed
Fix: Fix the memory leak caused by tau_vW
1 parent 29b3abc commit f6507ac

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

source/module_hamilt_pw/hamilt_ofdft/kedf_vw.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,9 @@ void KEDF_vW::tau_vw(const double* const* prho, ModulePW::PW_Basis* pw_rho, doub
129129
{
130130
std::vector<std::vector<double>> nabla_rho(3, std::vector<double>(pw_rho->nrxx, 0.));
131131

132-
std::complex<double> *recip_rho = new std::complex<double>[pw_rho->npw];
133-
std::complex<double> *recip_nabla_rho = new std::complex<double>[pw_rho->npw];
134-
pw_rho->real2recip(prho[is], recip_rho);
132+
std::vector<std::complex<double>> recip_rho(pw_rho->npw, 0.);
133+
std::vector<std::complex<double>> recip_nabla_rho(pw_rho->npw, 0.);
134+
pw_rho->real2recip(prho[is], recip_rho.data());
135135

136136
std::complex<double> img(0.0, 1.0);
137137
for (int j = 0; j < 3; ++j)
@@ -141,7 +141,7 @@ void KEDF_vW::tau_vw(const double* const* prho, ModulePW::PW_Basis* pw_rho, doub
141141
recip_nabla_rho[ip] = img * pw_rho->gcar[ip][j] * recip_rho[ip] * pw_rho->tpiba;
142142
}
143143

144-
pw_rho->recip2real(recip_nabla_rho, nabla_rho[j].data());
144+
pw_rho->recip2real(recip_nabla_rho.data(), nabla_rho[j].data());
145145

146146
for (int ir = 0; ir < pw_rho->nrxx; ++ir)
147147
{

0 commit comments

Comments
 (0)