root / ase / optimize / test / generate_rst.py @ 3
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() |