JDFTx is a plane-wave density functional code designed for Joint Density Functional Theory (JDFT), a framework for ab initio calculations of electronic systems in contact with liquid environments. It is distributed under the GPL license (version 3 or higher).
For any given calculation, JDFTx prints out a list of relevant citations for optional features of the code used in that run. This output appears at the end of initialization just before the first electronic solve starts.
JDFTx evolved from an earlier in-house research code in the Arias research group at Cornell called DFT++, but at this point has been almost entirely rewritten in a modern object oriented framework taking advantage of C++11 for expressive code with advanced memory management, and CUDA for leveraging the computational power of GPUs. See [Compiling] for details on unlocking various features.
Unlike most other electronic structure codes, JDFTx performs total energy minimization using analytically continued energy functionals implemented within the algebraic formulation described in the above references, rather than density-mixing SCF schemes. Hence our motto "Our SCF never diverges, because we don't do SCF". This might be advantageous for vanilla DFT calculations in some cases (try your problematic systems out!), but it is quite important for reliable convergence in the presence of liquids, particularly with charged systems.
The following are two sample script that you can take reference for your script:
#!/bin/bash
#SBATCH -A physics
#SBATCH -N 1
#SBATCH --account=physics
#SBATCH --ntasks-per-node=4
#SBATCH --error=job.%J.err
#SBATCH --output=job.%J.out
#SBATCH --time=1:00:00
#SBATCH --partition=standard
export OMP_NUM_THREADS=1
ulimit -a > ulimit
ulimit -s unlimited
module load apps/jdftx/1.6.0
export LD_LIBRARY_PATH=/apps/jdftx/jdftx-1.6.0/build/:$LD_LIBRARY_PATH
#mpirun -n 4 /apps/jdftx/jdftx-1.6.0/build/jdftx -i common.in -o common.out
srun -n 4 /apps/jdftx/jdftx-1.6.0/build/jdftx -i common.in -o common.out_1
#!/bin/bash
#SBATCH -A physics
#SBATCH -N 6
#SBATCH --account=physics
#SBATCH --ntasks-per-node=8
#SBATCH --ntasks-per-core=1
#SBATCH --error=job.%J.err
#SBATCH --output=job.%J.out
#SBATCH --time=200:00:00
#SBATCH --partition=standard
export OMP_NUM_THREADS=1
module load apps/jdftx/1.6.0
time mpirun -np 48 jdftx -i vibration.in -o vibration.out