~ubuntu-branches/debian/sid/abinit/sid

« back to all changes in this revision

Viewing changes to doc/install_notes/install_v4.0.htm

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme
  • Date: 2007-09-14 13:05:00 UTC
  • Revision ID: james.westby@ubuntu.com-20070914130500-1kzh2mrgo6ir4b6i
Tags: upstream-5.3.4.dfsg
ImportĀ upstreamĀ versionĀ 5.3.4.dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<HTML>
 
2
<HEAD>
 
3
   <TITLE>installation notes for V4.0</TITLE>
 
4
</HEAD>
 
5
<BODY BGCOLOR="#FFFFFF">
 
6
<H1><CENTER>
 
7
 
 
8
<HR>
 
9
 
 
10
Installation notes for ABINIT v4.0</CENTER></H1>
 
11
 
 
12
<P>
 
13
 
 
14
<HR>
 
15
 
 
16
This file provides a description of the operations needed to install
 
17
the ABINIT package, to generate the executable and to make the
 
18
tests.</P>
 
19
 
 
20
<P>See a recent version of the 
 
21
<a href="../new_user_guide.html">new user's guide</a>, for an
 
22
introduction to the abinit package. See a recent version of the 
 
23
<a href="../abinis_help.html">abinis help</a> file
 
24
for learning how to use the code. Both of them can be
 
25
found in the Infos subdirectory.</P>
 
26
 
 
27
<P>Any comment or suggestion to improve the procedure will be
 
28
welcome ! Simply contact the 
 
29
<A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>.</P>
 
30
 
 
31
<P>Created 981109<BR>
 
32
Last updated XG 20030106</P>
 
33
 
 
34
<h5>Copyright (C) 1998-2003 ABINIT group (XG,DCA)
 
35
<br> This file is distributed under the terms of the GNU General Public License, see
 
36
~abinit/COPYING or <a href="http://www.gnu.org/copyleft/gpl.txt">
 
37
http://www.gnu.org/copyleft/gpl.txt </a>.
 
38
<br> For the initials of contributors, see ~abinit/doc/developers/contributors .
 
39
</h5>
 
40
 
 
41
<P>
 
42
 
 
43
<HR>
 
44
 
 
45
</P>
 
46
 
 
47
<H2>Summary :</H2>
 
48
 
 
49
<UL>
 
50
   <LI><A HREF="#get _version"><B>How to get a version of ABINIT
 
51
   ?</B></A></LI>
 
52
   
 
53
   <LI><A HREF="#make_executable"><B>How to make the executable
 
54
   ?</B></A></LI>
 
55
   
 
56
   <LI><A HREF="#make_internal_tests"><B>How to make the internal
 
57
   tests ?</B></A></LI>
 
58
   
 
59
   <LI><A HREF="#make_tests"><B>How to make the other tests
 
60
   ?</B></A></LI>
 
61
   
 
62
   <LI><A HREF="#others"><B>Things that are NOT in the installation
 
63
   files.</B></A></LI>
 
64
 
 
65
   <LI><A HREF="#make_installationfiles"><B>For advanced users : 
 
66
   how to make the installation files ?</B></A></LI>
 
67
 
 
68
</UL>
 
69
 
 
70
<P>
 
71
 
 
72
<HR>
 
73
 
 
74
</P>
 
75
 
 
76
<H2><A NAME="get _version"></A>How to get a version of ABINIT ?</H2>
 
77
 
 
78
<P>We will distinguish three cases :</P>
 
79
 
 
80
<OL>
 
81
   <LI>you have a F90 compiler under UNIX/Linux (or MacOS X) and 
 
82
   you want to compile the source files.</LI>
 
83
   
 
84
   <LI>you run one of the UNIX/Linux (or MacOS X) platforms 
 
85
   on which ABINIT is installed 
 
86
   before each release, and you do not want to compile the source files.</LI>
 
87
 
 
88
   <LI>you want to run ABINIT under DOS/Windows.</LI>
 
89
 
 
90
</OL>
 
91
 
 
92
<P>In the three cases, the installation files are available on the web site.</P>
 
93
 
 
94
<P>You must download different files for the different cases(<I>x.x.x is the
 
95
version</I>).</P>
 
96
 
 
97
<P><B>Case 1 (under UNIX/Linux or MacOS X, and you want to compile) :</B></P>
 
98
<BLOCKQUOTE>
 
99
<P>download the file <B>src_tests_<I>x.x.x</I>.tar.gz</B>
 
100
    </P>
 
101
<P><B>or</B></P>
 
102
<P>download the four files <B>src_tests<I>X</I>_<I>x.x.x</I>.tar.gz</B>  
 
103
  where <B><I>X</I></B> is <B><I>A, B, C or D</I></B>
 
104
    </P>
 
105
</BLOCKQUOTE>
 
106
 
 
107
<BLOCKQUOTE>The <B>src_tests_<I>x.x.x</I>.tar.gz</B>
 
108
   gzipped tar file contains <B>all</B> the sources of the
 
109
   ABINIT code (including the files needed for generating the FFTs,
 
110
   NumRecip and Lapack libraries), the complete Infos directory, the
 
111
   complete set of Tests, all the scripts and makefiles, the
 
112
   pseudopotentials needed for tests.<BR>
 
113
   It does NOT contain the object files and the binary executable
 
114
   files. <BR>
 
115
   You might as well download separately four different tar.gz
 
116
   files named src_testsA_<I>x.x.x</I>.tar.gz, src_testsB_<I>x.x.x</I>.tar.gz
 
