Revision as of 07:42, 7 December 2016 by Sfux
CategoryChemistry, Quantum chemistry, DFT
DescriptionAbinit 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.
Available versions (Euler, old software stack)
|Legacy versions||Supported versions||New versions|
Environment modules (Euler, old software stack)
|Version||Module load command||Additional modules loaded automatically|
|7.10.5||module load intel/15.0.0 open_mpi/1.6.5 python/2.7.6 abinit/7.10.5||openblas/0.2.13_seq|
How to submit a jobYou can submit an Abinit job (test.in, test.files) with the following command
bsub [LSF options] "abinit < test.files > output.log"Here you need to replace [LSF options] with LSF parameters for the resource requirements of the job. Please find a documentation about the parameters of bsub on the wiki page about the batch system.
Parallel jobsFor running an Abinit job in parallel, you need to add the command mpirun in front of the abinit command and specify the number of cores (here we use 4) through the -n option of bsub:
bsub -n 4 [LSF options] "mpirun abinit < test.files > output.log"Here you need to replace [LSF options] with LSF parameters for the resource requirements of the job. Please find a documentation about the parameters of bsub on the wiki page about the batch system. You do not need to set the -np for mpirun, as this will automatically be set by the batch system to the value that has been specified for the -n option of bsub.
ExampleAs an example for running an Abinit job, we will perform some calculations on a molecule. This requires two files, an input file and a file, which specifies the name of the files created during the job.
[leonhard@euler04 ~]$ ls test.files test.in [leonhard@euler04 ~]$ cat test.in # H2 molecule in a big box acell 10 10 10 ntypat 1 znucl 1 natom 2 typat 1 1 xcart -0.7 0.0 0.0 0.7 0.0 0.0 ecut 10.0 kptopt 0 nkpt 1 nstep 10 toldfe 1.0d-6 diemac 2.0 optforces 1 [leonhard@euler04 ~]$ cat test.files test.in test.out testi testo test /cluster/apps/abinit/7.10.5/x86_64/share/abinit-test/Psps_for_tests/01h.pspgth
After preparing the input file, we need to load the required module for using Abinit 7.10.5 and then we can submit the job.
[leonhard@euler04 ~]$ module load intel/15.0.0 open_mpi/1.6.5 python/2.7.6 abinit/7.10.5 [leonhard@euler04 ~]$ bsub -n 1 -W 0:30 -R "rusage[mem=512]" "abinit < test.files > log" Generic job. Job <33703710> is submitted to queue <normal.4h>. [leonhard@euler04 ~]$ bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 33703710 leonhard PEND normal.4h euler04 *les > log Dec 7 16:06 [leonhard@euler04 ~]$ bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 33703710 leonhard PEND normal.4h euler04 *les > log Dec 7 16:06 [leonhard@euler04 ~]$ bjobs No unfinished job found [leonhard@euler04 ~]$ grep etotal log etotal -1.1037224213E+00You can find the resource usage summary of the job in the corresponding LSF log file.