Next: Run the program
Up: QMC-MPP
Previous: System requirements
.<
system>
'
should contain the changes. It has then to be copied to `Makedefault'. The same
applies to the file(s) `Makeapp*' which has to be adapted to the syntax rules
of `make'.
The most important make targets are dsgsahga for the surface and bhrgsahga for the volume, and for the generation of the input files of the lattice, the targets hrmgit, hrmphgit are available. All modules which belong to a target are combined into the full code via the macros in the makefile. They are processed by the stream editor `sed' to save memory and then compiled as a whole. A suggestion for unpacking and a very first compilation (for tcsh shell) is given below, see also file `INSTALL':
#tcsh-shell - commands for full new install of the
#program package QIRM, version 3.0 below ~/qmc in the
#SUN-Cluster of ITAP.
#quick install (17MB free?): source INSTALL
#Install data also (80MB free?): Uncomment the line with #DATA below
#Oct. 2001 RB
unsetenv SOURCEDIR
setenv SOURCEDIR "/tmp"
ls -al $SOURCEDIR/qirm.3.tar.gz
cd
gunzip -c $SOURCEDIR/qirm.3.tar.gz | tar xvf -
#DATA
#gunzip -c $SOURCEDIR/qirm_data.3.tar.gz | tar xvf -
cd qmc
unsetenv TMPDIR
setenv TMPDIR $HOME/qmc/TMP/tmp1
rm -f -r $TMPDIR
mkdir $TMPDIR
ln -s $HOME/qmc/TMP $HOME/qmc/TMP/tmp1/TMP
cp Makedefault.sun Makedefault
make
cd TMP/tmp1
ls -al
echo "Try now: dsgsahga.exe < $HOME/qmc/hrmuster_io.020208.00.nl.txt"
After a successful compilation the binaries `tparoutu' and `choose' are available in the directory `qmc/bin' to assist in job control commands. However, the main file appears as the executable `dsgsahga.exe' representing the simulation program. It is explained in chapter 1.3 how to run a short test with it.
In the remaining part of this chapter the main make macros are discussed,
which are important for performance analysis, for the controlling via batch and also
for direct interaction through a command line. To generate the executable `dsgsahga.exe'
e.g. the following command may be executed within the directory `qmc':
make MV=020208 SYS=00 EXE=TMP/tmp1 FAST= \
APP=-eA IO= CDIR= VPP=hrvkppnlgs. dsgsahga
The meaning of the single macros is explained below. Thereby, the content of the file
`Makedefault.t3e' is assumed to define system dependent default values in `Makedefault'.
MV: `MV=020208' defines the extent of the simulation cell: In the direction of the
first primitive translation of the lattice of the nuclei it means
twice (02) this translation, in the
direction of the second primitive translation twice (02) again,
and in the third direction which is perpendicular to both eight (08) times the lattice unit,
i.e. eight layers. Default setting is `MV=020208', such that to compute a system
with 16 layers `MV=020216' should be inserted.
SYS: `SYS=00' refers to a surface system and `SYS=01' refers to bulk.
Thus, the target `dsgsahga' is necessarily connected with `SYS=00' and the target
`bhrgsahga' with `SYS=01'. Default is `SYS=00' with target `dsgsahga'.
EXE: `EXE=TMP/tmp1' denotes that the executable, e.g. `dsgsahga.exe', is to be written
into the directory `TMP/tmp1' which appropriately has been defined during the `make' process.
It is assumed in the makefile and in the job control cards that the system variable
`TMPDIR' has been defined. In the normal case one would define a temporary work directory
`/tmp/...' to associate with each interactive (command line) job and batch job an own
working directory. All necessary links on input and output directories will then be
automatically set.
FAST: `FAST= ' means no optimization at all in order to accelerate compilation.
For production runs, however, the macro `FAST' has to be suitably adjusted in the file
`Makedefault' e.g. in the way as it is generally fixed by default. If a debugger
is used, the macro `FAST' can for instance be applied to set with `FAST=-g' a suitable compiler
option together with suppressing optimization.
APP: `APP=-eA' transfers to the Fortran compiler the option `-eA'
(,,enable Apprentice``) in order to analyse the performance whose output is stored to
`qmc/APP' during a batch job. To link to the respective library the default
`QMCdslink=-lapp' is set in the file `Makedefault'. The default value for `APP'
generally is `APP= ', i.e. no performance analysis.
IO: `IO= ' denotes the (default) setting `stdin' as input source for the
executable, e.g. starting from a command line and introducing input parameters
via the keyboard or by ,,cut&paste
``. For a batch job the
setting `IO=b' is necessary.
CDIR: `CDIR= ' switches off the use of compiler directives (see above) in the modul
`hrnaqd*' through the use of the file `hrnaqd.for' instead of the default
`hrnaqd_
cdir.for' file.
VPP: `VPP=hrvkppnlgs.' denotes utilizing the nonlocal version of
the pseudopotential (PP) which is also default setting. A faster, of course less
accurate, possibility of a local PP is available through `VPP=hrvkpplgs.'
However, another job control card which regards the choice of suitably adapted different
bulk parameters is necessary for the latter case, see e.g. a pattern as given by
`muster.dsgsahga.1pe.l.job'.
Robert Bahnsen