The are the commands for ASE/python mode and the "native" (no ASE/python) mode:
esp-ver-bsub <version> myscript.py esp-ver-bsub-native <version> -q suncat-test -o my.log -n 8 pw.x -in pw.inp |
For a "typical" espresso job (default planewave parallelization):
In the longer term we would like to have a memory estimator that will allow you to choose the best queue in advance, although posts on the espresso mailing list suggest this may be difficult.
From http://www.democritos.it/pipermail/pw_forum/2008-January/008101.html
Excerpt (relevant for the "native" (non-ASE) mode):
is your system an isolated system? then use this keyword:
K_POINTS gamma |
it will use k=0 only (which is all you need for an isolated system) and exploit various tricks to reduce memory usage
In ASE-mode we are currently unable to set the "K_POINTS gamma" field and "diago_david_ndim". The other two can be specified with the convergence keyword. "mixing_ndim" is "mix", and "diagonalization" is "diag". For example:
convergence = {'energy':1e-6, 'mixing':0.7, 'maxsteps':100, 'mix':4, 'diag':'cg'}, |
A simple optimization: esp.py
Calculate density-of-states: espdos.py
Plot density-of-states: espdosplot.py
NEB: espneb.py
Running in "native" mode (see esp-ver-bsub-native
command above): pw.inp
Version | Date | Comment |
1 | 12/3/2012 | initial version |
2 | 12/5/2012 | use mkl fftw |
3 | 12/7/2012 | UNSTABLE version: developers allowed to change espresso.py. Users can overwride espresso.py by putting their own espresso.py in directory $HOME/espresso |
4,4a | 12/10/2012 | update to the latest svn espresso-src and espresso python |
5 | 2/14/2013 | Entropy corrections added and default parameters changed (smearing type and width) |
6,6a | 3/7/2013 | Many changes: move to combination of dacapo/espresso pseudo potentials (previously just dacapo), add spin polarized BEEF |
7,7a | 4/5/2013 | Update the python interface for bug fixes. Numbers shouldn't change from v6 |
8,8a | 4/5/2013 | Important bug fixes: no need for calc.stop(), support for kpoint parallelization with ASE, fix for rhel5 nfs auto mount problem. Numbers shouldn't change from v6/v7. |
9,9a | 5/28/2013 | Add PDOS/NEB calculations. new libbeef interface allows for adding additional beef functionals in future. |
10,10a | 6/19/2013 | Fix problem with pipe buffering that crashed NEB. Dump more information about python/fortran executables to output. |
11 | 7/2/2013 | Bug fix for end of job race condition giving "broken pipe" error |
12 | 7/11/2013 | Chuan adds new 'diskio' option to allow get_work_function to succeed (was incompatible with avoidio=True). |
13,13a | 9/4/2013 | BROKEN (setupenv renamed). band structure calculations and ase constraints being passed down to espresso's internal relaxation routines. calculation results should not change |
14,14a | 9/10/2013 | fix bug in espresso.py forces, fixed bug with LDA+U PDOS in espresso fortran |
15,15a | 9/10/2013 | fix bug where espresso.py would crash if it was given a not-understand ASE constraint, even using an ASE optimization |
Introduction/Usage (Johannes Voss): jvexternal.pdf
Accuracy (Jewe Wellendorff, Keld Lundgaard, NOTE: password protected because it contains VASP benchmark data): kelu.pdf
Speed/Convergence (AJ Medford): aj.pptx
Scaling behavior (Christopher O'Grady): espscaling.pptx
Copy this script, and then edit the appropriate lines at the top:
/afs/slac/g/suncat/share/scripts/privesp.csh |
There is a simple trick to catch syntax errors even before submitting them to the test queue. Just wrap the ase submit command in the following function (e.g. via your bashrc) and a faulty python script will be exited with an error message without waiting in any queue.
function esp(){ python -m py_compile ${1} if [ $? -ne 0 ] then echo "Not compiling" return 1 fi chmod -v 755 $1 esp-ver-bsub 18 $@ } |
Espresso ASE To-Do List