Statistiques
| Révision :

root / prepareQMX / qmxCALC.py @ 16

Historique | Voir | Annoter | Télécharger (4,93 ko)

1
#!/usr/bin/env python
2

    
3
# definition of CALCULATORS for qmx-setup
4
#
5
# Torsten Kerber, ENS LYON: 2011, 07, 11
6
#
7
# This work is supported by Award No. UK-C0017, made by King Abdullah
8
# University of Science and Technology (KAUST)
9

    
10
from qmxDEF import Definition
11

    
12
#-------------------------------------------------------------------------------
13
#--- PRG DEFINITIONS -----------------------------------------------------------
14
#-------------------------------------------------------------------------------
15
class VASPCalcDefinition(Definition):
16
    def __init__(self):
17
        self.name='VASP'
18
        self.keywords = {}
19
        self.keywords['import']='ase.calculators.vasp'
20
        self.keywords['class']='Vasp'
21
        self.keywords['class.options']='write_input=False'
22

    
23
#-------------------------------------------------------------------------------
24
class TURBOMOLECalcDefinition(Definition):
25
    def __init__(self):
26
        self.name='TURBOMOLE'
27
        self.keywords = {}
28
        self.keywords['import']='ase.calculators.turbomole'
29
        self.keywords['class']='Turbomole'
30

    
31
#-------------------------------------------------------------------------------
32
class MOPACCalcDefinition(Definition):
33
    def __init__(self):
34
        self.name='MOPAC'
35
        self.keywords = {}
36
        self.keywords['import']='ase.calculators.mopac'
37
        self.keywords['class']='Mopac'
38
        self.keywords['class.options']='functional="PM6"'
39

    
40
#-------------------------------------------------------------------------------
41
class QmxCalcDefinition(Definition):
42
    def __init__(self):
43
        self.name='QMX'
44
        self.system='Qmx'
45
        self.keywords = {}
46
        self.keywords['import']='ase.calculators.qmx'
47
        self.keywords['class']='Qmx'
48
        self.keywords['class.options']='high_level, low_level'
49

    
50
#-------------------------------------------------------------------------------
51
class LJCalcDefinition(Definition):
52
    def __init__(self):
53
        self.name='Lennard Jones'
54
        self.system='LJ'
55
        self.keywords = {}
56
        self.keywords['import']='ase.calculators.lj'
57
        self.keywords['class']='LennardJones'
58

    
59
#-------------------------------------------------------------------------------
60
class EMTCalcDefinition(Definition):
61
    def __init__(self):
62
        self.name='EMT'
63
        self.system='EMT'
64
        self.keywords = {}
65
        self.keywords['import']='ase.calculators.emt'
66
        self.keywords['class']='EMT'
67

    
68
#-------------------------------------------------------------------------------
69
class SiestaCalcDefinition(Definition):
70
    def __init__(self):
71
        self.name='Siesta'
72
        self.system='Siesta'
73
        self.keywords = {}
74
        self.keywords['import']='ase.calculators.siesta'
75
        self.keywords['class']='Siesta'
76

    
77
#-------------------------------------------------------------------------------
78
class DacapoCalcDefinition(Definition):
79
    def __init__(self):
80
        self.name='Dacapo'
81
        self.system='Dacapo'
82
        self.keywords = {}
83
        self.keywords['import']='ase.calculators.dacapo'
84
        self.keywords['class']='Dacapo'
85

    
86
#-------------------------------------------------------------------------------
87
class AimsCubeCalcDefinition(Definition):
88
    def __init__(self):
89
        self.name='AimsCube'
90
        self.system='AimsCube'
91
        self.keywords = {}
92
        self.keywords['import']='ase.calculators.ase'
93
        self.keywords['class']='AimsCube'
94

    
95
#-------------------------------------------------------------------------------
96
class AimsCalcDefinition(Definition):
97
    def __init__(self):
98
        self.name='Aims'
99
        self.system='Aims'
100
        self.keywords = {}
101
        self.keywords['import']='ase.calculators.aims'
102
        self.keywords['class']='Aims'
103

    
104
#-------------------------------------------------------------------------------
105
class ExcitingCalcDefinition(Definition):
106
    def __init__(self):
107
        self.name='Exciting'
108
        self.system='Exciting'
109
        self.keywords = {}
110
        self.keywords['import']='ase.calculators.exciting'
111
        self.keywords['class']='Exciting'
112

    
113
#-------------------------------------------------------------------------------
114
class DftbCalcDefinition(Definition):
115
    def __init__(self):
116
        self.name='Dftb'
117
        self.system='Dftb'
118
        self.keywords = {}
119
        self.keywords['import']='ase.calculators.dftb'
120
        self.keywords['class']='Dftb'
121

    
122
#-------------------------------------------------------------------------------
123
class GaussianCalcDefinition(Definition):
124
    def __init__(self):
125
        self.name='Gaussian'
126
        self.system='Gaussian'
127
        self.keywords = {}
128
        self.keywords['import']='ase.calculators.gaussian'
129
        self.keywords['class']='Gaussian'
130

    
131
calcDefinitions = \
132
  [ VASPCalcDefinition(), TURBOMOLECalcDefinition(), MOPACCalcDefinition(), LJCalcDefinition(), \
133
    EMTCalcDefinition(), SiestaCalcDefinition(), DacapoCalcDefinition(), AimsCubeCalcDefinition(), \
134
    AimsCalcDefinition(), ExcitingCalcDefinition(), DftbCalcDefinition(), GaussianCalcDefinition() ]