Schedulers on ICSACI
 Exclusive nodes. “qsub n” guarantees exclusive nodes. The scheduler finds the minimum number of nodes that grants you exclusivity, e.g. gives you 2 exclusive nodes if you request 20 cores (without specifying topology) on and 16corepernode system.

Check all running nodes? Environmental variable $PBS_NODEFILE. Other $PBS_xxx variables can also be useful. Check the “pbsnodes” command for all node specifications.
 Email notification. #PBS m [option] where option can be any combination of the letters a(bort) b(egin) and e(nd). Use with #PBS M [email adress]
 Memory monitoring using a script, without ‘top’. Find process # in ‘ps’, then look in /proc/#/status. Vsize and Vrss are the requested and active memory.

Specify a node: #PBS l nodes=[node name], e.g. node name = lionxg93
 After a job starts, you are allowed to ssh to that compute node, e.g. to check memory use.
 Want to save an interactive job session? Use the “screen” utility to allow attachment/detachment for an interactive session. See gnu page or here for details.
VASP
 Manually turn off symmetry when using EFIELD (VASP detects symmetry based only on geometry).
 When using LDIPOL, the compensating planar dipole added by vasp is always sitting at the cell boudary (not affected by DIPOL, at least for v5.2), so make sure slabs don’t cross boundaries.
 Use LVHAR when plotting local potential for faster convergence towards vacuum level.
 Isolated atoms. Don’t forget to use a very small smearing, e.g. 0.1 meV. To avoid slow convergence, use NUPDOWN to constrain the net spin. Always check ground state electron configuration with experiments, keeping in mind that LDA/GGA energies are more likely to be off quantitatively.
 Use KPAR level parallelization when applicable.
 LOPTICS only gives interband contributions. A Drude term needs to be put in later for metals.
 Optical matrix elements can be obtained by uncommenting the line regarding ‘WAVEDERF’; a ‘WAVEDERF’ file will appear after a LOPTICS run. These are <irj>, not <ipj>. Same for BerkeleyGW.
 Phonon dispersions and quasiharmonic treatments from Phonopy.
 Phonon lifetimes and lattice thermal conductivities from Phono3py.
 Abinitio MD too slow? See if advanced rare event sampling methods work for you.
 Paper behind the implementation of noncollinear magnetism in VASP: D. Hobbs, G. Kresse, and J. Hafner, Phys. Rev. B 62, 11556 (2000)
 Paper behind the the spectral representation trick (LSPECTRAL) in VASP (and similar KK or Hilbert transform tricks in other codes): M. Shishkin and G. Kresse, Phys. Rev. B 74, 035101 (2006)
 How to calculate band structures with hybrid functionals, documented here.
 Many other tips here
QE
 To see how you can split phonon calculations, check the last section of the ph.x documentation
 nk level parallelization is very efficient for small systems.
 official FAQ for phonons
Abinit
 Use version 7.4 onwards for calculating linear and nonlinear optical properties – two bugs related to symmetry were present in versions before that.
 The input for nonlinear optical calculations supports scissor shifts to remedy band gap problems. Unlike linear optics, adding scissor shifts in nonlinear optics do not simply rigidly shift the spectrum.
 Very well written documentation and tutorial and version information.
 Photon polarization is controlled by gw_qlwl, the “small” q vector that describes the q>0 limit of the head and wings of the dielectric matrix.
 MBPT features:
 Supports dense kpoint interpolatino for BSE using “bs_interp_mode”, but only works for Haydock as of now (v8.10).
 Extrapolar (active) and Effective Eneregy Technique (discontinued as of v8.0) to accelerate convergence with respect to band summation.
 Bug associated with gwcomp reported here.
 Allows splitq, splitk and splitbands calculaitons in plasmonpole model, using nqptdm+qptdm and nkptgw+kptgw+bdgw. Mrgscr tool to collect.
 Supports Coulomb interaction cutoff to accelerate convergence with respect to cell size, using “icutcoul” and “vcutgeo”. The the surface/2D case, “rcut” is automatically set to half the cell height Lz/2 (see m_vcoul/cutoff_surface).
 Distributed empty bands and reduced memory demand using the “gwpara=2” parallelization level. More on MBPT parallellization techniques in this tutorial.
 When generating hundreds/thousands of empty bands, the highest computed ones might be degenerate (with not computed ones) and difficult to converge, as one might expericence with other codes. To work around this problem, nbdbuf excludes a portion of the empty bands from the convergence criteria. From this tutorial: “As a rule of thumb use 10% of nband or even more in complicated systems. This can really make a huge difference at the level of the wall time.”
 prtvol >= 3 to monitor nscf progress (for kptopt == 1)
 use max_ncpus to estimate memory usage and scaling before doing GW routines (a forum post here).
BerkeleyGW
 BerkeleyGW workshop materials for 2013, 2014, and 2018
 Optical matrix elements are obtained from wavefunctions and thus have arbitrary phases. Special care is needed when calculating cross terms, e.g. epsilon_xy.
 ch_converge.dat is a handy output to check the convergence of Coulombhole term of the electron selfenergy with respect to emtpy bands. The same convergence can be accelerated by the static remainder method.
 MBPT features:
 Best developed implementation for BSE routines with dense kpoint interpolation
 Static remainder and SAPO to ease convergences with respect to band summation.
 Allows splitq and splitk calculaitons in plasmonpole model. wfnmerge.x and epsmat_merge tool to collect.
 Supports Coulomb interaction cutoff to accelerate convergence with respect to cell size, using “cell_****_truncation”
 The QE/BerkeleyGW interface pw2bgw.x allows control over whether semicore states are included in the charge density in the HLGPP model, through “rhog_nvmin”.
Compilation on ICSACI
 For different mpi flavors, use libmkl_blacs_[flavor]_lp64.a, where flavor can be intelmpi, openmpi …
 On aci, use mkl libraries for LAPACK and SCALAPACK. Module load mkl and find all libraries under $MKLROOT.
 Make sure the MKL version is compatible with the compiler version.
VMD
 Quick and easy visualization, with builtin rendering options. Depth of field can be controlled after rendering script is generated, e.g. for Tachyon under “Camera” specify “projection perspective_dof” and “aperture [number]”
 VMD color palette https://www.ks.uiuc.edu/Research/vmd/plugins/palettetool/
Some ‘goto’ papers
 DFPT, Baroni et al. Rev. Mod. Phys. 73, 515 (2001)
 Point defects in TMDs, Komsa et al. PRB 91, 125304 (2015)
 Charged defects in 2D, Komsa et al. PRX 4, 031044 (2014)
 Defects in solids in general, Freysoldt et al. Rev. Mod. Phys. 86, 253 (2014)
 Raman tensors from symmetry, Loudon Advances in Physics, 50:7, 813864
 GWBSE in TMDs, Qiu et. al. PRL 111, 216805 (2013), PRB 93, 235435 (2016)
 Lattice thermal conductivities, Chernatynskiy et al. PRB 82, 134301 (2010), Togo et al. PRB 91, 094306 (2015)
 Highthroughput, Curtarolo et al. Nat. Mater. 12, 191 (2013)
Evernote
 “Search notes” seems to be broken? Try recreating full search index.
Mac / Keynote things
 Pasting following the present local format: Shift + Option + Cmd + V
 Hate rightclickmovetofront? Just cut and paste.
 Handdrawn curves curving weirdly? Rightclick on editable point and make Bezier point.
 Cropping with irregular shape: Draw irregular shape over image – select both – Format>Image>Mask with selection