117
   src_testsC_<I>x.x.x</I>.tar.gz, and src_testsD_<I>x.x.x</I>.tar.gz .
 
118
   This opportunity is provided in case you have a slow connection
 
119
   to the ABINIT Web site, and think your ftp connection might be not
 
120
   stable enough to download the entire src_tests_<I>x.x.x</I>.tar.gz file : 
 
121
   the four different
 
122
   files are each about one quarter of the single file, and altogether they contain 
 
123
   also the full ABINIT package.</BLOCKQUOTE>
 
124
 
 
125
<P><B>Case 2 (under UNIX/Linux or Mac OS X, and you do not want to compile) :</B></P>
 
126
<BLOCKQUOTE>
 
127
 <P>download <B><I>platform</I>_seq_<I>x.x.x</I>.tar.gz</B>,
 
128
    for the sequential version only, </P>
 
129
 <P><B>or</B></P>
 
130
 <P>download <B><I>platform</I>_par_<I>x.x.x</I>.tar.gz</B>,
 
131
    for the parallel version only (if it exists for the platform), </P>
 
132
 <P><B>or</B></P>
 
133
 <P>download <B><I>platform</I>_<I>x.x.x</I>.tar.gz</B>,
 
134
    for sequential and parallel versions (if both exist for the platform). </P>
 
135
</BLOCKQUOTE>
 
136
 
 
137
<BLOCKQUOTE>Such gzipped tar files contains the binary executable
 
138
   files (sequential, or parallel, or both), 
 
139
   the complete Infos directory, and the different files
 
140
   needed to execute either the 
 
141
   <A HREF="#make_internal_tests"><B> 5 internal tests </B></A>
 
142
   (sequential version),
 
143
   or <A HREF="#make_tests"><B> tests </B></A>
 
144
   from the Test_paral directory (parallel version), or both. 
 
145
   In what follows, we will focus on the
 
146
   sequential executable (called abinis). One should begin to use
 
147
   the parallel executable (called abinip) only when sufficient
 
148
   experience has been gained with abinis. <BR>
 
149
   The gzipped tar file does NOT contain the source files, 
 
150
   neither the Test_fast, Test_v1, Test_v2, Test_v3, Test_v4,
 
151
   and Test_cpu directories, nor the corresponding
 
152
   pseudopotentials. The possible platforms are :
 
153
<UL>
 
154
   <LI>pclinux_pgi (PC under Linux, using the Portland Group Inc. compiler),</LI>
 
155
   <LI>pclinux_ifc (PC under Linux, using the Intel compiler - a bit faster),</LI>
 
156
   <LI>ibm_pw2 (IBM with Power 2 processors),</LI>
 
157
   <LI>ibm_44p (IBM model 44P with Power III+ processors),</LI>
 
158
   <LI>compaq_ev56 (DEC/Compaq machines with EV56 alpha processors),</LI>
 
159
   <LI>compaq_ev67 (DEC/Compaq machines with EV67 alpha processors),</LI>
 
160
   <LI>hp_pa7200 (HP PA RISC processors, model 7200),</LI> 
 
161
   <LI>hp_pa8000 (HP PA RISC processors, model 8000),</LI> 
 
162
   <LI>hp_pa8500 (HP PA RISC processors, model 8500),</LI> 
 
163
   <LI>sgi_r12000,</LI> 
 
164
   <LI>sgi_r14000,</LI> 
 
165
   <LI>sun_ultrasparc,</LI> 
 
166
   <LI>fujitsu_vpp,</LI>
 
167
   <LI>nec</LI> 
 
168
   <LI>mac OS X</LI> 
 
169
</UL>
 
170
   For the Intel/Linux machines, the binaries contain all
 
171
   the library routines statically linked. They should be very portable 
 
172
   (and they have been ported to more than 5 different machines in different
 
173
   countries, or of different construction ). However, they have been compiled
 
174
   by a compiler that generates code that needs an IP number to work.
 
175
   So, they will not run if your machine has not been IP'ed. 
 
176
   For the other platforms,
 
177
   the executable does not contain all the library routines
 
178
   (they are linked dynamically), so they might not be as portable.
 
179
   The portability of the executable has been checked only 
 
180
   for IBM PW2 and SGI Origin 2000 platforms.
 
181
   </BLOCKQUOTE>
 
182
 
 
183
<P><B>Case 3 (you want to run ABINIT under DOS/Windows) :</B></P>
 
184
<BLOCKQUOTE>
 
185
 <P>download <B>intel_DOSWin_seq_<I>x.x.x</I>.exe</B>,
 
186
    for the sequential version.</P>
 
187
</BLOCKQUOTE>
 
188
 
 
189
<BLOCKQUOTE>
 
190
   This is a self-extracting zip file that contains the binary executable
 
191
   files, the complete Infos directory, and the different files
 
192
   needed to execute the 5 internal tests. It does NOT contain the source files,
 
193
   nor the Test_fast, Test_v1, Test_v2, Test_v3, Test_v4
 
194
   and Test_cpu directories, and the corresponding
 
195
   pseudopotentials.<BR>
 
196
   Note : in order to compile ABINIT under DOS/Windows, you need the PGI workstation
 
197
   environment. The procedure to be followed differs from what will be explained
 
198
   below, and will not be described.
 
199
   Contact the <A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A> if needed.
 
200
</BLOCKQUOTE>
 
201
 
 
202
<P>So, execute the following actions :</P>
 
