CRYSTAL17

CRYSTAL17

CRYSTAL is a general-purpose program for the study of crystalline solids, and the first which has been distributed publicly. The first version was released in 1988 and then seven next versions have followed: CRYSTAL92, CRYSTAL95, CRYSTAL98, CRYSTAL03, CRYSTAL06, CRYSTAL09 and CRYSTAL14.

The CRYSTAL program computes the electronic structure of periodic systems within Hartree Fock, density functional or various hybrid approximations (global, range-separated and double-hybrids). The Bloch functions of the periodic systems are expanded as linear combinations of atom centred Gaussian functions. Powerful screening techniques are used to exploit real space locality.
Restricted (Closed Shell) and Unrestricted (Spin-polarized) calculations can be performed with all-electron and valence-only basis sets with effective core pseudo-potentials.

License Information

CRYSTAL17 is licensed to the Physics and Chemistry of Solids research group led by Mike Stavola.

Usage

Version

module name

Version

module name

1.0.2

crystal17/1.0.2

Required modules

  1. intel/2021.3.0

  2. mvapich2/2.3.4 OR mpich/3.3.2



There are several utility scripts available to run CRYSTAL17 that are in your path when you load the crystal17 module. Launch your job by running the scripts by providing the input filename without extension and number of tasks for parallel jobs 

Job Type

Run Script

Option

Example

Job Type

Run Script

Option

Example

Serial

runcry17

inputfilename

runcry17 inputfilename

Parallel

runmpi17

${SLURM_NTASKS} inputfilename

runmpi17 ${SLURM_NTASKS} inputfilename

Distributed Parallel

runmpi17MPP

${SLURM_NTASKS} inputfilename

runmpi17MPP ${SLURM_NTASKS} inputfilename

Example

Example input files and scripts are available at /share/Apps/examples/crystal/test_cases/inputs.

Serial (/share/Apps/examples/crystal/test_cases/runserial.sh)
#!/bin/bash #SBATCH -t 12:00:00 #SBATCH -p health #SBATCH --ntasks-per-node=1 #SBATCH --nodes=1 #SBATCH -J crystal17_serial module load crystal17/1.0.2 cd ${SLURM_SUBMIT_DIR} cd serial # Run a specific example runcry17 test04 runprop17 test04 test04 # Run all examples #for id in $(ls test??.* | awk -F. '{print $1}' | sort | uniq | sed -e 's/test//g' | xargs) #do # runcry17 test$id # runprop17 test$id test$id #done
Parallel (/share/Apps/examples/crystal/test_cases/runparallel.sh)
#!/bin/bash #SBATCH -t 12:00:00 #SBATCH -p health #SBATCH --ntasks-per-node=12 #SBATCH --nodes=1 #SBATCH -J crystal17_parallel module load crystal17/1.0.2 cd ${SLURM_SUBMIT_DIR} cd parallel # Run a specific example runmpi17 ${SLURM_NTASKS} test07 runmpi_prop17 ${SLURM_NTASKS} test07 test07 # Run all examples #for id in $(ls test??.* | awk -F. '{print $1}' | sort | uniq | sed -e 's/test//g' | xargs) #do # runmpi17 ${SLURM_NTASKS} test$id # runmpi_prop17 ${SLURM_NTASKS} test$id test$id #done
Distributed Parallel (/share/Apps/examples/crystal/test_cases/runmpp.sh)
#!/bin/bash #SBATCH -t 12:00:00 #SBATCH -p health #SBATCH --ntasks-per-node=12 #SBATCH --nodes=2 #SBATCH -J crystal17_mpp module load crystal17/1.0.2 cd ${SLURM_SUBMIT_DIR} cd mpp # Run a specific example runmpi17MPP ${SLURM_NTASKS} test22 runmpi_prop17 ${SLURM_NTASKS} test22 test22 # Run all examples #for id in $(ls test??.* | awk -F. '{print $1}' | sort | uniq | sed -e 's/test//g' | xargs) #do # runmpi17MPP ${SLURM_NTASKS} test$id # runmpi_prop17 ${SLURM_NTASKS} test$id test$id #done #

Links

User Manual