Electronic Structure Codes¶
General¶
If you want to know something about the \(\Delta\) value (RMS energy difference between equations of state, as described in Reproducibility in density functional theory calculations of solids) you should got to https://molmod.ugent.be/deltacodesdft.
There was a similar effort for pseudopotentials. The approach is described in the article Precision and efficiency in solid-state pseudopotential calculations and the library is accessible in the MaterialsCloud.
For phonon calculations, there are some nice developments from Johannes Voss:
- In ase-espresso he initializes displaced calculations in the finite difference method with the KS potential of an undisplaced calculation.
- In another work, he uses charge densities from the ground state to construct an interatomic potential which is then used to construct an approximate Hessian which can be useful for quick estimates of e.g. decomposition temperatures (but it fails for temperatures above the maximum phonon energy and it is \(\Gamma\)-point only)
Elate from FX. Coudert is a nice python module to analze elastic tensors.
The Kullik group has some useful tutorials http://hjkgrp.mit.edu/Tutorials
For the calculation of reactions, a review by Ryu et al. contains some useful starting points
For using slab calculations Fionrentini is a classic on of to extract surface energies. If you do this, you probably also want to look at the dipole correction from Bengtsson
Wang et al. give a good overview over tools and methods for phonon calculations
If you use PBC, you should also consider Payne’s paper
VASP¶
Creating input files¶
- Pymatgen relax sets are really useful as they also come with e.g. useful MAGMON settings
Common problems¶
In my opinion, VASP is pretty silent when stopping a run altough not reaching the convergence criteria. Double checking the forces is essential here.
To avoid stack size errors, you might find it useful to set
ulimit -s unlimited
in your .bashrc
Quantum Espresso¶
Creating input files¶
- There are some interesting developments coming from the ASE community, particularly interesting are the developments from Johannes Voss that allow one to use the ASE optimizers and also initialize finite-difference phonon calculations with the potential of a previous (undisplaced) calculation
AiiDA¶
Though not an electronic structure code, it fits best into this category.
Get Workchain results¶
qb.append(WorkCalculation, filters={
'attributes._process_label': '<workchain_classname>',
})
qb.all()
will then return a list of list, where the results can be accessed via workcalc.out.result.get_attr('<attr_name>')