Computational Chemistry and Material Science¶
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 or wavelet 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, based on Density-Functional Perturbation Theory, and many more properties. Excited states can be computed within the Many-Body Perturbation Theory (the GW approximation and the Bethe-Salpeter equation), and Time-Dependent Density Functional Theory (for molecules). In addition to the main ABINIT code, different utility programs are provided.
Licensing Terms and Conditions
GNU General Public License License
List available versions
module avail abinit
BIGDFT¶
http://bigdft.org/Wiki/index.php?title=BigDFT_website
BigDFT is a DFT massively parallel electronic structure code (GPL license) using a wavelet basis set. Wavelets form a real space basis set distributed on an adaptive mesh (two levels of resolution in our implementation). GTH or HGH pseudopotentials are used to remove the core electrons. Thanks to our Poisson solver based on a Green function formalism, periodic systems, surfaces and isolated systems can be simulated with the proper boundary conditions.
Licensing Terms and Conditions
BigDFT is a GPL software
Usage
List available versions
module avail bigdft
module load bigdft
module show bigdft
CP2K¶
CP2K is a program to perform 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.
Key characteristics of CP2K:
- Fist: classical molecular dynamics
- Kim-Gordon Models
- Quickstep: Density functional calculations
Licensing Terms and Conditions
The sources of CP2K are free for all users (GPL license), and all versions of the code are available from the CP2K SVN repository.
Publications of results obtained with CP2K should acknowledge its use by an appropriate citation (see CP2K Homepage).
Run
List available versions
module avail cp2k
module load cp2k
DLPOLY¶
http://www.ccp5.ac.uk/DL_POLY_CLASSIC/
DL_POLY is a is a general purpose classical molecular dynamics (MD) simulation software
Usage
List available versions
module avail dlpoly
module load dlpoly
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.
Licensing Terms and Conditions
Gromacs is a joint effort, with contributions from developers around the world: users agree to acknowledge use of GROMACS in any reports or publications of results obtained with the Software (see GROMACS Homepage for details).
Usage
List available versions
module avail gromacs
module load gromacs
Usage GPU
Available GPU enabled versions
from version 5.1.4
and up
module load gromacs/5.1
#SBATCH --cpus-per-task=1
#SBATCH --ntasks-per-node=20
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
srun gmx_mpi_cuda -s ... -gpu_id=00000000001111111111 -ntomp 1 -.......
or
#SBATCH --cpus-per-task=10
#SBATCH --ntasks-per-node=2
export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK
srun gmx_mpi_cuda -s ... -gpu_id=01 -ntomp 10 -.......
The argument of -gpu_id is a string of digits (without delimiter) representing device id-s of the GPUs to be used. For example, “01” specifies using GPUs 0 and 1 in the first and second PP ranks per compute node respectively. To select different sets of GPU-s on different nodes of a compute cluster, use the GMX_GPU_ID environment variable instead. The format for GMX_GPU_ID is identical to -gpu_id, with the difference that an environment variable can have different values on different compute nodes. Multiple MPI ranks on each node can share GPUs. This is accomplished by specifying the id(s) of the GPU(s) multiple times, e.g. “0011” for four ranks sharing two GPUs in this node. This works within a single simulation, or a multi-simulation, with any form of MPI.
http://manual.gromacs.org/documentation/5.1/user-guide/mdrun-performance.html
GPAW¶
https://wiki.fysik.dtu.dk/gpaw/
GPAW: DFT and beyond within the projector-augmented wave method GPAW is a density-functional theory (DFT) Python code based on the projector-augmented wave (PAW) method and the atomic simulation environment (ASE). The wave functions can be described with:
Plane-waves (pw) Real-space uniform grids, multigrid methods and the finite-difference approximation (fd) Atom-centered basis-functions (lcao)
List available versions
module avail gpaw
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. The current version of LAMMPS is written in C++.
Licensing Terms and Conditions
LAMMPS is a freely-available open-source code, distributed under the terms of the GNU Public License.
Usage
List available versions
module avail lammps
module load lammps
Usage GPU
srun lmp_hybrid_GPU -sf gpu -pk gpu 2 -in in.script
http://lammps.sandia.gov/doc/accelerate_gpu.html#
MDYNAMIX¶
http://www.fos.su.se/~sasha/mdynamix/
This is a general purpose molecular dynamics code for simulations of mixtures of either rigid or flexible molecules, interacting by a force field consisting of Lennard-Jones, electrostatic, covalent bonds, angles and torsion angles potentials as well as of some optional terms, in a periodic rectangular, hexagonal or truncated octahedron cell. Rigid bonds are constrained by the SHAKE algorithm. In case of flexible molecular models the double time step algorithm is used. Algorithms for NVE, NVT and NPT statistical ensembles are implemented, as well as Ewald sum for treatment of the electrostatic interactions. Treatment of quantum correction to the atomic motion can be done within the Path Integral Molecular Dynamics approach. Possibility for free energy computations by the expanded ensemble method with Wang-Landau optimization of the balancing factor is included from v.5.2.
Licencing Reference
GNU public license
Usage
List available versions
module avail mdynamix
module load mdynamix
module show mdynamix
MPQC¶
MPQC is the Massively Parallel Quantum Chemistry Program. It computes properties of atoms and molecules from first principles using the time independent Schrödinger equation. It runs on a wide range of architectures ranging from single many-core computers to massively parallel computers. Its design is object oriented, using the C++ programming language.
Licencing Reference
GNU General Public License version 2.0 (GPLv2), Public Domain
Usage
List available versions
module avail mpqc
module load mpqc
module show mpqc
NAMD¶
http://www.ks.uiuc.edu/Research/namd/
NAMD is a parallel molecular dynamics code designed for high-performance simulation of large biomolecular systems. Based on [Charm++][charm++] parallel objects, NAMD scales to hundreds of cores for typical simulations and uses the molecular graphics program VMD for simulation setup and trajectory analysis, but is also file-compatible with AMBER, CHARMM, and X-PLOR.
Licensing Terms and Conditions
NAMD is distributed free of charge with source code. Users agree to acknowledge use of NAMD in any reports or publications of results obtained with the Software (see NAMD Homepage for details).
Run
List available versions
- hybrid: distributed + shared memory
- purempi: distributed memory
- memopt: memory-optimized
- normal: non memory-optimized
module avail namd
Usage GPU
NAMD version <=2.12
#!/bin/bash -l
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
#SBATCH --cpus-per-task=10
#SBATCH -p gpu
#SBATCH --gres=gpu:2
##NAMD VERSION <= 2.12##
module purge
module load gnu intel intelmpi cuda/8.0.61 namd/2.12/hybrid/normal
PPN=`expr $SLURM_CPUS_PER_TASK - 1`
P="$(($PPN * $SLURM_NTASKS_PER_NODE * $SLURM_NNODES))"
for n in `echo $SLURM_NODELIST | scontrol show hostnames`; do \
echo "host $n ++cpus $SLURM_NTASKS_PER_NODE" >> nodelist.$SLURM_JOB_ID
done;
charmrun_gpu $NAMDROOT/bin/namd2_gpu ++p $P ++ppn $PPN ++nodelist ./nodelist.$SLURM_JOB_ID +devices $CUDA_VISIBLE_DEVICES YourInput.namd>YourLogfile.log
rm -f nodelist.$SLURM_JOB_ID
NAMD version >= 2.13
#!/bin/ -l
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
#SBATCH --cpus-per-task=10
#SBATCH -p gpu
#SBATCH --gres=gpu:2
##NAMD VERSION >= 2.13##
module purge
module load gnu/8 intel/18 intelmpi/2018 fftw/3.3.8 cuda/10.1.168 namd/2.13/hybrid
PPN=`expr $SLURM_CPUS_PER_TASK - 1`
P="$(($PPN * $SLURM_NNODES * $SLURM_NTASKS_PER_NODE ))"
PROCSPERNODE="$(($SLURM_CPUS_PER_TASK * $SLURM_NTASKS_PER_NODE))"
totalcores=`echo "$SLURM_NNODES*$SLURM_NTASKS_PER_NODE*$SLURM_CPUS_PER_TASK" | bc -l`
for n in `echo $SLURM_NODELIST | scontrol show hostnames`; do echo "host $n ++cpus $PROCSPERNODE" >> nodelist.$SLURM_JOB_ID
done;
NAMDEXE=`which namd2_gpu`
charmrun_gpu ++mpiexec ++p $P ++ppn $PPN ++nodelist ./nodelist.$SLURM_JOB_ID $NAMDEXE +devices $CUDA_VISIBLE_DEVICES input.namd > logfile
rm -f nodelist.$SLURM_JOB_ID
Usage PHI
#!/bin/ -l
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=2
#SBATCH --cpus-per-task=10
#SBATCH -p phi
#SBATCH --gres=mic:2
module purge
module load gnu intel intelmpi namd/2.12/hybrid/normal
PPN=`expr $SLURM_CPUS_PER_TASK - 1`
P="$(($PPN * $SLURM_NTASKS_PER_NODE * $SLURM_NNODES))"
for n in `echo $SLURM_NODELIST | scontrol show hostnames`; do \
echo "host $n ++cpus $SLURM_NTASKS_PER_NODE" >> nodelist.$SLURM_JOB_ID
done;
charmrun_mic $NAMDROOT/bin/namd2_mic ++p $P ++ppn $PPN ++nodelist ./nodelist.$SLURM_JOB_ID +devices $OFFLOAD_DEVICES YourInput.namd>YourLogfile.log
rm -f nodelist.$SLURM_JOB_ID
NWChem¶
http://www.nwchem-sw.org/index.php/Main_Page
NWChem is a computational chemistry package that is designed to run on high-performance parallel supercomputers as well as conventional workstation clusters. It aims to be scalable both in its ability to treat large problems efficiently, and in its usage of available parallel computing resources. NWChem has been developed by the Molecular Sciences Software group of the Environmental Molecular Sciences Laboratory (EMSL) at the Pacific Northwest National Laboratory (PNNL). Most of the implementation has been funded by the EMSL Construction Project.
Licensing Terms and Conditions
NWChem is available free of charge, subject to the terms and conditions of the EMSL Software User Agreement (see NWChem Homepage for details).
Run
List available versions
module avail nwchem
module load nwchem
#!/bin/bash -l
#SBATCH --nodes=2
module purge
module load gnu intel intelmpi nwchem/6.6
nwchem input.nw > output.nwout
OCTOPUS¶
http://www.tddft.org/programs/octopus/wiki/index.php/Main_Page
Octopus is a scientific program aimed at the ab initio virtual experimentation on a hopefully ever-increasing range of system types. Electrons are described quantum-mechanically within density-functional theory (DFT), in its time-dependent form (TDDFT) when doing simulations in time. Nuclei are described classically as point particles. Electron-nucleus interaction is described within the pseudopotential approximation. For optimal execution performance Octopus is parallelized using MPI and OpenMP and can scale to tens of thousands of processors. It also has support for graphical processing units (GPUs) through OpenCL. Octopus is free software, released under the GPL license, so you are free to download it, use it and modify it.
Usage
List available versions
module avail octopus
module load octopus
module show octopus
OPENMD¶
OpenMD is an open source molecular dynamics engine which is capable of efficiently simulating liquids, proteins, nanoparticles, interfaces, and other complex systems using atom types with orientational degrees of freedom (e.g. “sticky” atoms, point dipoles, and coarse-grained assemblies). Proteins, zeolites, lipids, transition metals (bulk, flat interfaces, and nanoparticles) have all been simulated using force fields included with the code. OpenMD works on parallel computers using the Message Passing Interface (MPI), and comes with a number of analysis and utility programs that are easy to use and modify. An OpenMD simulation is specified using a very simple meta-data language that is easy to learn.
Usage
List available versions
module avail openmd
module load openmd
module show openmd
PLUMED¶
PLUMED is an open source library for free energy calculations in molecular systems which works together with some of the most popular molecular dynamics engines. Free energy calculations can be performed as a function of many order parameters with a particular focus on biological problems, using state of the art methods such as metadynamics, umbrella sampling and Jarzynski-equation based steered MD. The software, written in C++, can be easily interfaced with both fortran and C/C++ codes.
Licensing Terms and Conditions It is free and licensed under the Lesser GNU General Public License
List available versions
module avail plumed
module load plumed
module show plumed
SIESTA¶
http://departments.icmab.es/leem/siesta/
SIESTA is both a method and its computer program implementation, to perform efficient electronic structure calculations and ab initio molecular dynamics simulations of molecules and solids. SIESTA’s efficiency stems from the use of strictly localized basis sets and from the implementation of linear-scaling algorithms which can be applied to suitable systems. A very important feature of the code is that its accuracy and cost can be tuned in a wide range, from quick exploratory calculations to highly accurate simulations matching the quality of other approaches, such as plane-wave and all-electron methods.
The possibility of treating large systems with some first-principles electronic-structure methods has opened up new opportunities in many disciplines. The SIESTA program is distributed freely to academics and has become quite popular, being increasingly used by researchers in geosciences, biology, and engineering (apart from those in its natural habitat of materials physics and chemistry). Currently there are several thousand users all over the world, and the paper describing the method (J. Phys. Cond. Matt. 14, 2745 (2002)) has received more than 6000 citations so far.
List available versions
module avail siesta
Towhee¶
http://towhee.sourceforge.net/
Towhee is a Monte Carlo molecular simulation code originally designed for the prediction of fluid phase equilibria using atom-based force fields and the Gibbs ensemble with particular attention paid to algorithms addressing molecule conformation sampling. The code has subsequently been extended to several ensembles, many different force fields, and solid (or at least porous) phases.
It is the hope of the developers that Towhee serves as a useful tool for the molecular simulation community and allows science to move forward more quickly by eliminating the need for individual research groups to rewrite routines that already exist and instead allows them to focus on algorithm advancement, force field development, and application to interesting systems.
List available versions
module avail towhee
Quantum ESPRESSO¶
http://www.quantum-espresso.org/
Quantum ESPRESSO is an integrated suite of Open-Source computer codes for electronic-structure calculations and materials modeling at the nanoscale. It is based on density-functional theory, plane waves, and pseudopotentials:
PWscf (Plane-Wave Self-Consistent Field) FPMD (First Principles Molecular Dynamics) CP (Car-Parrinello) Licensing Terms and Conditions
Quantum ESPRESSO is an Open Source distribution initiative of the DEMOCRITOS National Simulation Center(Trieste) and SISSA (Trieste), in collaboration with CINECA National Supercomputing Center, the Ecole Polytechnique Fédérale de Lausanne, Université Pierre et Marie Curie, Princeton University, and Oxford University. Scientific work done using Quantum ESPRESSO should contain an explicit acknowledgment and reference to the main papers (see Quantum Espresso Homepage for the details).
Run
List available versions
module avail quantum-espresso
module load quantum-espresso