14.09.2014 Views

CASINO manual - Theory of Condensed Matter

CASINO manual - Theory of Condensed Matter

CASINO manual - Theory of Condensed Matter

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

inary executable. <strong>CASINO</strong> does not require such<br />

arguments, but other codes which make use <strong>of</strong> the<br />

<strong>CASINO</strong> architecture system do (e.g., to run PWSCF, one<br />

might write ’pw.x -pw2casino -npool 4 < in.pwscf >><br />

out.pwscf’) where everything after the pw.x counts as<br />

a command line argument.<br />

II.2.iii. Environment variables<br />

===============================<br />

&ENV.& will expand to the value <strong>of</strong> environment variable <br />

(under the directory under which the runscript is invoked, so be careful with<br />

the usage <strong>of</strong>, e.g., ENV.PWD, etc).<br />

Example:<br />

#PBS -M &ENV.USER&<br />

II.2.iv. Internal variables<br />

===========================<br />

These are only available to run-time tags.<br />

Internal variables are defined and set within the .arch file. Its value<br />

is defined via the runtime tag INTERNAL., and &INTERNAL.&<br />

is the variable which expands to its value. These are useful for defining<br />

<strong>of</strong>ten-used intermediate values from a single block <strong>of</strong> code.<br />

See example in section II.4.<br />

II.2.v. User variables<br />

======================<br />

These are only available to run-time tags.<br />

User variables are custom variables which can be set from the command line,<br />

or take their values from the defaults defined in the .arch file:<br />

- The tag USER.DESCRIPTION. gives a description <strong>of</strong> the purpose <strong>of</strong><br />

this variable which is displayed to the user when --help is requested.<br />

- The tag USER.DEFAULT. defines the default value <strong>of</strong> the variable.<br />

- The tag USER.ALLOWED. defines a set <strong>of</strong> blank-separated allowed<br />

values that the variable can take -- if USER.DEFAULT. is not<br />

specified, the first value in this list becomes the default value.<br />

- The tag USER.MIN. defines the minimum value that integer variable<br />

can take.<br />

- The tag USER.MAX. defines the maximum value that integer variable<br />

can take.<br />

- The variable &USER.& expands to the value <strong>of</strong> variable.<br />

II.3. Makefile section<br />

======================<br />

There are many variables that can be defined in the .arch files to modify<br />

the build process, although only a few <strong>of</strong> them are absolutely necessary to<br />

get <strong>CASINO</strong> to compile.<br />

* Required variables:<br />

- TYPE : omit or set to ’single’ for single-processor machines, set to<br />

’parallel’ for multi-processor workstations and set to<br />

’cluster’ for clusters with batch-queueing systems<br />

- F90 : name <strong>of</strong> the Fortran compiler binary<br />

- CC : name <strong>of</strong> the C compiler binary<br />

- NEED_ETIME: omit or set to ’no’ if the Fortran compiler supports the ETIME<br />

extension, set to ’yes’ otherwise<br />

* Recommended variables:<br />

- CXX : name <strong>of</strong> the C++ compiler binary (used by a single converter<br />

utility at present, which will be skipped from compilation<br />

227

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!