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