203
 
 
204
<BLOCKQUOTE><B>1)</B> Transfer the above-mentioned file(s) to your
 
205
   machine, in a directory referred to here as ~local_ABINITv<I>x.x.x</I> .
 
206
   You should have about 100 MB of disk space to install the code,
 
207
   maybe more, depending on the version, and the number of tests that you
 
208
   will do.
 
209
   
 
210
   <P><B>2a)</B> Under UNIX/Linux, gunzip (on some machine you need gzip -d) 
 
211
   and untar the file
 
212
   '<B>src_tests_<I>x.x.x</I>.tar.gz</B>' or
 
213
   '<B><I>platform</I>_<I>x.x.x</I>.tar.gz</B>' (or the sequential
 
214
   or parallel reduction of the latter file) :</P>
 
215
   
 
216
   <BLOCKQUOTE>gunzip <B>src_tests_<I>x.x.x</I>.tar.gz</B> |
 
217
      tar -xvf -
 
218
      
 
219
      <P>or</P>
 
220
      
 
221
      <P>gunzip <B><I>platform</I>_<I>x.x.x</I>.tar.gz</B> |
 
222
      tar -xvf -</P>
 
223
   </BLOCKQUOTE>
 
224
 
 
225
   <P><B>2b)</B> Under Windows, double-click the icon of the file
 
226
   intel_DOSWin_seq_x.x.x.exe to retrieve the files and directories.
 
227
   You can also run it as a command in a DOS window or use your favorite
 
228
   unzipping utility.  </P>
 
229
</BLOCKQUOTE>
 
230
 
 
231
<P>If correctly done, a whole set of
 
232
subdirectories should have been created. One of them is called
 
233
'Infos'. It contains many important informations.
 
234
In particular, you will find the description of the different
 
235
subdirectories in the 
 
236
~local_ABINITv<I>x.x.x</I>/Infos/dirs_and_files file.
 
237
This file also describes the content of the Infos
 
238
directory, that is, all the information files.</P>
 
239
 
 
240
<P><B>*** It is strongly adviced to the installer to read (and print) NOW the
 
241
~local_ABINITv<I>x.x.x</I>/Infos/dirs_and_files file. ***</B></P>
 
242
 
 
243
<P>
 
244
 
 
245
<HR>
 
246
 
 
247
</P>
 
248
 
 
249
<H2><A NAME="make_executable"></A>How to make the executables ?</H2>
 
250
 
 
251
<P>If you were in case 2, then you already have the binary
 
252
executables abinis, newsp, mrgddb and anaddb, so that you might skip the present
 
253
section and 
 
254
<A HREF="#make_internal_tests">go to the internal testing</A>. 
 
255
However, just for fun, if you are in UNIX or Linux, you
 
256
can issue the make command, in the ~local_ABINITv<I>x.x.x</I>
 
257
directory :</P>
 
258
 
 
259
<BLOCKQUOTE><B>make</B></BLOCKQUOTE>
 
260
 
 
261
<P>This will print the list of the basic keywords for the make
 
262
utility. This list of basic keywords is completed by keywords specific to
 
263
developers, obtained by typing
 
264
</P>
 
265
 
 
266
<BLOCKQUOTE><B>make dev</B></BLOCKQUOTE>
 
267
 
 
268
<P>We now suppose that you have a F90 compiler and you want to
 
269
compile the source files (case 1).
 
270
You must provide to the 'make' utility some
 
271
information: the location
 
272
of F90 and C compilers on your machine, the cpp utility, the blas
 
273
library, the location of PERL ...
 
274
For this, you must create in the ~local_ABINITv<I>x.x.x</I> directory a
 
275
file (or a symbolic link) named 'makefile_macros',
 
276
that you will have to design starting from already existing example files.
 
277
Examples of such files are contained in the subdirectories of the
 
278
~local_ABINITv<I>x.x.x</I>/Machine_dept_files directory.
 
279
Actually, if one of the existing 'makefile_macros' file is suitable
 
280
for you, you will have simply to issue an instruction like the following :</P>
 
281
 
 
282
<BLOCKQUOTE><B>ln -s</B> Machine_dept_files/DEC/makefile_macros.newton makefile_macros</BLOCKQUOTE>
 
283
 
 
284
<P>(here, a symbolic link is created, so that 'makefile_macros' refers to
 
285
Machine_dept_files/DEC/makefile_macros.newton , a file suitable for
 
286
the DEC machine named 'newton' at the PCPM).
 
287
In order to generate a new 'makefile_macros' file, a help file 
 
288
called 'help.makefile_macros' can be found in the
 
289
~local_ABINITv<I>x.x.x</I>/Infos directory. You can ask some
 
290
help to the <A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>.
 
291
When you have succeeded to create one such file, please send it
 
292
to us, so that it can be maintained in the next versions of the code.</P>
 
293
 
 
294
 
 
295
<P>When the 'makefile_macros' file is ready, you will have to issue 
 
296
the 'make' command, followed by some keyword.</P>
 
297
 
 
298
<P>To get the sequential version of all the executables,
 
299
you must type :</P>
 
300
 
 
301
<BLOCKQUOTE><B>make allseq</B> 
 
302
<P> or </P> 
 
303
<B>make allseq >& log.file</B>
 
304
</BLOCKQUOTE>
 
305
 
 
306
<P>(allseq is an abbreviation for <I>all sequential</I> executables; 
 
307
   log.file can be any filename, and is useful
 
308
    when the messages from make are too long)</P>
 
309
 
 
310
<P>Issuing this 'make allseq' command will trigger a whole set of
 
