root / ase / optimize / test / generate_rst.py @ 4
Historique | Voir | Annoter | Télécharger (1,33 ko)
| 1 | 1 | tkerber | import os |
|---|---|---|---|
| 2 | 1 | tkerber | import re |
| 3 | 1 | tkerber | dirlist = os.listdir('.')
|
| 4 | 1 | tkerber | name = '.*\.csv'
|
| 5 | 1 | tkerber | filterre = re.compile(name) |
| 6 | 1 | tkerber | dirlist = filter(filterre.search, dirlist)
|
| 7 | 1 | tkerber | namelist = [d.strip('.csv') for d in dirlist] |
| 8 | 1 | tkerber | |
| 9 | 1 | tkerber | f = open('testoptimize.rst', 'w') |
| 10 | 1 | tkerber | f.write( |
| 11 | 1 | tkerber | """.. _optimizer_tests:
|
| 12 | 1 | tkerber |
|
| 13 | 1 | tkerber | ===============
|
| 14 | 1 | tkerber | Optimizer tests
|
| 15 | 1 | tkerber | ===============
|
| 16 | 1 | tkerber | This page shows benchmarks of optimizations done with our different optimizers.
|
| 17 | 1 | tkerber | Note that the iteration number (steps) is not the same as the number of force
|
| 18 | 1 | tkerber | evaluations. This is because some of the optimizers uses internal line searches
|
| 19 | 1 | tkerber | or similar.
|
| 20 | 1 | tkerber | """
|
| 21 | 1 | tkerber | ) |
| 22 | 1 | tkerber | |
| 23 | 1 | tkerber | for name in namelist: |
| 24 | 1 | tkerber | lines = open(name + '.csv', 'r').read().split('\n') |
| 25 | 1 | tkerber | firstline = lines.pop(0)
|
| 26 | 1 | tkerber | f.write( |
| 27 | 1 | tkerber | '\n' +
|
| 28 | 1 | tkerber | name + '\n' + \
|
| 29 | 1 | tkerber | '=' * len(name) + '\n' |
| 30 | 1 | tkerber | 'Calculator used: %s\n' % firstline.split(',')[-1] + \ |
| 31 | 1 | tkerber | '\n' + \
|
| 32 | 1 | tkerber | '=============== ===== ================= ========== ===============\n' + \
|
| 33 | 1 | tkerber | 'Optimizer Steps Force evaluations Energy Note \n' + \
|
| 34 | 1 | tkerber | '=============== ===== ================= ========== ===============\n'
|
| 35 | 1 | tkerber | ) |
| 36 | 1 | tkerber | for line in lines: |
| 37 | 1 | tkerber | if len(line): |
| 38 | 1 | tkerber | print line.split(',') |
| 39 | 1 | tkerber | f.write( |
| 40 | 1 | tkerber | '%-15s %5s %17s %10s %s\n' % tuple(line.split(',')) |
| 41 | 1 | tkerber | ) |
| 42 | 1 | tkerber | f.write( |
| 43 | 1 | tkerber | '=============== ===== ================= ========== ===============\n'
|
| 44 | 1 | tkerber | ) |
| 45 | 1 | tkerber | f.close() |