For information on the methodology or the input format (strc-file and
cntl-file) for the PAW
program please have a look into the "Manual for the Projector Augmented
Wave Method" Version 2.0.
(This means: really physically read the menu!)
This is the "old" README for paw22_fftw:
this file contains some info concerning the "portable" PAW running
on the Cobalt-
cluster. because of some problems during the port, some features available
on the IBM machines are not available, which is important to know when
using
the program.
This file contains also some info with regard to some utility scripts
to
run jobs on cobalt.
apart from some minor changes and polishings (due to the more picky
compiler on the
DEC) the paw22_fftw code is essentially the same as the IBM code.
the major difference is the fact, that the IBM proprietary essl-library
had to be
replaced. this concerns especially the 3d-complex FFT routines which
are important
for the speed of the program.
for the port I've used the public domain FFT-library (written in C at
the MIT) called
fftw (version 1.2). the matrix algebra calls to the essl are replaced
by calls to
a BLAS and LAPACK lib compiled from the sources from www.netlib.org
and a couple
of "handmade" routines which are not time critical (thanks to Peter
Margl ;-).
The fftw lib can be tuned further (which is on the todo-list) but this
source as it
is compiled on the IBM was just 10% slower then the original IBM version
with the essl,
and it is also faster then a version using the DEC dxml library.
the sources with a new makefile sit in my homedir in /usr/people/program/paw/PAW2.2/Source
(and shouldn't be copied somewhere without letting me know !! ;-).
all the stuff necessary for paw runs can be found at
/usr/people/program/paw
if there is something you need, let me know.
in the /bin directory there are some executables called paw22_fftw.<date>.nsx
and
"paw" is linked to the newest exec. to run a job you just need:
/usr/people/program/paw/bin/paw <controlfile>
all the setups for the elements are in the /data directory. /Atom contains
the local
and /AtomGC the GGA-setups (as on the IBM under /usr/local/paw/).
The executables have a timestamp compiled in.
In the header line of the *.prot file
the program prints if it is an optimized or debug
version and on what date/time it
has been built. If you find anything working
once and not working later on please
check if you are using a newer built and tell
me. I presumably screwed something up
and it is easier to track this down :-).
Some recent minor changes in the code:
the following things don't work:
- (because of IBM specific system calls all the timing info is crap)
This is not correct anymore. There is some timing
info using the f90 date command.
It gives a reasonable idea of the length of a timestep
etc.
(RS 30.11.98)
- the "kill -30" command does not work!!!!
-> this means you have to
wait until the job is done to get a proper
restart
file. this means if you don't use the autopilot you have
to set
the number of steps properly for your needs.
-> you can stop your
job as with "kill -30" by creating a file with the same rootname as
the control file and the extension exit.
$ touch jobname.exit
this will have the same effect: the
program writes to the restart file and exits.
(RS 30.11.98)
- The filehandler works thanks to Serguei. (Compiler bug on the DEC)
(- because of some weird behaviour of the OPEN statement on the DEC
the quite complex
filehandler does not work in certain cases on the DEC. This
means, the program can
not append to existing files properly which means it will die
with an I/O error if
you have e.g. an old <name>.prot file around.
-> you have to remove
the old *.prot file and other files by renaming them.
(I didn't check everything out in detail, but the program names the file
in the I/O error message)
just rename the file.)
(RS 30.11.98)