311
actions (not easy to follow, as you will see).<BR>
 
312
The make utility will use the file 'Makefile', that calls a script
 
313
called 'makemake', to produce another makefile, called
 
314
'tmp_makefile', that calls the 'makearch' script from different
 
315
subdirectories, that create themselves 'tmp_makefile' files, that
 
316
compile the fortran source (and eventually one C file), create
 
317
libraries and link the different objects.<BR>
 
318
Moreover, usually, this works without problem !</P>
 
319
 
 
320
<P>Let's us suppose that you do not issue the powerful 'make allseq'
 
321
command, but that you want to create one-by-one the libraries and
 
322
executables.</P>
 
323
 
 
324
<P>Then, for the sequential version, you must create :</P>
 
325
 
 
326
<UL>
 
327
   <LI>the lapack library (make lapack)</LI>
 
328
   
 
329
   <LI>the numrecip library (make numrecip)</LI>
 
330
 
 
331
   <LI>the new FFT library (make fftnew)</LI>
 
332
   
 
333
   <LI>the perl scripts (make perl)</LI>
 
334
 
 
335
   <LI>and on some platforms, the blas library (make blas)</LI>
 
336
</UL>
 
337
 
 
338
<P>Alternatively, the libraries can be created at once by
 
339
issuing 'make libs'.</P>
 
340
 
 
341
<P>Then, you can issue 'make abinis' to make the sequential version
 
342
of abinit, and 'make newsp' to make newsp, the wavefunction
 
343
translator. The latter is needed for different tests of abinis
 
344
(see below). You can also issue 'make mrgddb' to make the
 
345
code that merge the derivative databases, 'make anaddb' to make
 
346
the code that analyze interatomic force constant, 
 
347
'make aim' for the Bader analysis utility, 
 
348
'make cut3d' for the analyzer of three-dimensional density, potential
 
349
or wavefunction files.</P>
 
350
 
 
351
<P>In order to get a transferable executable on Intel/Linux machines,
 
352
it might be needed to generate a static BLAS library. For this purpose,
 
353
issue 'make blas'. Be consistent with this choice, at the level
 
354
of the 'makefile_macros' file. This possibility is also used
 
355
for the Fujitsu machines.</P>
 
356
 
 
357
<P>Informations needed to generate the parallel version of ABINIT
 
358
can be found in the ~local_ABINITv<I>x.x.x</I>/Infos/paral_use file.
 
359
</P>
 
360
 
 
361
<P> Suppose that something is going wrong in one of the above-mentioned
 
362
steps, then, you can issue one of the 'clean_xxx' keywords (those
 
363
mentioned by typing 'make') to clean the directory where something
 
364
wrong happened.</P>
 
365
 
 
366
<P>With a bit of luck, you will succeed to
 
367
generate the executables. You are ready to perform
 
368
the tests.</P>
 
369
 
 
370
<P>In some cases, one wish to keep the binaries for different platforms
 
371
in the same ~local_ABINITv<I>x.x.x</I> directory. It is 
 
372
possible to make the 
 
373
compilation execute in such a way that the result is stored in
 
374
a machine-dependent subdirectory. Prior to the compilation on one
 
375
platform, issue : </P>
 
376
 
 
377
<BLOCKQUOTE><B>make bindir</B>
 
378
</BLOCKQUOTE>
 
379
 
 
380
<P>Thanks to this command, a 'tmp_bindir' file will be created,
 
381
containing the definition of a variable $(BINDIR). Usually, this
 
382
variable will be BinAbinit/machine_architecture ,
 
383
where machine_architecture is the result of the execution of the
 
384
`arch` command on the platform. This definition
 
385
will be included in the make mechanism, and all the binaries
 
386
will be put in $(BINDIR). For the compilation on another
 
387
platform, the 'make bindir' command must be performed again, 
 
388
before compilation, and the binaries generated by that other
 
389
compilation will be put in the corresponding directory.
 
390
It is also possible to change the tmp_bindir file, to define
 
391
another location, not obtained by the `arch` command.
 
392
Note that, if any, the cleaning will be directed to the $(BINDIR)
 
393
directory, which is the expected behaviour. However, presently, the
 
394
tests (internal as well as v1, and others) CANNOT use the 
 
395
executables in the machine-dependent location : if the tests 
 
396
are to be done, one must first copy the proper executable in the 
 
397
~local_ABINITv<I>x.x.x</I> directory.
 
398
</P>
 
399
 
 
400
<P>
 
401
 
 
402
<HR>
 
403
 
 
404
</P>
 
405
 
 
406
<H2><A NAME="make_internal_tests"></A>How to make the internal tests
 
407
? (sequential version only) &nbsp;</H2>
 
408
 
 
409
<P>The abinis code has five small internal tests, that can be issued
 
410
automatically, and that check themselves whether the results that
 
411
have been obtained are right or wrong. At most 3 MB of 
 
412
memory is required, and 1 MB of disk space. PERL must be installed
 
413
on your machine for these tests to work. You can get PERL from
 
414
<a href="http://www.perl.org">http://www.perl.org</a> . 
 
415
In the DOS/Windows case, perl.exe MUST be 
 
416
accessible through the DOS PATH</P>
 
417
 
 
418
<P>You can begin with the test number 1. Simply issue the command
 
419
:</P>
 
420
 
 
421
<BLOCKQUOTE><B>make test1</B></BLOCKQUOTE>
 
422
 
 
423
<P>It will run during a dozen of seconds. It will first
 
