BigDFT is a Computational Materials Science program designed to leverage Density Functional Theory to compute Electronic Structures of materials. The program uses Wavelets for its basis set and pseudopotentials in its calculations. BigDFT contains several other related packages which are listed on the RCC Website.
Using BigDFT on RCC Resources
BigDFT contains a number of different programs and commands that can be used. In order to run BigDFT component programs, the GNU OpenMPI module needs to be loaded. To do this, simply type
module load gnu-openmpi and the commands for BigDFT will become available. For a complete list of commands and for a tutorial on how to do BigDFT runs, please refer to the manual page for BigDFT. A basic BigDFT run requires only an output file to be specified as the program has numerous defaults built in and will automatically look for an input file if one is not specified. To do a basic BigDFT run on a login node, simply run the command
bigdft test_input.xyz > bdft_outfile. Here, test_input.xyz is a file containing positions of the atoms being computed. Running this will generate a number of output files including the bdft_outfile which will contain the output that would otherwise have gone to the screen. Examples and test input files can be found a the tutorials page for BigDFT. This can be submitted to SLURM using a submit script like the one below.
#! /bin/bash #SBATCH -J BigDFT_TestRun #SBATCH -n 4 #SBATCH -p genacc_q #SBATCH -t 00:10:00 #SBATCH --mail-type=ALL module load gnu-openmpi mpirun -np 4 bigdft test_input.xyz > bdft_outfile
BigDFT Component Modules
BigDFT contains a number of additional modules which can be used. Further information for these is available on the BigDFT website.
CheSS is a library which is designed to compute Fermi Operator Expansions using Chebyshev Polynomials as well as various operations on the Chebyshev Expansions of sparse matrices.
GaIn is a program that is designed to solve analytic integrals of Gaussian Functions.
Futile, also called flib on RCC Systems is a library which provides access to an type of extended dictionary which is designed to be more polymorphic than a typical dictionary data structure.