A question about pppm.cpp

Dear Lammps,

I am now modifying pppm.cpp without using FFT. But I still need remain mesh in my method. And I met some questions. I wonder how you generate mesh in this source code. Is this part in the set_grid_local function? And where you define the coordinate of grids? I am really confused with that. Thanks for your patience and help.

Best,
Shiyi Qin

See pppm.h. These sections define the bounds of the regular

3d grid on each proc, and which variables store grid values:

int nxlo_in,nylo_in,nzlo_in,nxhi_in,nyhi_in,nzhi_in;
int nxlo_out,nylo_out,nzlo_out,nxhi_out,nyhi_out,nzhi_out;
int nxlo_ghost,nxhi_ghost,nylo_ghost,nyhi_ghost,nzlo_ghost,nzhi_ghost;
int nxlo_fft,nylo_fft,nzlo_fft,nxhi_fft,nyhi_fft,nzhi_fft;
int nlower,nupper;
int ngrid,nfft,nfft_both;

FFT_SCALAR ***density_brick;
FFT_SCALAR ***vdx_brick,***vdy_brick,***vdz_brick;
FFT_SCALAR ***u_brick;
FFT_SCALAR ***v0_brick,***v1_brick,***v2_brick;
FFT_SCALAR ***v3_brick,***v4_brick,***v5_brick;
double *greensfn;
double **vg;
double *fkx,*fky,*fkz;
FFT_SCALAR *density_fft;
FFT_SCALAR *work1,*work2;

Then find where the grid index variables are defined in the code.

Steve