Dear All,
I am interested in calculating the electric field inside a solid (in zero
applied external field). For this purpose I would like to take a .pp file of
the ionic+Hartree potential and differentiate it. I couldn't find any
information on the internet on the exact structure of a .pp file. Please could
this be clarified?
As an example, the header of my .pp file is as follows:
162 162 162 162 162 162 96 2
1 20.64336828 0.00000000 0.00000000 0.00000000
0.00000000 0.00000000
6476.6829010408 4.0000000000 150.0000000000 11
1 Ca 10.00
2 F 7.00
1 0.000000000 0.000000000 0.000000000 1
2 0.000000000 0.000000000 0.500000000 1
...
then follow the positions of the ions in the cell and then the density data
-8.358584553E+00 -8.262687629E+00 -7.991916719E+00 -7.550254499E+00
-6.949854525E+00
-6.221200847E+00 -5.400129088E+00 -4.537549114E+00 -3.695385287E+00
-2.927873052E+00
-2.232393469E+00 -1.599364989E+00 -1.053855115E+00 -6.077427805E-01
-2.928590662E-01
...
I can identify some of the numbers:
I'm guessing the grid is 162x162x162 (why is this repeated?) 96 the number of
atoms per cell, 2 the number of atomic types
1 is probably the ibrav index then follow celldm(1) to celldm(6)
not sure about the next 2 numbers, 150 is the wfc cutoff 11 is the identifier
for Hartree+ionic potential
I'm also guessing that the innermost index runs fastest, i.e. if pp.x was
written in C it would do something like this
for (ix=0;ix<NX;ix++) {
for (iy=0;iy<NY;iy++) {
for (iz=0;iz<NZ;iz++) {
printf("%g ",data[ix][iy][iz]);
if ((ix+iy+iz) % 5 == 4)
printf("\n");
}
}
}
In any case I think it would be good to have a complete description available
somewhere in the Quantum Espresso documentation (unless I missed it in which
case please point me to it!).
Thanks,
Johannes
-------------------------------
Johannes Moeller
Department of Physics
University of Oxford