CRYSTAL
Useful links
Licensing and Access
CRYSTAL is licensed software. Please see the CRYSTAL web page for details. Users who wish to access the CRYSTAL package should submit a request via SAFE with their CRYSTAL license details.
Running CRYSTAL
To run CRYSTAL you need to load the correct module inside your job submission script. For CRYSTAL 14:
module load crystal
and for CRYSTAL 17:
module load crystal/crystal17.2
Once the module has been added the CRYSTAL executables are available as:
- MPPcrystal
- Pcrystal
- crystal (CRYSTAL 17.2)
and the properties executables as:
- Pproperties
- properties
For CRYSTAL 14, the input file must be named as INPUT.
An example CRYSTAL job submission script is shown below.
#!/bin/bash --login #PBS -N crystal_job # Select 128 nodes (maximum of 3072 cores) #PBS -l select=128 #PBS -l walltime=03:00:00 # Make sure you change this to your budget code #PBS -A budget # Make sure any symbolic links are resolved to absolute path export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR) # Change to the directory that the job was submitted from cd $PBS_O_WORKDIR # Load the CRYSTAL module module add crystal # Important: set TMPDIR to point to /work export TMPDIR=$PBS_O_WORKDIR # Please note the input file must be called INPUT. aprun -n 3072 MPPcrystal
Running the properties code
An example script to run the parallel properties program would be:
#!/bin/bash --login #PBS -N crystal_job # Select 8 nodes (maximum of 192 cores) #PBS -l select=8 #PBS -l walltime=03:00:00 # Make sure you change this to your budget code #PBS -A budget # Make sure any symbolic links are resolved to absolute path export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR) # Change to the directory that the job was submitted from cd $PBS_O_WORKDIR # Load the CRYSTAL module module add crystal # Important: set TMPDIR to point to /work export TMPDIR=$PBS_O_WORKDIR # Please note the input file must be called INPUT. aprun -n 192 Pproperties
Using the qcry and runcry scripts (CRYSTAL 17)
CRYSTAL 17 provides a script (qcry) to generate a job script, and run scripts (runcry, runcryP, and runcryMPP). qcry does not generate a correct job script for Archer, but the runcry scripts can be used. For example, for runcryP:
#!/bin/bash --login #PBS -N runcryP_example #PBS -l select=1 #PBS -l walltime=00:20:00 #PBS -A budget # Make sure any symbolic links are resolved to absolute path. export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR) # Change to the directory that the job was submitted from. cd $PBS_O_WORKDIR # Set the number of threads to 1. This prevents any system libraries # from automatically using threading. export OMP_NUM_THREADS=1 module load crystal/crystal17.2 # Number of cores per node used. export NCORES=24 # Number of processes (NPROCESSES=1 for runcry). export NPROCESSES=24 # Call runcry/runcryP/runcryMPP with the input filename without the .d12 # extension. runcryP input_name # Run CRYSTAL. chmod u=rwx,g=rx,o=rx ./input_name.run ./input_name.run