plug memory leaks

This commit is contained in:
Axel Kohlmeyer
2024-08-02 17:17:23 -04:00
parent d03ca368b5
commit 859cbc90ef

View File

@ -613,8 +613,7 @@ void PPPMDipole::allocate()
memory->create2d_offset(rho1d,3,-order/2,order/2,"pppm_dipole:rho1d");
memory->create2d_offset(drho1d,3,-order/2,order/2,"pppm_dipole:drho1d");
memory->create2d_offset(rho_coeff,order,(1-order)/2,order/2,"pppm_dipole:rho_coeff");
memory->create2d_offset(drho_coeff,order,(1-order)/2,order/2,
"pppm_dipole:drho_coeff");
memory->create2d_offset(drho_coeff,order,(1-order)/2,order/2,"pppm_dipole:drho_coeff");
// create 2 FFTs and a Remap
// 1st FFT keeps data in FFT decomposition
@ -669,8 +668,23 @@ void PPPMDipole::deallocate()
memory->destroy(densityy_fft_dipole);
memory->destroy(densityz_fft_dipole);
memory->destroy(density_fft);
memory->destroy(greensfn);
memory->destroy(work1);
memory->destroy(work2);
memory->destroy(work3);
memory->destroy(work4);
memory->destroy(vg);
memory->destroy1d_offset(fkx,nxlo_fft);
memory->destroy1d_offset(fky,nylo_fft);
memory->destroy1d_offset(fkz,nzlo_fft);
memory->destroy(gf_b);
memory->destroy2d_offset(rho1d,-order_allocated/2);
memory->destroy2d_offset(drho1d,-order_allocated/2);
memory->destroy2d_offset(rho_coeff,(1-order_allocated)/2);
memory->destroy2d_offset(drho_coeff,(1-order_allocated)/2);
delete fft1;
delete fft2;
@ -678,6 +692,7 @@ void PPPMDipole::deallocate()
fft1 = fft2 = nullptr;
remap = nullptr;
gf_b = nullptr;
}
/* ----------------------------------------------------------------------