TABLE OF CONTENTS
INTRODUCTION
&INPUTPP
prefix  outdir  filplot  lpunch
&PLOT
iflag  output_format  fileout  interpolation  x0  nx  lebedev  e1  x0  nx  e1  e2  x0  nx  ny  e1  e2  e3  x0  nx  ny  nz  radius  nx  ny
INTRODUCTION
Purpose of pprism.x: data analysis and plotting for 3DRISM or LaueRISM.
The code performs two steps:
(1) reads the output file produced by pw.x, extract and calculate
solvent's quantities (solvent charge, solvent potential, ...)
(2) writes solvent's quantities to file in a suitable format for
various types of plotting and various plotting programs
The input data of this program is read from standard input
or from file and has the following format:
NAMELIST &INPUTPP
containing the variables for step (1), followed by
NAMELIST &PLOT
containing the variables for step (2)
The two steps can be performed independently. In order to perform
only step (2), leave namelist &INPUTPP blank. In order to perform
only step (1), do not specify namelist &PLOT
Intermediate results from step 1 can be saved to disk (see
variable filplot in &INPUTPP) and later read in step 2.
Since the file with intermediate results is formatted, it
can be safely transferred to a different machine.
All output quantities are in ATOMIC (RYDBERG) UNITS unless
otherwise explicitly specified.
Namelist: &INPUTPP

prefix 
CHARACTER 
Default: 
'pwscf'

prefix of files saved by program pw.x

outdir 
CHARACTER 
Default: 
value of the ESPRESSO_TMPDIR environment variable if set;
current directory ('./') otherwise

directory containing the input data, i.e. the same as in pw.x

filplot 
CHARACTER 
Default: 
"prefix".pprism

file "filplot" contains solvent's quantities
(can be saved for further processing)

lpunch 
LOGICAL 
Default: 
.FALSE.

punch solvent's quantities to fileplot, or not



Namelist: &PLOT

iflag 
INTEGER 
Status: 
REQUIRED

0 1D plot of the spherical average
1 1D plot
2 2D plot
3 3D plot
4 2D polar plot on a sphere

output_format 
INTEGER 
Status: 
REQUIRED

(ignored on 1D plot)
0 = format suitable for gnuplot (1D)
1 = obsolete format no longer supported
2 = format suitable for plotrho (2D)
3 = format suitable for XCRYSDEN (2D or usersupplied 3D region)
4 = obsolete format no longer supported
5 = format suitable for XCRYSDEN (3D, using entire FFT grid)
6 = format as gaussian cube file (3D)
(can be read by many programs)
7 = format suitable for gnuplot (2D) x, y, f(x,y)

fileout 
CHARACTER 
Default: 
"prefix".3drism

name of the file to which the plot is written

interpolation 
CHARACTER 
Default: 
'fourier'

Type of interpolation:
 'fourier'
 'bspline' :
(EXPERIMENTAL)

IF iflag = 0 :
the following variables are REQUIRED:
x0(i), i=1,3 
REAL 
3D vector, origin of the line
(in alat units)

nx 
INTEGER 
number of radial grids

lebedev 
INTEGER 
number of spherical grids of Lebedev quadrature
(only for interpolation = 'bspline')


ELSEIF iflag = 1 :
the following variables are REQUIRED:
e1(i), i=1,3 
REAL 
3D vector which determines the plotting line
(in alat units)

x0(i), i=1,3 
REAL 
3D vector, origin of the line (in alat units)

nx 
INTEGER 
number of points in the line:
rho(i) = rho( x0 + e1 * (i1)/(nx1) ), i=1, nx


ELSEIF iflag = 2 :
the following variables are REQUIRED:
e1(i),
e2(i),
i=1,3 
REAL 
3D vectors which determine the plotting plane (in alat units)
BEWARE: e1 and e2 must be orthogonal

x0(i), i=1,3 
REAL 
3D vector, origin of the plane (in alat units)

nx, ny 
INTEGER 
Number of points in the plane:
rho(i,j) = rho( x0 + e1 * (i1)/(nx1)
+ e2 * (j1)/(ny1) ), i=1,nx ; j=1,ny


ELSEIF iflag = 3 :
the following variables are OPTIONAL:
e1(i),
e2(i),
e3(i),
i=1,3 
REAL 
3D vectors which determine the plotting parallelepiped
(if present, must be orthogonal)
e1, e2, and e3 are in alat units !

x0(i), i=1,3 
REAL 
3D vector, origin of the parallelepiped
x0 is in alat units !

nx, ny, nz 
INTEGER 
Number of points in the parallelepiped:
rho(i,j,k) = rho( x0 + e1 * (i1)/nx
+ e2 * (j1)/ny
+ e3 * (k1)/nz ),
i = 1, nx ; j = 1, ny ; k = 1, nz
 If output_format = 3 (XCRYSDEN), the above variables
are used to determine the grid to plot.
 If output_format = 5 (XCRYSDEN), the above variables
are ignored, the entire FFT grid is written in the
XCRYSDEN format  works for any crystal axis (VERY FAST)
 If e1, e2, e3, x0 are present,
and e1, e2, e3 are parallel to xyz
and parallel to crystal axis, a subset of the FFT
grid that approximately covers the parallelepiped
defined by e1, e2, e3, x0, is
written  untested, might be obsolete
 Otherwise, the required 3D grid is generated from the
Fourier components (may be VERY slow)


ELSEIF iflag = 4 :
the following variables are REQUIRED:
radius 
REAL 
Radius of the sphere (alat units), centered at (0,0,0)

nx, ny 
INTEGER 
Number of points in the polar plane:
phi(i) = 2 pi * (i  1)/(nx1), i=1, nx
theta(j) = pi * (j  1)/(ny1), j=1, ny