424
print&nbsp;</P>
 
425
 
 
426
<BLOCKQUOTE>cd Test_in; Run 1<BR>
 
427
 Built-in test 1 will be run through dotest script<BR>
 
428
 dotest: Starting built-in test 1<BR>
 
429
 ../abinis &lt; test1.files &gt; test1.log
 
430
</BLOCKQUOTE>
 
431
 
 
432
<P>then, you will eventually (if you are on a slow machine) see
 
433
different instances of the status file, like the following :</P>
 
434
 
 
435
<BLOCKQUOTE>Status file, with repetition rate 49 , status number
 
436
   99&nbsp;
 
437
 
 
438
   <P>Level abinit : call gstate<BR>
 
439
   Level gstate : call brdmin<BR>
 
440
   Level brdmin : call scfcv_ini<BR>
 
441
   Level scfcv : call vtorho<BR>
 
442
   istep = 2<BR>
 
443
   Level vtorho : compute rhog</P></BLOCKQUOTE>
 
444
 
 
445
<P>then, the important information is as follows :</P>
 
446
 
 
447
<BLOCKQUOTE>Status file, reporting on test 1&nbsp;
 
448
   
 
449
   <P>OK for total energy<BR>
 
450
   OK for nuclei positions<BR>
 
451
   OK for forces<BR>
 
452
   OK for stresses&nbsp;</P></BLOCKQUOTE>
 
453
 
 
454
<P>This means that the internal test 1 ran successfully. If you do
 
455
not get this message, then the executables were not properly
 
456
generated, or there is a problem with the make and scripts that drive
 
457
the internal test. In this case, after having tried to solve the
 
458
problem by yourself, you should contact somebody in the 
 
459
<A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>.</P>
 
460
 
 
461
<P>Note : the script detects the end of the run by using the 'ps'
 
462
command following by a 'grep' command.
 
463
This can lead to strange effects if a file whose name contain
 
464
'abinis' is currently visualized, or if another job is running under
 
465
a name that contains 'abinis'.<BR>
 
466
So, close your files before running the tests, and also check that
 
467
there are no running jobs whose name contains 'abinis'.</P>
 
468
 
 
469
<P>Supposing test1 was OK, then you have to issue the command 'make
 
470
tests'.</P>
 
471
 
 
472
<P>The test 1 will be done once more, followed by the 4 other
 
473
internal tests. Again, we hope that you will get the positive
 
474
diagnostics for the other tests. Altogether, these tests are about 50 sec
 
475
on a Intel/PIII 450 MHz machine where no other job is running.</P>
 
476
 
 
477
<P>For further information on these internal tests, see the file
 
478
~local_ABINITv<I>x.x.x</I>/Test_in/README .</P>
 
479
 
 
480
<P>You might now read the 
 
481
<a href="../new_user_guide.html">new user's guide</a>, in order
 
482
to learn how to use the code. This is useful if
 
483
you consider that the installation has been successful, or if
 
484
you want to continue the tests.</P>
 
485
 
 
486
<P>
 
487
 
 
488
<HR>
 
489
 
 
490
</P>
 
491
 
 
492
<H2><A NAME="make_tests"></A>How to make the other tests (case 1 only)?</H2>
 
493
 
 
494
<P>(Case 1 only, since in case 2, only the minimal testing tools have been
 
495
transferred)</P>
 
496
 
 
497
<P>Although it is possible to make the other tests without knowing
 
498
really how to use the code (since all steps involved - the run and subsequent
 
499
analysis - are done automatically), it is the right time to read
 
500
the <a href="../new_user_guide.html">new user's guide</a>.
 
501
 
 
502
<P>After this reading, you should look at the 
 
503
subdirectory Test_fast, and, later, Test_v1 and
 
504
Test_cpu, where tests of the sequential version of ABINIT (abinis) can be
 
505
done automatically. For tests of the parallel version (abinip)
 
506
see the directory Test_paral, as well as the 
 
507
~local_ABINITv<I>x.x.x</I>/Infos/paral_use file.
 
508
For tests of the response function features of abinis, and for
 
509
tests of mrgddb and anaddb, see the subdirectory Test_v2.
 
510
Test_v3 and Test_v4 
 
511
presents further tests of recently implemented features of ABINIT.</P>
 
512
 
 
513
<P>In order to execute these tests, you will need a larger disk space than
 
514
for the simple installation of the code (the total additional disk space
 
515
required is on the order of 100 MB). After having checked the results
 
516
of the tests, the user can easily retain the output files in a
 
517
compressed form, and get rid off the wavefunction files by
 
518
issuing</P>
 
519
 
 
520
<BLOCKQUOTE><B>make decrease_size_tests</B></BLOCKQUOTE>
 
521
 
 
522
<P>in the ~local_ABINITv<I>x.x.x</I> directory. Separate
 
523
commands are available for each of the Test directories.</P>
 
524
 
 
525
<P>You might as well remove all working directories by issuing </P>
 
526
 
 
527
<BLOCKQUOTE><B>make clean_tests</B></BLOCKQUOTE>
 
528
 
 
529
<P>in the ~local_ABINITv<I>x.x.x</I> directory. Separate
 
530
commands are available for each of the Test directories. This
 
531
command remove all the subdirectories that begin with '_',
 
532
which is the case of the working subdirectories. If you want to keep
 
533
some of them, remove their initial '_', then issue make clean_tests.
 
534
You can still decrease the size of such renamed directories by the
 
535
make decrease_size_tests command.</P>
 
