CRYSTAL

If you are a windows user – please ensure you create your jobscript ON THE CSF directly using gedit. This will prevent your job going into error (Eqw). Text files created on windows have hidden characters that linux cannot read. For further information please see the guide to using the system from windows, in particular the section about text & batch submission script files.

Overview

CRYSTAL17 is a package for simulations in solid state chemistry and physics. Ground state energies, one-electron wavefunctions and related properties of molecular and periodic systems can be calculated using Hartree Fock or Kohn-Sham Hamiltonians, the latter with a wide array of exchange-correlation functionals.

Serial, replicated data parallel, and distributed data parallel versions of the core crystal software are available, along with serial and replicated data parallel versions of the properties code for analysis of the one-electron wavefunctions and calculation of properties.

Restrictions on use

CRYSTAL17 is protected by a unix group. Only users belonging to a research group which has been granted a licence may be added to the unix group.

Licences are normally in the name of the Principal Investigator or Head of a research group. Members of the research group will be given access, but they must first confirm that they will abide by the terms and conditions set out in the licence (pdf). The following notes cover the main points of, but are not intended as a replacement for, the licence:

You are not permitted to:

  • Copy the software or share it with anyone else.
  • Modify the software or incorporate it into any other software code without permission of the CRYSTAL authors.

You must:

  • use the software for not-for profit, non-commercial academic research only.
  • cite your usage of the software in your work as per clauses 8, 9 and 10 of the license.

To gain access to the software on the CSF, you will need to provide proof that your group has a licence. Please email its-ri-team@manchester.ac.uk with your details and we will confirm when access has been granted.

Set up procedure

Serial and parallel versions are offered from the same modulefile, which can be loaded into your environment by typing:

module load apps/intel-17.0/crystal/c17_102

This will also automatically load the appropriate MPI modulefile into your environment, should you be using the parallel versions.

Running the application

Please do not run CRYSTAL on the login node. Jobs should instead be submitted to the compute nodes via the batch system, SGE.

There are modified versions of each of the CRYSTAL helper scripts, e.g. runmpi17, available. These are all appended .csf, i.e. runmpi17.csf. Use of these scripts is optional, but highly recommended. Amongst other functions, these scripts ensure that all required input files are in place, assign “friendly” file names, and remove temporary files after job completion.

It is permissible to run these scripts without any arguments on the login node, as this will print out some help text. However, you must not run a real job on the login node – please follow the guide on submitting a batch job below.

Which version should I use?

CRYSTAL is available in serial, replicated data parallel, and distributed data parallel versions. The replicated data version, Pcrystal, offers all of the options of the serial and is normally efficient for small to medium size calculations. Calculations requiring very large amounts of memory, e.g. those with large unit cells, will often require use of the distributed data version, MPPcrystal. A few options are not implemented in this version, however, including symmetry adaptation of the Bloch functions and some phonon spectra calculations. Please consult the manual for full details.

If you are uncertain about the requirements of your particular system, it is worth directly comparing Pcrystal and MPPcrystal to find which offers better performance.

Serial batch job submission

#!/bin/bash --login
#$ -cwd               # App will run from current directory

module load apps/intel-17.0/crystal/c17_102

# $NSLOTS is automatically set to the number of cores requested on the -pe line

runcry17.csf inputfilename 
      
# inputfilename.d12 - CRYSTAL input deck for wavefunction calculation

Single node parallel batch job submission (2-32 cores)

The runmpi17.csf script is used to start the MPI processes, for example:

#!/bin/bash --login
#$ -cwd              # App will run from current directory
#$ -pe smp.pe 16     # Specify a parallel environment and number of cores

module load apps/intel-17.0/crystal/c17_102

# $NSLOTS is automatically set to the number of cores requested on the -pe line

runmpi17.csf $NSLOTS inputfilename 
      
# inputfilename.d12 - CRYSTAL input deck for wavefunction calculation

Submit the jobscript using:

qsub scriptname

Multi-node parallel batch job submission (multiples of 24 cores, minimum 48)

The runmpi17MPP.csf script is used to start the MPI processes, for example:

#!/bin/bash --login
#$ -cwd                 # App will run from current directory
#$ -pe mpi-24-ib 48     # Specify a parallel environment and number of cores

module load apps/intel-17.0/crystal/c17_102

# $NSLOTS is automatically set to the number of cores requested on the -pe line

runmpi17MPP.csf $NSLOTS inputfilename 
      
# inputfilename.d12 - CRYSTAL input deck for wavefunction calculation

Submit the jobscript using:

qsub scriptname

If you want to run the MPPcrystal executable manually, without using the input file checking performed by the runmpi17MPP.csf script, then use a jobscript similar to the following:

#!/bin/bash --login
#$ -cwd                    # App will run from current directory
#$ -pe mpi-24-ib.pe 48     # Specify a parallel environment and number of cores

module load apps/intel-17.0/crystal/c17_102

mpirun -n $NSLOTS MPPcrystal

# input must be in a file named INPUT

Submit the jobscript using:

qsub scriptname

Further info

  • The CRYSTAL17 manual is available on the CSF using:
    evince $CRY17_ROOT/doc/crystal17_manual.pdf
  • CRYSTAL website

Updates

None.

Last modified on March 14, 2019 at 7:47 pm by George Leaver