Dear LAMMPS users & developers,

I am simulating SPC/E water with LAMMPS 1Feb14 using Ewald summation and I would like to dump all k-vectors employed for the force calculation during the simulation to a file for post-processing. I saw that the arrays kxvecs[j], kyvecs[j] and kzvecs[j], j = 0, …, kcount-1, are initialised in void Ewald::coeffs() in the file ewald.cpp. At the end of Ewald::setup(), I added the following source code to write the vectors to a file:

*…*

*for (int k = 0; k < kcount; k++)*

*fprintf(fp, “%d %5.14lf %5.14lf %5.14lf \n”, k+1, kxvecs[k]*unitk[0], kyvecs[k]*unitk[1], kzvecs[k]*unitk[2]);*

*…*

Although that works so far, I realised that that all *kx*-components of the k-vectors are non-negative, i.e. kxvecs[j] >= 0 for j = 0,…,kcount-1. I assume that some underlying symmetry is employed for the evaluation of the k-space sum, but I cannot really see, where this is happening.

Therefore, I would like to ask two questions:

1.) Could someone who is familiar with the code please refer to the line where the above mentioned symmetry of (* kx,ky,kz*) -> (

*) is employed accounting for the missing k-vectors in the half-sphere*

**-kx**,ky,kz*kx*<= 0?

2.) Would it then be sufficient to just invert the

*kx*-component of the k-vectors used in LAMMPS in order to reconstruct the full set of k-vectors, i.e.

…

**// missing half-sphere**

for (int k = 0; k < kcount; k++)

fprintf(fp, “%d %5.14lf %5.14lf %5.14lf \n”, kcount+k+1, **- kxvecs[k]*unitk[0]**, kyvecs[k]*unitk[1], kzvecs[k]*unitk[2]);

…

or are there still more “missing”?

Thanks in advance,

Peter