536
 
 
537
<P><B>1) Test_fast&nbsp; </B> (for the sequential version only)</P>
 
538
 
 
539
<P>This subdirectory contains a basic set of tests of the code, aimed
 
540
at testing whether the code is coherent in time (successive
 
541
versions), and exercising many parts of the code. However, they do
 
542
not examine its accuracy on physical problems, mainly because the
 
543
number of plane waves used is too small, and some tests are not run
 
544
to self-consistent convergence. 32 MB of memory should be enough for these
 
545
tests (with no other application running, however).<BR>
 
546
Read the ~local_ABINITv<I>x.x.x</I>/Test_fast/README file          
 
547
carefully (at least the beginning), 
 
548
then read the beginning of the scripts 'Run'. Note that
 
549
it is a perl script. <BR>
 
550
To run the tests, simply issue :</P>
 
551
 
 
552
<BLOCKQUOTE><B>(Run machine_name) &gt;&amp; log</B></BLOCKQUOTE>
 
553
 
 
554
<P>where machine_name will usually be the name of your machine (any
 
555
other character string is fine, however).</P>
 
556
 
 
557
<P>The script will create a directory whose name will be build from the
 
558
machine name and today's date. All the results will be in that
 
559
directory. The output files will be automatically compared, thanks to
 
560
a 'diff' command, to a set of reference files, either from the
 
561
plane_wave code (the corresponding difference files are prefixed by
 
562
'diff.'), or from a recent run of the ABINIT code (the corresponding
 
563
difference files are prefixed by 'difnew.').</P>
 
564
 
 
565
<P> In addition to 'diff', another comparing tool called 'fldiff' -for 'floating
 
566
diff'- is also used. It treats in a more clever way the comparison 
 
567
of floating numbers between the output files and the reference files.
 
568
As used presently in the 'Run' script, for each run, only one
 
569
single file, called 'fldiff.report', will be produced. 
 
570
If for one test case, the two files differ by the number of lines,
 
571
the 'fldiff.report' file will report that it cannot compare the two files. 
 
572
Usually this problem will be seen at the level of 'command signs' appearing
 
573
sometimes in the first column of the output files, so a
 
574
typical error message (announcing something went wrong) will be:</P>
 
575
 
 
576
<BLOCKQUOTE>
 
577
<P>
 
578
Case_1 <BR>
 
579
22     <BR>
 
580
The diff analysis cannot be pursued : the command sign differ.  <BR>
 
581
</P>
 
582
</BLOCKQUOTE>
 
583
 
 
584
<P> By contrast, it will 
 
585
identify the floating numbers and ignore their differences if they are
 
586
within some prescribed tolerance (fldiff should become an expert system
 
587
in this respect : for example, in the present version, it is already
 
588
able to ignore most differences in timings). 
 
589
If everything goes fine for a test, 
 
590
fldiff should identify only the differences in :
 
591
<UL>
 
592
   <LI> the dates of execution (eventually) ;</LI>
 
593
 
 
594
   <LI> the version numbers (eventually) ;</LI>
 
595
 
 
596
   <LI> the platform description (eventually) ;</LI>
 
597
 
 
598
   <LI> the overall execution time 
 
599
        (this is ALWAYS printed, even without differences).</LI>
 
600
</UL>
 
601
So, a successful execution of one test case may be announced as follows
 
602
in the fldiff.report file :</P>
 
603
 
 
604
<BLOCKQUOTE>
 
605
<P>
 
606
Case_1 <BR>
 
607
2      <BR>
 
608
<  Version 4.0.2  of ABINIT  <BR>
 
609
>  Version 4.0.0  of ABINIT  <BR>
 
610
5      <BR>
 
611
<  Starting date : Tue 28 Jan 2003.  <BR>
 
612
>  Starting date : Mon 27 Jan 2003.  <BR>
 
613
202    <BR>
 
614
< +Overall time at end (sec) : cpu=          7.1  wall=          8.0   <BR>
 
615
> +Overall time at end (sec) : cpu=          7.3  wall=          8.0   <BR>
 
616
</P>
 
617
</BLOCKQUOTE>
 
618
 
 
619
<P> The fldiff.report file will have one such section for each Test_case
 
620
that was run. It begins with the number of the test case, then
 
621
includes a few blocks of three lines: the number of the line 
 
622
where something is happening, followed by the content of the two lines.</P>
 
623
 
 
624
<P>If differences (besides those described above) are found,
 
625
then there is a problem, or the double precision
 
626
tolerance needs to be adjusted (as time goes, this should become better).
 
627
More information on the
 
628
fldiff script can be found in 
 
629
the ~local_ABINITv<I>x.x.x</I>/Utilities/fldiff file.
 
630
If needed, you can send by e-mail the fldiff.report to the 
 
631
<A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>
 
632
for help understanding it and fixing possible bugs.
 
633
&nbsp;</P>
 
634
 
 
635
<P><B>2) Test_v1</B>&nbsp; (for the sequential version only) </P>
 
636
 
 
637
<P>This directory contains tests built in the same spirit as those
 
638
in the Test_fast directory, but that exercise features not present in
 
639
the plane_wave code, like the treatment of metals, the GGA, the
 
640
new pseudopotentials, the multi-dataset mode, the cell parameters
 
641
optimization, and the spatial symmetry groups database.<BR>
 
642
These were developed during the development time of the version 1 
 
643
of ABINIT.<BR>
 
644
Of course, the automatic difference procedure only compares to recent
 
