DFTB+

Description

According to the page of DFTB+, DFTB+ is a fast and efficient quantum mechanical simulation software package. It uses an approximation of density functional theory (DFT), typically gaining around two orders of magnitude in speed.

Available Versions

  • dftbplus/20.2.1 (default)

Serial Job Submission

submit_dftb_serial.sh
#!/bin/bash
#SBATCH -J dftb_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 24:00:00
#SBATCH --mem=8G

export INPUT="dftb_in.hsd"
export OUTPUT="*.out *.dat"

module load dftbplus/20.2.1
job-nanny dftb+

MPI Job Submission

submit_dftb_mpi.sh
#!/bin/bash
#SBATCH -J dftb_mpi
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 48:00:00
#SBATCH --mem-per-cpu=2G

export INPUT="dftb_in.hsd"
export OUTPUT="*.out *.dat"

module load dftbplus/20.2.1
module load openmpi/4.1.5

job-nanny mpirun dftb+

Example Input File (HSD)

dftb_in.hsd
Geometry = GenFormat {
   3  C
    O     0.0000000000E+00   0.0000000000E+00   0.0000000000E+00
    H     0.0000000000E+00   0.0000000000E+00   1.8000000000E+00
    H     0.0000000000E+00   1.7000000000E+00   0.0000000000E+00
}

Hamiltonian = DFTB {
    SCC = Yes
    SCCTolerance = 1e-8
    MaxSCCIterations = 200

    SlaterKosterFiles = Type2FileNames {
        Prefix = "/opt/gridunesp/dist/dftbplus/20.2.1/slakos/origin/mio-1-1/"
        Separator = "-"
        Suffix = ".skf"
    }

    MaxAngularMomentum {
        O = "p"
        H = "s"
    }
}

Options {
    WriteDetailedXML = Yes
}

Analysis {
    CalculateForces = Yes
}

ParserOptions {
    ParserVersion = 4
}

Job Array for Multiple Geometries

submit_dftb_array.sh
#!/bin/bash
#SBATCH -J dftb_array
#SBATCH --array=1-10
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 12:00:00
#SBATCH --mem=8G

export INPUT="geom_${SLURM_ARRAY_TASK_ID}.hsd"
export OUTPUT="results_${SLURM_ARRAY_TASK_ID}/"

module load dftbplus/20.2.1

mkdir -p results_${SLURM_ARRAY_TASK_ID}
cd results_${SLURM_ARRAY_TASK_ID}
cp ../geom_${SLURM_ARRAY_TASK_ID}.hsd dftb_in.hsd

job-nanny dftb+

References

See also