Statistiques
| Révision :

root / ase / optimize / test / generate_rst.py @ 1

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