645
runs of the ABINIT code. As for the 'fast' test cases, the fldiff.report
 
646
file is also available. 64 MB of memory should be enough for these
 
647
tests (with no other application running, however). </P>
 
648
 
 
649
<P><B>3) Test_v2</B>&nbsp; (for the sequential version only) </P>
 
650
 
 
651
<P>This directory contains tests built in the same spirit as those
 
652
in the Test_fast directory, but that exercise features not present in
 
653
the plane_wave code, nor in version 1 of the ABINIT package, mainly
 
654
the response function features, and the use of the mrgddb and anaddb 
 
655
codes.
 
656
Again, the automatic difference procedure only compares to recent
 
657
runs of the ABINIT code. As for the 'fast' test cases, the fldiff.report
 
658
file is also available. 64 MB of memory should be enough for these
 
659
tests (with no other application running, however). </P>
 
660
 
 
661
<P><B>4) Test_v3 and Test_v4 </B>&nbsp; (for the sequential version only) </P>
 
662
 
 
663
<P>This directory contains tests built in the same spirit as those
 
664
in the Test_fast directory, but that exercise features not present in
 
665
the plane_wave code, nor in version 1 or 2 of the ABINIT package, 
 
666
noticeably the use of the GW code, the utilities Cut3d, AIM, ..,
 
667
the PAW ... .
 
668
Again, the automatic difference procedure only compares to recent
 
669
runs of the ABINIT code. As for the 'fast' test cases, the fldiff.report
 
670
file is also available. 64 MB of memory should be enough for these
 
671
tests (with no other application running, however). </P>
 
672
 
 
673
 
 
674
<P><B>5) Test_cpu </B> (for the sequential version only)</P>
 
675
 
 
676
<P>This subdirectory contains the scripts, and input files needed for
 
677
testing the cpu time, either on progressively finer real space grids,
 
678
or on progressively bigger unit cells.
 
679
Please read the README file of this directory.
 
680
Also for this suite of tests, you have simply to issue</P>
 
681
 
 
682
<BLOCKQUOTE><B>(Run machine_name) &gt;&amp; log</B></BLOCKQUOTE>
 
683
 
 
684
<P>Unlike in the previous case, many directories will be created (more
 
685
than 10 in the present version). Their name begins with the test name (A1,
 
686
A2, A3, A4, B1, B2, B3, B4, C3, D3), and is followed by the machine name
 
687
and the date. Inside these directories, many runs are done.<BR>
 
688
There is a 'report' file that summarizes the timing of the different
 
689
runs, and there is a 'diff' file, that compares these timings with
 
690
the reference (output files from a PII at 450 MHz, usually).
 
691
The structure of these
 
692
tests is more complex than that of the Test_fast and Test_v1 directories. 
 
693
The tools used are the 'serie' scripts (serieA,serieB,
 
694
serieC and serieD) as well as the 'getrep' script. For an explanation,
 
695
contact the <A HREF="mailto:gonze@pcpm.ucl.ac.be"> ABINIT group</A>. 
 
696
For the largest tests (B and D series), up to 200 MB of central memory 
 
697
are required.
 
698
</P>
 
699
 
 
700
<P><B>6) Test_paral</B>&nbsp; (needs both abinis and abinip)</P>
 
701
 
 
702
<P>This directory contains tests built in the same spirit as those
 
703
in the Test_fast directory, but that exercise the parallel version
 
704
of the ABINIT code.<BR>
 
705
The 'Run' script consider one of the different input files, and
 
706
for this file, it will perform first a sequential
 
707
run (using abinis), 
 
708
then use the parallel code (abinip) with one processing node, then perform
 
709
different parallel runs with an increasing number of processing nodes.
 
710
As for the other series of test, the diff and the fldiff utilities
 
711
are used automatically.</P>
 
712
 
 
713
 
 
714
<P><B>7) How to run all the sequential tests, or a subset of these suited
 
715
for developers ?</B></P>
 
716
 
 
717
<P>In the main directory, it is possible to issue </P>
 
718
 
 
719
<BLOCKQUOTE><B>make tests_allseq &gt;&amp; log</B></BLOCKQUOTE>
 
720
 
 
721
<P>in which case, all the tests in Test_fast, Test_v1, Test_v2,
 
722
Test_v3, Test_v4, Tutorial, Test_cpu and the sequential tests of Test_paral
 
723
will be issued. The choice of the name of the machine is not let 
 
724
to the user : it is "t3e" (even if you run on a PC !). </P>
 
725
 
 
726
<P>Also in the main directory, if you issue </P>
 
727
 
 
728
<BLOCKQUOTE><B>make tests_dev &gt;&amp; log</B></BLOCKQUOTE>
 
729
 
 
730
<P>the tests in Test_fast, Test_v1, Test_v2,
 
731
Test_v3, Test_v4, and the sequential tests of Test_paral
 
732
will be issued. As in the preceeding case, the name of the machine 
 
733
if fixed ("t3e"). In addition, a summary file, containing
 
734
all the fldiff report files is created, then tarred and gzipped.
 
735
It is given the name summary_tests.tar.gz, and might be sent by
 
736
mail for the merge of a new contribution.</P>
 
737
 
 
738
 
 
739
<HR>
 
740
 
 
741
<H2><A NAME=others></A>Things that are NOT in the installation
 
742
files.&nbsp;</H2>
 
743
 
 
744
<UL>
 
745
   <LI><B>Pseudopotentials :</B><BR>
 
746
   The installation files contain a few pseudopotentials, for
 
