Nanoscale Simulations¶
ABINIT¶
ABINIT is a package whose main program allows one to find the total energy, charge density and electronic structure of systems made of electrons and nuclei (molecules and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a planewave basis. ABINIT also includes options to optimize the geometry according to the DFT forces and stresses, or to perform molecular dynamics simulations using these forces, or to generate dynamical matrices, Born effective charges, and dielectric tensors. Excited states can be computed within the Time-Dependent Density Functional Theory (for molecules), or within Many-Body Perturbation Theory (the GW approximation).
ABINIT is available as modules. Installed versions can be listed and loaded with the following commands
marie@login$ module avail ABINIT
---------------------------- /sw/modules/scs5/chem -----------------------------
ABINIT/8.6.3-intel-2018a Wannier90/2.0.1.1-foss-2018b-abinit
ABINIT/8.10.3-intel-2018b Wannier90/2.0.1.1-intel-2018b-abinit
ABINIT/9.2.1-intel-2020a (D)
[...]
marie@login$ module load ABINIT
Module ABINIT/9.2.1-intel-2020a and 16 dependencies loaded.
CP2K¶
CP2K performs atomistic and molecular simulations of solid state, liquid, molecular and biological systems. It provides a general framework for different methods such as e.g. density functional theory (DFT) using a mixed Gaussian and plane waves approach (GPW), and classical pair and many-body potentials.
CP2K is available as modules. Available packages can be listed and loaded with the following commands:
marie@login$ module avail CP2K
---------------------------- /sw/modules/scs5/chem -----------------------------
CP2K/5.1-intel-2018a CP2K/6.1-intel-2018a-spglib
CP2K/6.1-foss-2019a-spglib CP2K/6.1-intel-2018a (D)
CP2K/6.1-foss-2019a
[...]
marie@login$ module load CP2K
Module CP2K/6.1-intel-2018a and 25 dependencies loaded.
CPMD¶
The CPMD code is a plane wave/pseudopotential implementation of Density Functional Theory, particularly designed for ab-initio molecular dynamics. For examples and documentations, see CPMD homepage.
CPMD is currently not installed as a module. Please, contact hpc-support@tu-dresden.de if you need assistance.
GAMESS¶
GAMESS is an ab-initio quantum mechanics program, which provides many methods for computation of the properties of molecular systems using standard quantum chemical methods. For a detailed description, please look at the GAMESS home page.
GAMESS is available as modules within the classic environment. Available packages can be listed and loaded with the following commands:
marie@login$:~> module avail gamess
----------------------- /sw/modules/taurus/applications ------------------------
gamess/2013
[...]
marie@login$ module load gamess
Start gamess like this:
rungms.slurm <inputfile> [scratch_path]
Module gamess/2013 and 2 dependencies loaded.
For runs with Slurm, please use a script like this:
#!/bin/bash
#SBATCH --time=120
#SBATCH --ntasks=8
#SBATCH --ntasks-per-node=2
## you have to make sure that an even number of tasks runs on each node !!
#SBATCH --mem-per-cpu=1900
module load gamess
rungms.slurm cTT_M_025.inp /data/horse/ws/marie-gamess
# the third parameter is the location of your horse directory
GAMESS should be cited as: "General Atomic and Molecular Electronic Structure System", M.W.Schmidt, K.K.Baldridge, J.A.Boatz, S.T.Elbert, M.S.Gordon, J.H.Jensen, S.Koseki, N.Matsunaga, K.A.Nguyen, S.J.Su, T.L.Windus, M.Dupuis, J.A.Montgomery, J.Comput.Chem. 14, 1347-1363(1993).
Gaussian¶
Starting from the basic laws of quantum mechanics, Gaussian predicts the energies, molecular structures, and vibrational frequencies of molecular systems, along with numerous molecular properties derived from these basic computation types. It can be used to study molecules and reactions under a wide range of conditions, including both stable species and compounds which are difficult or impossible to observe experimentally such as short-lived intermediates and transition structures.
Access to the Gaussian installation on our system is limited to members
of the UNIX group s_gaussian
. Please, contact
hpc-support@tu-dresden.de if you can't
access it, yet wish to use it.
Guidance on Data Management with Gaussian¶
We have a general description about how to utilize workspaces for your I/O intensive jobs. However hereafter we have an example on how that might look like for Gaussian:
Using workspaces with Gaussian
#!/bin/bash
#SBATCH --time=04:00:00
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=16
#SBATCH --mem=68000
## good default on Barnard: set mem = 4000 (for gaussian executable) + cpus-per-task * 4000 (for gaussian data)
# Adjust the path to where your input file is located
INPUTFILE="/path/to/my/inputfile.gjf"
# Unexpected errors result in instant script termination
set -e
# Load the software you need here
module purge
module load release/23.10
module load Gaussian/16.C.01
# Check existance of input file
if test ! -f "${INPUTFILE}"; then
echo "Error: could not find the input file ${INPUTFILE}"
exit 1
fi
# Allocate workspace. Adjust time span to time limit of the job (-d <N>).
COMPUTE_WS=gaussian_${SLURM_JOB_ID}
export GAUSS_SCRDIR=$(ws_allocate --name ${COMPUTE_WS} --duration 7)
echo ${GAUSS_SCRDIR}
# Check if workspace allocation was successful
if [ ! -d "${GAUSS_SCRDIR}" ]; then
echo "Error: cannot allocate workspace ${COMPUTE_WS}"
exit 1
fi
# Check consistency of resource allocation (memory & cores). The Slurm and Gaussian configuration should match.
if grep -i -m 3 -e "%mem" -e "%cpu" -e "%nprocshared" "${INPUTFILE}"; then
echo "Info: are the above parameters in your input file within your Slurm job parameters SLURM_CPUS_PER_TASK=${SLURM_CPUS_PER_TASK} and SLURM_MEM_PER_NODE=${SLURM_MEM_PER_NODE}?"
fi
# Change to workspace directory and execute application
cp "${INPUTFILE}" ${GAUSS_SCRDIR}/inputfile.gjf
cd ${GAUSS_SCRDIR}
# m -4000 ensures that gaussian binary and runtime itself fits into memory
if ! g16 -p=${SLURM_CPUS_PER_TASK} -m=$(( ${SLURM_MEM_PER_NODE} - 4000 ))MB <./inputfile.gjf >logfile.log; then
echo "Error: gaussian terminated with error code $?"
fi
# Move compressed result files to user home
if ! bzip2 --compress --stdout logfile.log >${HOME}/gaussian_job-${SLURM_JOB_ID}.bz2; then
echo "Error: compression of results failed!"
echo "Please check ${GAUSS_SCRDIR} for uncompressed results."
exit 1
fi
# Clean and release temporary workspace
if test -d ${GAUSS_SCRDIR}; then
rm -rf ${GAUSS_SCRDIR}/*
ws_release ${COMPUTE_WS}
fi
GROMACS¶
GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles. It is primarily designed for biochemical molecules like proteins, lipids and nucleic acids that have a lot of complicated bonded interactions, but since GROMACS is extremely fast at calculating the nonbonded interactions (that usually dominate simulations), many groups are also using it for research on non-biological systems, e.g., polymers. For documentations see GROMACS homepage.
GROMACS is available as modules. Available packages can be listed and loaded with the following commands:
marie@login$:~> module avail GROMACS
----------------------------- /sw/modules/scs5/bio -----------------------------
GROMACS/2018.2-foss-2018a-CUDA-9.2.88 GROMACS/2019.4-fosscuda-2019a
GROMACS/2018.2-intel-2018a GROMACS/2020-fosscuda-2019b (D)
[...]
marie@login$ module load GROMACS
Module GROMACS/2020-fosscuda-2019b and 17 dependencies loaded.
LAMMPS¶
LAMMPS is a classical molecular dynamics code that models an ensemble of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, metallic, granular, and coarse-grained systems using a variety of force fields and boundary conditions. For examples of LAMMPS simulations, documentations, and more visit LAMMPS sites.
LAMMPS is available as modules. Available packages can be listed and loaded with the following commands:
marie@login$:~> module avail LAMMPS
---------------------------- /sw/modules/scs5/chem -----------------------------
LAMMPS/3Mar2020-foss-2020a-Python-3.8.2-kokkos
LAMMPS/3Mar2020-intel-2020a-Python-3.8.2-kokkos
LAMMPS/7Aug19-foss-2019a-Python-2.7.15
LAMMPS/12Dec2018-foss-2019a (D)
LAMMPS/20180316-foss-2018a-Python-3.6.4
[...]
marie@login$ module load LAMMPS
[...]
Module LAMMPS/12Dec2018-foss-2019a and 33 dependencies loaded.
NAMD¶
NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems.
NAMD can be started as parallel program with srun
. Since
the parallel performance strongly depends on the size of the given problem, one cannot give a general
advice for the optimum number of CPUs to use. (Please check this by running NAMD with your molecules
and just a few time steps.)
NAND is available as modules. Available packages can be listed and loaded with the following commands:
marie@login$:~> module avail NAMD
---------------------------- /sw/modules/scs5/chem -----------------------------
NAMD/2.12-intel-2018a-mpi
[...]
marie@login$ module load NAMD
[...]
Module NAMD/2.12-intel-2018a-mpi and 12 dependencies loaded.
Any published work which utilizes NAMD shall include the following reference:
James C. Phillips, Rosemary Braun, Wei Wang, James Gumbart, Emad Tajkhorshid, Elizabeth Villa, Christophe Chipot, Robert D. Skeel, Laxmikant Kale, and Klaus Schulten. Scalable molecular dynamics with NAMD. Journal of Computational Chemistry, 26:1781-1802, 2005.
Electronic documents will include a direct link to the official NAMD page
ORCA¶
ORCA is a flexible, efficient and easy-to-use general purpose tool for quantum chemistry with specific emphasis on spectroscopic properties of open-shell molecules. It features a wide variety of standard quantum chemical methods ranging from semiempirical methods to DFT to single- and multireference correlated ab initio methods. It can also treat environmental and relativistic effects.
To run ORCA jobs in parallel, you have to specify the number of processes in your input file (here for example 16 processes):
%pal nprocs 16 end
Note, that ORCA spawns MPI processes itself, so you must not use srun
to launch it in your batch
file. Just set --ntasks
to the same number as in your input file and call the orca
executable
directly. For parallel runs, it must be called with the full path:
#!/bin/bash
#SBATCH --ntasks=16
#SBATCH --nodes=1
#SBATCH --mem-per-cpu=2000M
$ORCA_ROOT/orca example.inp
ORCA is available as modules. Available packages can be listed and loaded with the following commands:
marie@login$:~> module avail ORCA
---------------------------- /sw/modules/scs5/chem -----------------------------
ORCA/4.1.1-OpenMPI-2.1.5 ORCA/4.2.1-gompi-2019b (D)
[...]
marie@login$ module load ORCA
[...]
Module ORCA/4.2.1-gompi-2019b and 11 dependencies loaded.
Siesta¶
Siesta (Spanish Initiative for Electronic Simulations with Thousands of Atoms) is both a method and its computer program implementation, to perform electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids.
Siesta is available as modules. Available packages can be listed and loaded with the following commands:
marie@login$:~> module avail Siesta
---------------------------- /sw/modules/scs5/phys -----------------------------
Siesta/4.1-b3-intel-2018a Siesta/4.1-b4-intel-2019b
---------------------------- /sw/modules/scs5/chem -----------------------------
Siesta/4.1-MaX-1.0-intel-2019b (D)
[...]
marie@login$ module load Siesta
[...]
Module Siesta/4.1-MaX-1.0-intel-2019b and 26 dependencies loaded.
In any paper or other academic publication containing results wholly or partially derived from the results of use of the SIESTA package, the following papers must be cited in the normal manner:
- "Self-consistent order-N density-functional calculations for very large systems", P. Ordejon, E. Artacho and J. M. Soler, Phys. Rev. B (Rapid Comm.) 53, R10441-10443 (1996).
- "The SIESTA method for ab initio order-N materials simulation", J. M. Soler, E. Artacho, J. D. Gale, A. Garcia, J. Junquera, P. Ordejon, and D. Sanchez-Portal, J. Phys.: Condens. Matt. 14, 2745-2779 (2002).
VASP¶
VAMP/VASP is a package for performing ab-initio quantum-mechanical molecular dynamics (MD) using pseudopotentials and a plane wave basis set. (see VASP).
VASP is available as modules. Available packages can be listed and loaded with the following commands:
marie@login$:~> module avail VASP
---------------------------- /sw/modules/scs5/phys -----------------------------
VASP/5.4.4-intel-2018a-optics VASP/5.4.4-intel-2019b (L,D)
VASP/5.4.4-intel-2018a
[...]
marie@login$ module load VASP
[...]
Module VASP/5.4.4-intel-2019b loaded.