Statistiques
| Révision :

root / ase / optimize / test / generate_rst.py

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()