747
   testing purposes. But many other pseudopotential have been
 
748
   generated. There exist presently two complete sets of ready-to-use
 
749
   LDA pseudopotentials, for the whole periodic table : those
 
750
   generated by Doug Allan and Alex Khein for the plane_wave code, 
 
751
   and those published by 
 
752
   Hartwigsen, Goedecker and Hutter (Phys. Rev. B 58, 3641 (1998)). 
 
753
   Also, the Fritz-Haber-Institute code, that is freely available at
 
754
   <A HREF=http://www.FHI-Berlin.MPG.DE/th/fhi98md/fhi98PP>
 
755
   http://www.FHI-Berlin.MPG.DE/th/fhi98md/fhi98PP</A>,
 
756
   can be used to generate LDA as well as GGA pseudopotentials,
 
757
   that can be read by the code after minor modifications,
 
758
   see the Web site.
 
759
   </LI>
 
760
   
 
761
   <P>
 
762
 
 
763
   <LI>The Web site <a href="http://www.abinit.org">http://www.abinit.org</a>
 
764
   contains many other things ...<BR>
 
765
   </B>The benchmarks results, the mailing lists, ...
 
766
   </LI>
 
767
 
 
768
   <LI>The community Web site <a href="http://cst-www.nrl.navy.mil/~erwin/abinit">http://cst-www.nrl.navy.mil/~erwin/abinit</a>
 
769
   is an additional source of information<BR>
 
770
   </LI>
 
771
 
 
772
</UL>
 
773
 
 
774
<P>
 
775
 
 
776
<HR>
 
777
 
 
778
</P>
 
779
 
 
780
<H2><A NAME="make_installationfiles"></A>
 
781
    For advanced users : how to make the installation files ?</H2>
 
782
 
 
783
<P><B>Case 1 (source and tests) : you want to produce the file
 
784
src_tests_<I>x.x.x</I>.tar.gz</B></P>
 
785
 
 
786
<P>Here, for example, we suppose that you have modified 
 
787
the code (in order to implement a new feature). This modification
 
788
works, so it is time to synchronize with the main code. If the
 
789
modifications are rather large, it is worthwhile to send your complete
 
790
version to the ABINIT group.</P>
 
791
 
 
792
<P>First, you should give a version number 
 
793
to your version. Simply modify the appropriate variable 
 
794
in the Makefile file of your ~local_ABINIT directory. 
 
795
Then issue 
 
796
<BLOCKQUOTE><B>make new_version_number</B></BLOCKQUOTE>
 
797
to touch the few routines that need this version number, then
 
798
<BLOCKQUOTE><B>make allseq</B></BLOCKQUOTE>
 
799
as for the installation.</P>
 
800
 
 
801
<P>When you think everything can be frozen, you must issue
 
802
<BLOCKQUOTE><B>make src_tests</B></BLOCKQUOTE>
 
803
That's all ..</P>
 
804
 
 
805
<P><B>Case 2 (version for a specific platform) : you
 
806
want to contribute a specific binary executable e.g.
 
807
you work on a SGI machine, and want to produce the file
 
808
sgi_r14000_<I>x.x.x</I>.tar.gz</B></P>
 
809
 
 
810
<P>The requirements are : all executables (abinis, newsp and abinip) are 
 
811
working, and you have not erased one of the files needed for the tests,
 
812
both sequential and parallel. Also, the version number is supposed correct
 
813
(see above to modify it). In this case, simply issue :
 
814
 
 
815
<BLOCKQUOTE><B>make sgi_r14000 </B></BLOCKQUOTE>
 
816
 
 
817
For the sequential version only, or the parallel version only, use
 
818
 
 
819
<BLOCKQUOTE><B>make sgi_r14000_seq </B></BLOCKQUOTE>
 
820
or
 
821
<BLOCKQUOTE><B>make sgi_r14000_par </B></BLOCKQUOTE>
 
822
 
 
823
For the other platforms, use the appropriate platform name, mentioned
 
824
at the beginning of the present document, or obtained by typing
 
825
 
 
826
<BLOCKQUOTE><B>make dev </B></BLOCKQUOTE> 
 
827
 
 
828
<P>
 
829
 
 
830
<HR>
 
831
 
 
832
page :<A HREF="/ABINIT/index.html"><B> Home</B></A><B> </B>|
 
833
<A HREF="/ci/calc.html"><B>Calcul Intensif</B></A><B> </B>| <A
 
834
HREF="/Fr/PCPM/abinit.html"><B>Calcul
 
835
<I>ab initio</I></B></A>
 
836
 
 
837
<HR ALIGN=left>
 
838
 
 
839
<TABLE BORDER=0 CELLPADDING=0>
 
840
   <TR>
 
841
      <TD WIDTH=385>
 
842
         <P>6 January 2003>.<BR>
 
843
         Responsable : Xavier Gonze &lt; <A
 
844
HREF="mailto:gonze@pcpm.ucl.ac.be">gonze@pcpm.ucl.ac.be</A>&gt;<BR>
 
845
         Conception : <A HREF="/~beuken">Jean-Michel Beuken</A> &lt;
 
846
         <A
 
847
HREF="mailto:beuken@pcpm.ucl.ac.be">beuken@pcpm.ucl.ac.be</A>&gt;</P>
 
848
      </TD>
 
849
      <TD>
 
850
         <P></P>
 
851
      </TD>
 
852
   </TR>
 
853
</TABLE>
 
854
</P>
 
855
 
 
856
<P></P>
 
857
</BODY>
 
858
</HTML>