Révision 5

src/io_module.mod (revision 5)
1
GFORTRAN module version '0' created from Io_module.f90 on Tue Aug  2 18:03:03 2011
2
MD5:556e278bb8a31990e8ceaeab7f61672f -- If you edit this, you'll get what you deserve.
3

  
4
(() () () () () ()
5
() () () () () () () () () () () () () () () () () () () () ())
6

  
7
()
8

  
9
()
10

  
11
()
12

  
13
()
14

  
15
(2 'attypes' 'io_module' 'attypes' 1 ((VARIABLE UNKNOWN-INTENT
16
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE DIMENSION) (CHARACTER 1 0 0 CHARACTER
17
((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '2'))) 0 0 () (1 EXPLICIT (
18
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
19
INTEGER ()) 0 '100')) 0 () () () 0 0)
20
3 'calcname' 'io_module' 'calcname' 1 ((VARIABLE UNKNOWN-INTENT
21
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
22
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
23
4 'curcom' 'io_module' 'curcom' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
24
UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0 0 DERIVED ()) 0 0 () () 0 ()
25
() () 0 0)
26
6 'current' 'io_module' 'current' 1 ((VARIABLE UNKNOWN-INTENT
27
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0 0 DERIVED ()) 0
28
0 () () 0 () () () 0 0)
29
7 'debugfile' 'io_module' 'debugfile' 1 ((VARIABLE UNKNOWN-INTENT
30
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
31
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
32
8 'ev2au' 'io_module' 'ev2au' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
33
UNKNOWN IMPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8 0 0
34
REAL ()) 0 '0.968675aa430b78@-1') () 0 () () () 0 0)
35
9 'fff' 'io_module' 'fff' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
36
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (CHARACTER 1 0 0 CHARACTER
37
((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '4'))) 0 0 () (2 DEFERRED () ()
38
() ()) 0 () () () 0 0)
39
10 'gauss_charge' 'io_module' 'gauss_charge' 1 ((VARIABLE UNKNOWN-INTENT
40
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
41
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
42
11 'gauss_comment' 'io_module' 'gauss_comment' 1 ((VARIABLE
43
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0
44
0 DERIVED ()) 0 0 () () 0 () () () 0 0)
45
12 'gauss_end' 'io_module' 'gauss_end' 1 ((VARIABLE UNKNOWN-INTENT
46
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0 0 DERIVED ()) 0
47
0 () () 0 () () () 0 0)
48
13 'gauss_paste' 'io_module' 'gauss_paste' 1 ((VARIABLE UNKNOWN-INTENT
49
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (CHARACTER 1 0
50
0 CHARACTER ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () (1
51
DEFERRED () ()) 0 () () () 0 0)
52
14 'gauss_root' 'io_module' 'gauss_root' 1 ((VARIABLE UNKNOWN-INTENT
53
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0 0 DERIVED ()) 0
54
0 () () 0 () () () 0 0)
55
5 'input_line' 'io_module' 'input_line' 1 ((DERIVED UNKNOWN-INTENT
56
UNKNOWN-PROC UNKNOWN UNKNOWN POINTER_COMP) (UNKNOWN 0 0 0 UNKNOWN ()) 0
57
0 () () 0 ((15 'line' (CHARACTER 1 0 0 CHARACTER ((CONSTANT (INTEGER 4 0
58
0 INTEGER ()) 0 '132'))) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC
59
UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (16 'next' (DERIVED 5 0 0 DERIVED ())
60
() (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN POINTER)
61
UNKNOWN-ACCESS ())) PUBLIC (() ()) () 0 0)
62
17 'io_module' 'io_module' 'io_module' 1 ((MODULE UNKNOWN-INTENT
63
UNKNOWN-PROC UNKNOWN UNKNOWN) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 ()
64
() () 0 0)
65
18 'iocart' 'io_module' 'iocart' 1 ((VARIABLE UNKNOWN-INTENT
66
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
67
0 () () () 0 0)
68
19 'ioin' 'io_module' 'ioin' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
69
UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0
70
0)
71
20 'ioout' 'io_module' 'ioout' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
72
UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0
73
0)
74
21 'iotmp' 'io_module' 'iotmp' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
75
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
76
INTEGER 4 0 0 INTEGER ()) 0 '21') () 0 () () () 0 0)
77
22 'iotmp2' 'io_module' 'iotmp2' 1 ((PARAMETER UNKNOWN-INTENT
78
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
79
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '22') () 0 () () () 0 0)
80
23 'iotmp3' 'io_module' 'iotmp3' 1 ((PARAMETER UNKNOWN-INTENT
81
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
82
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '23') () 0 () () () 0 0)
83
24 'isuffix' 'io_module' 'isuffix' 1 ((VARIABLE UNKNOWN-INTENT
84
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
85
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
86
25 'kind' '(intrinsic)' 'kind' 1 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC
87
UNKNOWN UNKNOWN FUNCTION) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 25 () ()
88
() 0 0)
89
26 'kint' 'vartypes' 'kint' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
90
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
91
INTEGER 4 0 0 INTEGER ()) 0 '4') () 0 () () () 0 0)
92
27 'kreal' 'vartypes' 'kreal' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
93
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
94
INTEGER 4 0 0 INTEGER ()) 0 '8') () 0 () () () 0 0)
95
28 'lchars' 'vartypes' 'lchars' 1 ((PARAMETER UNKNOWN-INTENT
96
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
97
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132') () 0 () () () 0 0)
98
29 'listcoord' 'vartypes' 'listcoord' 1 ((DERIVED UNKNOWN-INTENT
99
UNKNOWN-PROC UNKNOWN UNKNOWN POINTER_COMP) (UNKNOWN 0 0 0 UNKNOWN ()) 0
100
0 () () 0 ((30 'type' (CHARACTER 1 0 0 CHARACTER ((CONSTANT (INTEGER 4 0
101
0 INTEGER ()) 0 '32'))) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC
102
UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (31 'at1' (INTEGER 4 0 0 INTEGER ())
103
() (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN)
104
UNKNOWN-ACCESS ()) (32 'at2' (INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL
105
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (33 'at3'
106
(INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC
107
UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (34 'at4' (INTEGER 4 0 0 INTEGER ())
108
() (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN)
109
UNKNOWN-ACCESS ()) (35 'value' (REAL 8 0 0 REAL ()) () (UNKNOWN-FL
110
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (36
111
'signdihedral' (INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL UNKNOWN-INTENT
112
UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (37 'next' (DERIVED 29
113
0 0 DERIVED ()) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
114
UNKNOWN POINTER) UNKNOWN-ACCESS ())) PUBLIC (() ()) () 0 0)
115
38 'maxtype' 'io_module' 'maxtype' 1 ((PARAMETER UNKNOWN-INTENT
116
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
117
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '100') () 0 () () () 0 0)
118
39 'mopac_comment' 'io_module' 'mopac_comment' 1 ((VARIABLE
119
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0
120
0 DERIVED ()) 0 0 () () 0 () () () 0 0)
121
40 'mopac_end' 'io_module' 'mopac_end' 1 ((VARIABLE UNKNOWN-INTENT
122
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0 0 DERIVED ()) 0
123
0 () () 0 () () () 0 0)
124
41 'mopac_endgeom' 'io_module' 'mopac_endgeom' 1 ((VARIABLE
125
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0
126
CHARACTER ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 ()
127
() () 0 0)
128
42 'mopac_root' 'io_module' 'mopac_root' 1 ((VARIABLE UNKNOWN-INTENT
129
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0 0 DERIVED ()) 0
130
0 () () 0 () () () 0 0)
131
43 'nbtypes' 'io_module' 'nbtypes' 1 ((VARIABLE UNKNOWN-INTENT
132
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
133
0 () () () 0 0)
134
44 'osuffix' 'io_module' 'osuffix' 1 ((VARIABLE UNKNOWN-INTENT
135
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
136
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
137
45 'pathname' 'io_module' 'pathname' 1 ((VARIABLE UNKNOWN-INTENT
138
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
139
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
140
46 'previous' 'io_module' 'previous' 1 ((VARIABLE UNKNOWN-INTENT
141
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 5 0 0 DERIVED ()) 0
142
0 () () 0 () () () 0 0)
143
47 'runmode' 'io_module' 'runmode' 1 ((VARIABLE UNKNOWN-INTENT
144
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
145
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32'))) 0 0 () () 0 () () () 0 0)
146
48 'schars' 'vartypes' 'schars' 1 ((PARAMETER UNKNOWN-INTENT
147
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
148
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32') () 0 () () () 0 0)
149
49 'vartypes' 'vartypes' 'vartypes' 1 ((MODULE UNKNOWN-INTENT
150
UNKNOWN-PROC UNKNOWN UNKNOWN) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 ()
151
() () 0 0)
152
50 'vasp_comment' 'io_module' 'vasp_comment' 1 ((VARIABLE UNKNOWN-INTENT
153
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
154
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
155
51 'vasp_direct' 'io_module' 'vasp_direct' 1 ((VARIABLE UNKNOWN-INTENT
156
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
157
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
158
52 'vasp_param' 'io_module' 'vasp_param' 1 ((VARIABLE UNKNOWN-INTENT
159
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
160
() () 0 0)
161
53 'vasp_title' 'io_module' 'vasp_title' 1 ((VARIABLE UNKNOWN-INTENT
162
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
163
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
164
54 'vasp_types' 'io_module' 'vasp_types' 1 ((VARIABLE UNKNOWN-INTENT
165
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
166
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
167
55 'vlchars' 'vartypes' 'vlchars' 1 ((PARAMETER UNKNOWN-INTENT
168
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
169
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '256') () 0 () () () 0 0)
170
56 'writevasp' 'io_module' 'writevasp' 1 ((VARIABLE UNKNOWN-INTENT
171
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
172
0 () () () 0 0)
173
)
174

  
175
('attypes' 0 2 'calcname' 0 3 'curcom' 0 4 'current' 0 6 'debugfile' 0 7
176
'ev2au' 0 8 'fff' 0 9 'gauss_charge' 0 10 'gauss_comment' 0 11 'gauss_end'
177
0 12 'gauss_paste' 0 13 'gauss_root' 0 14 'input_line' 0 5 'io_module' 0
178
17 'iocart' 0 18 'ioin' 0 19 'ioout' 0 20 'iotmp' 0 21 'iotmp2' 0 22
179
'iotmp3' 0 23 'isuffix' 0 24 'kind' 0 25 'kint' 0 26 'kreal' 0 27 'lchars'
180
0 28 'listcoord' 0 29 'maxtype' 0 38 'mopac_comment' 0 39 'mopac_end' 0
181
40 'mopac_endgeom' 0 41 'mopac_root' 0 42 'nbtypes' 0 43 'osuffix' 0 44
182
'pathname' 0 45 'previous' 0 46 'runmode' 0 47 'schars' 0 48 'vartypes'
183
0 49 'vasp_comment' 0 50 'vasp_direct' 0 51 'vasp_param' 0 52 'vasp_title'
184
0 53 'vasp_types' 0 54 'vlchars' 0 55 'writevasp' 0 56)
src/path_module.mod (revision 5)
1
GFORTRAN module version '0' created from Path_module.f90 on Tue Aug  2 18:02:50 2011
2
MD5:2a501aab8e09c050afefe5194c2a83de -- If you edit this, you'll get what you deserve.
3

  
4
(() () () () () ()
5
() () () () () () () () () () () () () () () () () () () () ())
6

  
7
()
8

  
9
()
10

  
11
()
12

  
13
()
14

  
15
(2 '__convert_r4_r8' '(intrinsic)' '__convert_r4_r8' 1 ((PROCEDURE
16
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN FUNCTION ELEMENTAL PURE) (
17
REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
18
3 'a0' 'path_module' 'a0' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
19
UNKNOWN IMPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () (CONSTANT (REAL 8 0 0
20
REAL ()) 0 '0.877829023e0400@0') () 0 () () () 0 0)
21
4 'align' 'path_module' 'align' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
22
UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0
23
0)
24
5 'atname' 'path_module' 'atname' 1 ((VARIABLE UNKNOWN-INTENT
25
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (CHARACTER 1 0
26
0 CHARACTER ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '10'))) 0 0 () (1
27
DEFERRED () ()) 0 () () () 0 0)
28
6 'atome' 'path_module' 'atome' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
29
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (INTEGER 4 0 0 INTEGER ())
30
0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
31
7 'au2kcal' 'path_module' 'au2kcal' 1 ((PARAMETER UNKNOWN-INTENT
32
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () (
33
CONSTANT (REAL 8 0 0 REAL ()) 0 '0.2738275ab7dc7a@3') () 0 () () () 0 0)
34
8 'autocart' 'path_module' 'autocart' 1 ((VARIABLE UNKNOWN-INTENT
35
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
36
0 () () () 0 0)
37
9 'bbt' 'path_module' 'bbt' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
38
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
39
(2 DEFERRED () () () ()) 0 () () () 0 0)
40
10 'bbt_inv' 'path_module' 'bbt_inv' 1 ((VARIABLE UNKNOWN-INTENT
41
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
42
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
43
11 'bmat_bakert' 'path_module' 'bmat_bakert' 1 ((VARIABLE UNKNOWN-INTENT
44
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
45
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
46
12 'bohr' 'path_module' 'bohr' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
47
UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0
48
0)
49
13 'boxtol' 'path_module' 'boxtol' 1 ((VARIABLE UNKNOWN-INTENT
50
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
51
() () 0 0)
52
14 'bprimt' 'path_module' 'bprimt' 1 ((VARIABLE UNKNOWN-INTENT
53
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
54
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
55
15 'btransinv' 'path_module' 'btransinv' 1 ((VARIABLE UNKNOWN-INTENT
56
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
57
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
58
16 'btransinv_local' 'path_module' 'btransinv_local' 1 ((VARIABLE
59
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION)
60
(REAL 8 0 0 REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
61
17 'btransinvf' 'path_module' 'btransinvf' 1 ((VARIABLE UNKNOWN-INTENT
62
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
63
REAL ()) 0 0 () (3 DEFERRED () () () () () ()) 0 () () () 0 0)
64
18 'calceprod' 'path_module' 'calceprod' 1 ((VARIABLE UNKNOWN-INTENT
65
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
66
0 () () () 0 0)
67
19 'calcereac' 'path_module' 'calcereac' 1 ((VARIABLE UNKNOWN-INTENT
68
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
69
0 () () () 0 0)
70
20 'cart' 'path_module' 'cart' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
71
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (INTEGER 4 0 0 INTEGER ())
72
0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
73
21 'coord' 'path_module' 'coord' 1 ((VARIABLE UNKNOWN-INTENT
74
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
75
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32'))) 0 0 () () 0 () () () 0 0)
76
22 'coordinate' 'path_module' 'coordinate' 1 ((VARIABLE UNKNOWN-INTENT
77
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 23 0 0 DERIVED ())
78
0 0 () () 0 () () () 0 0)
79
24 'currentcoord' 'path_module' 'currentcoord' 1 ((VARIABLE
80
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 23 0
81
0 DERIVED ()) 0 0 () () 0 () () () 0 0)
82
25 'dynmaxstep' 'path_module' 'dynmaxstep' 1 ((VARIABLE UNKNOWN-INTENT
83
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
84
0 () () () 0 0)
85
26 'dzdc' 'path_module' 'dzdc' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
86
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
87
(4 DEFERRED () () () () () () () ()) 0 () () () 0 0)
88
27 'energies' 'path_module' 'energies' 1 ((VARIABLE UNKNOWN-INTENT
89
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
90
REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
91
28 'fact' 'path_module' 'fact' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
92
UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
93
29 'falign' 'path_module' 'falign' 1 ((PARAMETER UNKNOWN-INTENT
94
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () (
95
CONSTANT (LOGICAL 4 0 0 LOGICAL ()) 0 1) () 0 () () () 0 0)
96
30 'firsttimepathcreate' 'path_module' 'firsttimepathcreate' 1 ((
97
VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0
98
0 LOGICAL ()) 0 0 () () 0 () () () 0 0)
99
31 'freq' 'path_module' 'freq' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
100
UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0
101
0)
102
32 'frot' 'path_module' 'frot' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
103
UNKNOWN IMPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () (CONSTANT (
104
LOGICAL 4 0 0 LOGICAL ()) 0 1) () 0 () () () 0 0)
105
33 'frozatoms' 'path_module' 'frozatoms' 1 ((VARIABLE UNKNOWN-INTENT
106
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (LOGICAL 4 0 0
107
LOGICAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
108
34 'frozen' 'path_module' 'frozen' 1 ((VARIABLE UNKNOWN-INTENT
109
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (INTEGER 4 0 0
110
INTEGER ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
111
35 'froztol' 'path_module' 'froztol' 1 ((VARIABLE UNKNOWN-INTENT
112
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
113
() () 0 0)
114
36 'ftan' 'path_module' 'ftan' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
115
UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
116
37 'geomold' 'path_module' 'geomold' 1 ((VARIABLE UNKNOWN-INTENT
117
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
118
REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
119
38 'geomold_all' 'path_module' 'geomold_all' 1 ((VARIABLE UNKNOWN-INTENT
120
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
121
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
122
39 'grad' 'path_module' 'grad' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
123
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
124
(2 DEFERRED () () () ()) 0 () () () 0 0)
125
40 'gthresh' 'path_module' 'gthresh' 1 ((VARIABLE UNKNOWN-INTENT
126
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
127
() () 0 0)
128
41 'gthreshrms' 'path_module' 'gthreshrms' 1 ((VARIABLE UNKNOWN-INTENT
129
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
130
() () 0 0)
131
42 'hess' 'path_module' 'hess' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
132
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
133
(3 DEFERRED () () () () () ()) 0 () () () 0 0)
134
43 'hesupd' 'path_module' 'hesupd' 1 ((VARIABLE UNKNOWN-INTENT
135
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
136
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32'))) 0 0 () () 0 () () () 0 0)
137
44 'hinv' 'path_module' 'hinv' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
138
UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0
139
0)
140
45 'hupdate' 'path_module' 'hupdate' 1 ((VARIABLE UNKNOWN-INTENT
141
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
142
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32'))) 0 0 () () 0 () () () 0 0)
143
46 'hupneighbour' 'path_module' 'hupneighbour' 1 ((VARIABLE
144
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0
145
LOGICAL ()) 0 0 () () 0 () () () 0 0)
146
47 'igeomref' 'path_module' 'igeomref' 1 ((VARIABLE UNKNOWN-INTENT
147
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
148
0 () () () 0 0)
149
48 'indzmat' 'path_module' 'indzmat' 1 ((VARIABLE UNKNOWN-INTENT
150
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (INTEGER 4 0 0
151
INTEGER ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
152
49 'inihup' 'path_module' 'inihup' 1 ((VARIABLE UNKNOWN-INTENT
153
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
154
0 () () () 0 0)
155
50 'intcoordf' 'path_module' 'intcoordf' 1 ((VARIABLE UNKNOWN-INTENT
156
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
157
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
158
51 'intcoordi' 'path_module' 'intcoordi' 1 ((VARIABLE UNKNOWN-INTENT
159
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
160
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
161
52 'intfroz' 'path_module' 'intfroz' 1 ((VARIABLE UNKNOWN-INTENT
162
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
163
0 () () () 0 0)
164
53 'inttangent' 'path_module' 'inttangent' 1 ((VARIABLE UNKNOWN-INTENT
165
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
166
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
167
54 'ireparam' 'path_module' 'ireparam' 1 ((VARIABLE UNKNOWN-INTENT
168
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
169
0 () () () 0 0)
170
55 'ireparamt' 'path_module' 'ireparamt' 1 ((VARIABLE UNKNOWN-INTENT
171
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
172
0 () () () 0 0)
173
56 'ispline' 'path_module' 'ispline' 1 ((VARIABLE UNKNOWN-INTENT
174
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
175
0 () () () 0 0)
176
57 'kind' '(intrinsic)' 'kind' 1 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC
177
UNKNOWN UNKNOWN FUNCTION) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 57 () ()
178
() 0 0)
179
58 'kint' 'vartypes' 'kint' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
180
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
181
INTEGER 4 0 0 INTEGER ()) 0 '4') () 0 () () () 0 0)
182
59 'kreal' 'vartypes' 'kreal' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
183
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
184
INTEGER 4 0 0 INTEGER ()) 0 '8') () 0 () () () 0 0)
185
60 'lat_a' 'path_module' 'lat_a' 1 ((VARIABLE UNKNOWN-INTENT
186
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
187
(1 EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (
188
INTEGER 4 0 0 INTEGER ()) 0 '3')) 0 () () () 0 0)
189
61 'lat_b' 'path_module' 'lat_b' 1 ((VARIABLE UNKNOWN-INTENT
190
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
191
(1 EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (
192
INTEGER 4 0 0 INTEGER ()) 0 '3')) 0 () () () 0 0)
193
62 'lat_c' 'path_module' 'lat_c' 1 ((VARIABLE UNKNOWN-INTENT
194
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
195
(1 EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (
196
INTEGER 4 0 0 INTEGER ()) 0 '3')) 0 () () () 0 0)
197
63 'latr' 'path_module' 'latr' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
198
UNKNOWN EXPLICIT-SAVE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (2 EXPLICIT
199
(CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (CONSTANT (INTEGER 4 0 0
200
INTEGER ()) 0 '3') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '1') (
201
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '3')) 0 () () () 0 0)
202
64 'lchars' 'vartypes' 'lchars' 1 ((PARAMETER UNKNOWN-INTENT
203
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
204
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132') () 0 () () () 0 0)
205
65 'linear' 'path_module' 'linear' 1 ((VARIABLE UNKNOWN-INTENT
206
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
207
0 () () () 0 0)
208
23 'listcoord' 'vartypes' 'listcoord' 1 ((DERIVED UNKNOWN-INTENT
209
UNKNOWN-PROC UNKNOWN UNKNOWN POINTER_COMP) (UNKNOWN 0 0 0 UNKNOWN ()) 0
210
0 () () 0 ((66 'type' (CHARACTER 1 0 0 CHARACTER ((CONSTANT (INTEGER 4 0
211
0 INTEGER ()) 0 '32'))) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC
212
UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (67 'at1' (INTEGER 4 0 0 INTEGER ())
213
() (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN)
214
UNKNOWN-ACCESS ()) (68 'at2' (INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL
215
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (69 'at3'
216
(INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC
217
UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (70 'at4' (INTEGER 4 0 0 INTEGER ())
218
() (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN)
219
UNKNOWN-ACCESS ()) (71 'value' (REAL 8 0 0 REAL ()) () (UNKNOWN-FL
220
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (72
221
'signdihedral' (INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL UNKNOWN-INTENT
222
UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (73 'next' (DERIVED 23
223
0 0 DERIVED ()) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN
224
UNKNOWN POINTER) UNKNOWN-ACCESS ())) PUBLIC (() ()) () 0 0)
225
74 'mass' 'path_module' 'mass' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
226
UNKNOWN EXPLICIT-SAVE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 () (1 EXPLICIT
227
(CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '0') (CONSTANT (INTEGER 4 0 0
228
INTEGER ()) 0 '86')) 0 () () () 0 0)
229
75 'massat' 'path_module' 'massat' 1 ((VARIABLE UNKNOWN-INTENT
230
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
231
REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
232
76 'max_z' 'path_module' 'max_z' 1 ((PARAMETER UNKNOWN-INTENT
233
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
234
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '86') () 0 () () () 0 0)
235
77 'maxcyc' 'path_module' 'maxcyc' 1 ((VARIABLE UNKNOWN-INTENT
236
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
237
0 () () () 0 0)
238
78 'maxfroz' 'path_module' 'maxfroz' 1 ((PARAMETER UNKNOWN-INTENT
239
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
240
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '100') () 0 () () () 0 0)
241
79 'mw' 'path_module' 'mw' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
242
UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0
243
0)
244
80 'nat' 'path_module' 'nat' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
245
UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 0 () () () 0
246
0)
247
81 'ncart' 'path_module' 'ncart' 1 ((VARIABLE UNKNOWN-INTENT
248
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
249
0 () () () 0 0)
250
82 'ncoord' 'path_module' 'ncoord' 1 ((VARIABLE UNKNOWN-INTENT
251
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
252
0 () () () 0 0)
253
83 'nfroz' 'path_module' 'nfroz' 1 ((VARIABLE UNKNOWN-INTENT
254
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
255
0 () () () 0 0)
256
84 'ngeomf' 'path_module' 'ngeomf' 1 ((VARIABLE UNKNOWN-INTENT
257
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
258
0 () () () 0 0)
259
85 'ngeomi' 'path_module' 'ngeomi' 1 ((VARIABLE UNKNOWN-INTENT
260
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
261
0 () () () 0 0)
262
86 'ngintmax' 'path_module' 'ngintmax' 1 ((VARIABLE UNKNOWN-INTENT
263
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
264
0 () () () 0 0)
265
87 'nmaxl' 'path_module' 'nmaxl' 1 ((PARAMETER UNKNOWN-INTENT
266
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
267
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '21') () 0 () () () 0 0)
268
88 'nmaxptpath' 'path_module' 'nmaxptpath' 1 ((VARIABLE UNKNOWN-INTENT
269
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
270
0 () () () 0 0)
271
89 'nom' 'path_module' 'nom' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
272
UNKNOWN EXPLICIT-SAVE DIMENSION) (CHARACTER 1 0 0 CHARACTER ((CONSTANT (
273
INTEGER 4 0 0 INTEGER ()) 0 '2'))) 0 0 () (1 EXPLICIT (CONSTANT (
274
INTEGER 4 0 0 INTEGER ()) 0 '0') (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0
275
'86')) 0 () () () 0 0)
276
90 'nprim' 'path_module' 'nprim' 1 ((VARIABLE UNKNOWN-INTENT
277
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
278
0 () () () 0 0)
279
91 'optgeom' 'path_module' 'optgeom' 1 ((VARIABLE UNKNOWN-INTENT
280
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () ()
281
0 () () () 0 0)
282
92 'optprod' 'path_module' 'optprod' 1 ((VARIABLE UNKNOWN-INTENT
283
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
284
0 () () () 0 0)
285
93 'optreac' 'path_module' 'optreac' 1 ((VARIABLE UNKNOWN-INTENT
286
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
287
0 () () () 0 0)
288
94 'order' 'path_module' 'order' 1 ((VARIABLE UNKNOWN-INTENT
289
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (INTEGER 4 0 0
290
INTEGER ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
291
95 'orderinv' 'path_module' 'orderinv' 1 ((VARIABLE UNKNOWN-INTENT
292
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (INTEGER 4 0 0
293
INTEGER ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
294
96 'path_module' 'path_module' 'path_module' 1 ((MODULE UNKNOWN-INTENT
295
UNKNOWN-PROC UNKNOWN UNKNOWN) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 ()
296
() () 0 0)
297
97 'pathonly' 'path_module' 'pathonly' 1 ((VARIABLE UNKNOWN-INTENT
298
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
299
0 () () () 0 0)
300
98 'pi' 'path_module' 'pi' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
301
UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
302
99 'prog' 'path_module' 'prog' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
303
UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((CONSTANT (INTEGER 4
304
0 0 INTEGER ()) 0 '32'))) 0 0 () () 0 () () () 0 0)
305
100 'progexe' 'path_module' 'progexe' 1 ((VARIABLE UNKNOWN-INTENT
306
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
307
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '256'))) 0 0 () () 0 () () () 0 0)
308
101 'r_cov' 'path_module' 'r_cov' 1 ((VARIABLE UNKNOWN-INTENT
309
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
310
(1 EXPLICIT (CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '0') (CONSTANT (
311
INTEGER 4 0 0 INTEGER ()) 0 '86')) 0 () () () 0 0)
312
102 'renum' 'path_module' 'renum' 1 ((VARIABLE UNKNOWN-INTENT
313
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () ()
314
0 () () () 0 0)
315
103 'scancoord' 'path_module' 'scancoord' 1 ((VARIABLE UNKNOWN-INTENT
316
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE POINTER) (DERIVED 23 0 0 DERIVED ())
317
0 0 () () 0 () () () 0 0)
318
104 'schars' 'vartypes' 'schars' 1 ((PARAMETER UNKNOWN-INTENT
319
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
320
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32') () 0 () () () 0 0)
321
105 'sgeom' 'path_module' 'sgeom' 1 ((VARIABLE UNKNOWN-INTENT
322
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
323
REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
324
106 'smax' 'path_module' 'smax' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
325
UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 () () () 0 0)
326
107 'step_method' 'path_module' 'step_method' 1 ((VARIABLE
327
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0
328
CHARACTER ((CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32'))) 0 0 () () 0 ()
329
() () 0 0)
330
108 'sthresh' 'path_module' 'sthresh' 1 ((VARIABLE UNKNOWN-INTENT
331
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
332
() () 0 0)
333
109 'sthreshrms' 'path_module' 'sthreshrms' 1 ((VARIABLE UNKNOWN-INTENT
334
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () () 0 ()
335
() () 0 0)
336
110 'symmetry_elimination' 'path_module' 'symmetry_elimination' 1 ((
337
VARIABLE UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (INTEGER 4 0
338
0 INTEGER ()) 0 0 () () 0 () () () 0 0)
339
111 'umat' 'path_module' 'umat' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
340
UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0 REAL ()) 0 0 ()
341
(2 DEFERRED () () () ()) 0 () () () 0 0)
342
112 'umat_local' 'path_module' 'umat_local' 1 ((VARIABLE UNKNOWN-INTENT
343
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
344
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
345
113 'umatf' 'path_module' 'umatf' 1 ((VARIABLE UNKNOWN-INTENT
346
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
347
REAL ()) 0 0 () (3 DEFERRED () () () () () ()) 0 () () () 0 0)
348
114 'unit' 'path_module' 'unit' 1 ((PARAMETER UNKNOWN-INTENT
349
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (REAL 8 0 0 REAL ()) 0 0 () (
350
CONSTANT (REAL 8 0 0 REAL ()) 0 '0.1e3c515175905d@1') () 0 () () () 0 0)
351
115 'v_direct' 'path_module' 'v_direct' 1 ((VARIABLE UNKNOWN-INTENT
352
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE) (CHARACTER 1 0 0 CHARACTER ((
353
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '132'))) 0 0 () () 0 () () () 0 0)
354
116 'vartypes' 'vartypes' 'vartypes' 1 ((MODULE UNKNOWN-INTENT
355
UNKNOWN-PROC UNKNOWN UNKNOWN) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 ()
356
() () 0 0)
357
117 'vfree' 'path_module' 'vfree' 1 ((VARIABLE UNKNOWN-INTENT
358
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
359
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
360
118 'vlchars' 'vartypes' 'vlchars' 1 ((PARAMETER UNKNOWN-INTENT
361
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
362
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '256') () 0 () () () 0 0)
363
119 'vmd' 'path_module' 'vmd' 1 ((VARIABLE UNKNOWN-INTENT UNKNOWN-PROC
364
UNKNOWN EXPLICIT-SAVE) (LOGICAL 4 0 0 LOGICAL ()) 0 0 () () 0 () () () 0
365
0)
366
120 'x0_vasp' 'path_module' 'x0_vasp' 1 ((VARIABLE UNKNOWN-INTENT
367
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
368
REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
369
121 'xprimitive' 'path_module' 'xprimitive' 1 ((VARIABLE UNKNOWN-INTENT
370
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
371
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
372
122 'xprimitive_t' 'path_module' 'xprimitive_t' 1 ((VARIABLE
373
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION)
374
(REAL 8 0 0 REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
375
123 'xprimitivef' 'path_module' 'xprimitivef' 1 ((VARIABLE
376
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION)
377
(REAL 8 0 0 REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
378
124 'xyzgeomf' 'path_module' 'xyzgeomf' 1 ((VARIABLE UNKNOWN-INTENT
379
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
380
REAL ()) 0 0 () (3 DEFERRED () () () () () ()) 0 () () () 0 0)
381
125 'xyzgeomi' 'path_module' 'xyzgeomi' 1 ((VARIABLE UNKNOWN-INTENT
382
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION TARGET) (REAL 8
383
0 0 REAL ()) 0 0 () (3 DEFERRED () () () () () ()) 0 () () () 0 0)
384
126 'xyztangent' 'path_module' 'xyztangent' 1 ((VARIABLE UNKNOWN-INTENT
385
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
386
REAL ()) 0 0 () (2 DEFERRED () () () ()) 0 () () () 0 0)
387
127 'y0_vasp' 'path_module' 'y0_vasp' 1 ((VARIABLE UNKNOWN-INTENT
388
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
389
REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
390
128 'z0_vasp' 'path_module' 'z0_vasp' 1 ((VARIABLE UNKNOWN-INTENT
391
UNKNOWN-PROC UNKNOWN EXPLICIT-SAVE ALLOCATABLE DIMENSION) (REAL 8 0 0
392
REAL ()) 0 0 () (1 DEFERRED () ()) 0 () () () 0 0)
393
)
394

  
395
('__convert_r4_r8' 0 2 'a0' 0 3 'align' 0 4 'atname' 0 5 'atome' 0 6
396
'au2kcal' 0 7 'autocart' 0 8 'bbt' 0 9 'bbt_inv' 0 10 'bmat_bakert' 0 11
397
'bohr' 0 12 'boxtol' 0 13 'bprimt' 0 14 'btransinv' 0 15 'btransinv_local'
398
0 16 'btransinvf' 0 17 'calceprod' 0 18 'calcereac' 0 19 'cart' 0 20
399
'coord' 0 21 'coordinate' 0 22 'currentcoord' 0 24 'dynmaxstep' 0 25
400
'dzdc' 0 26 'energies' 0 27 'fact' 0 28 'falign' 0 29
401
'firsttimepathcreate' 0 30 'freq' 0 31 'frot' 0 32 'frozatoms' 0 33
402
'frozen' 0 34 'froztol' 0 35 'ftan' 0 36 'geomold' 0 37 'geomold_all' 0
403
38 'grad' 0 39 'gthresh' 0 40 'gthreshrms' 0 41 'hess' 0 42 'hesupd' 0
404
43 'hinv' 0 44 'hupdate' 0 45 'hupneighbour' 0 46 'igeomref' 0 47
405
'indzmat' 0 48 'inihup' 0 49 'intcoordf' 0 50 'intcoordi' 0 51 'intfroz'
406
0 52 'inttangent' 0 53 'ireparam' 0 54 'ireparamt' 0 55 'ispline' 0 56
407
'kind' 0 57 'kint' 0 58 'kreal' 0 59 'lat_a' 0 60 'lat_b' 0 61 'lat_c' 0
408
62 'latr' 0 63 'lchars' 0 64 'linear' 0 65 'listcoord' 0 23 'mass' 0 74
409
'massat' 0 75 'max_z' 0 76 'maxcyc' 0 77 'maxfroz' 0 78 'mw' 0 79 'nat'
410
0 80 'ncart' 0 81 'ncoord' 0 82 'nfroz' 0 83 'ngeomf' 0 84 'ngeomi' 0 85
411
'ngintmax' 0 86 'nmaxl' 0 87 'nmaxptpath' 0 88 'nom' 0 89 'nprim' 0 90
412
'optgeom' 0 91 'optprod' 0 92 'optreac' 0 93 'order' 0 94 'orderinv' 0
413
95 'path_module' 0 96 'pathonly' 0 97 'pi' 0 98 'prog' 0 99 'progexe' 0
414
100 'r_cov' 0 101 'renum' 0 102 'scancoord' 0 103 'schars' 0 104 'sgeom'
415
0 105 'smax' 0 106 'step_method' 0 107 'sthresh' 0 108 'sthreshrms' 0
416
109 'symmetry_elimination' 0 110 'umat' 0 111 'umat_local' 0 112 'umatf'
417
0 113 'unit' 0 114 'v_direct' 0 115 'vartypes' 0 116 'vfree' 0 117
418
'vlchars' 0 118 'vmd' 0 119 'x0_vasp' 0 120 'xprimitive' 0 121
419
'xprimitive_t' 0 122 'xprimitivef' 0 123 'xyzgeomf' 0 124 'xyzgeomi' 0
420
125 'xyztangent' 0 126 'y0_vasp' 0 127 'z0_vasp' 0 128)
src/vartypes.mod (revision 5)
1
GFORTRAN module version '0' created from VarTypes.f90 on Tue Aug  2 18:02:33 2011
2
MD5:05f4a6735f8189609d124c8ed29e5470 -- If you edit this, you'll get what you deserve.
3

  
4
(() () () () () () () () () () () () () () () () () () () () () () () ()
5
() () ())
6

  
7
()
8

  
9
()
10

  
11
()
12

  
13
()
14

  
15
(2 'kind' '(intrinsic)' 'kind' 1 ((PROCEDURE UNKNOWN-INTENT UNKNOWN-PROC
16
UNKNOWN UNKNOWN FUNCTION) (INTEGER 4 0 0 INTEGER ()) 0 0 () () 2 () () ()
17
0 0)
18
3 'kint' 'vartypes' 'kint' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
19
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
20
INTEGER 4 0 0 INTEGER ()) 0 '4') () 0 () () () 0 0)
21
4 'kreal' 'vartypes' 'kreal' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
22
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
23
INTEGER 4 0 0 INTEGER ()) 0 '8') () 0 () () () 0 0)
24
5 'lchars' 'vartypes' 'lchars' 1 ((PARAMETER UNKNOWN-INTENT UNKNOWN-PROC
25
UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (CONSTANT (
26
INTEGER 4 0 0 INTEGER ()) 0 '132') () 0 () () () 0 0)
27
6 'listcoord' 'vartypes' 'listcoord' 1 ((DERIVED UNKNOWN-INTENT
28
UNKNOWN-PROC UNKNOWN UNKNOWN POINTER_COMP) (UNKNOWN 0 0 0 UNKNOWN ()) 0
29
0 () () 0 ((7 'type' (CHARACTER 1 0 0 CHARACTER ((CONSTANT (INTEGER 4 0
30
0 INTEGER ()) 0 '32'))) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC
31
UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (8 'at1' (INTEGER 4 0 0 INTEGER ())
32
() (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN)
33
UNKNOWN-ACCESS ()) (9 'at2' (INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL
34
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (10 'at3'
35
(INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC
36
UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (11 'at4' (INTEGER 4 0 0 INTEGER ())
37
() (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN)
38
UNKNOWN-ACCESS ()) (12 'value' (REAL 8 0 0 REAL ()) () (UNKNOWN-FL
39
UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (13
40
'signdihedral' (INTEGER 4 0 0 INTEGER ()) () (UNKNOWN-FL UNKNOWN-INTENT
41
UNKNOWN-PROC UNKNOWN UNKNOWN) UNKNOWN-ACCESS ()) (14 'next' (DERIVED 6 0
42
0 DERIVED ()) () (UNKNOWN-FL UNKNOWN-INTENT UNKNOWN-PROC UNKNOWN UNKNOWN
43
POINTER) UNKNOWN-ACCESS ())) PUBLIC (() ()) () 0 0)
44
15 'schars' 'vartypes' 'schars' 1 ((PARAMETER UNKNOWN-INTENT
45
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
46
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '32') () 0 () () () 0 0)
47
16 'vartypes' 'vartypes' 'vartypes' 1 ((MODULE UNKNOWN-INTENT
48
UNKNOWN-PROC UNKNOWN UNKNOWN) (UNKNOWN 0 0 0 UNKNOWN ()) 0 0 () () 0 ()
49
() () 0 0)
50
17 'vlchars' 'vartypes' 'vlchars' 1 ((PARAMETER UNKNOWN-INTENT
51
UNKNOWN-PROC UNKNOWN IMPLICIT-SAVE) (INTEGER 4 0 0 INTEGER ()) 0 0 () (
52
CONSTANT (INTEGER 4 0 0 INTEGER ()) 0 '256') () 0 () () () 0 0)
53
)
54

  
55
('kind' 0 2 'kint' 0 3 'kreal' 0 4 'lchars' 0 5 'listcoord' 0 6 'schars'
56
0 15 'vartypes' 0 16 'vlchars' 0 17)
src/err (revision 5)
1
Egrad.f90:41.27:
2

  
3
  CHARACTER(LCHARS) :: LINE
4
                           1
5
Warning: Unused variable 'line' declared at (1)
src/ReadGeom_siesta.f90 (revision 5)
1
SUBROUTINE ReadGeom_siesta
2
! We read geometries given in siesta format
3
! Here we just read the equivalent of %block AtomicCoordinatesAndAtomicsLabel
4
! i.e. x,y,z,species
5
! we know nothing about:
6
! - the format and units
7
! - the significations of species
8

  
9
  Use Path_module
10
  Use Io_module
11

  
12
  IMPLICIT NONE
13

  
14
  INTEGER(KINT) :: I, J
15
  LOGICAL :: Debug
16

  
17

  
18
  INTERFACE
19
     function valid(string) result (isValid)
20
       CHARACTER(*), intent(in) :: string
21
       logical                  :: isValid
22
     END function VALID
23
  END INTERFACE
24

  
25
  debug=valid('Read_geom').or.valid('ReadGeom_siesta')
26

  
27
 if (debug) Call Header("Entering ReadGeom_siesta")
28

  
29
 IF (.NOT.ALLOCATED(IdxSpecies)) ALLOCATE(IdxSpecies(NAt))
30

  
31
     DO I=1,NGeomI
32
        IF (DEBUG) WRITE(*,*) "Reading Geom :",I
33

  
34
        DO J=1,NAt
35
           READ(IOIN,*) XyzGeomI(I,1:3,J),IdxSpecies(J)
36
        END DO
37

  
38
        If (Debug) THEN
39
           WRITE(*,*) "Geom ",I
40
           DO J=1,NAt
41
              WRITE(*,'(1X,3(1X,F15.6),1X,I5)') XyzGeomI(I,1:3,J),IdxSpecies(J)
42
           END DO
43
        END IF
44
     END DO
45

  
46
  if (debug) Call Header("Exiting ReadGeom_siesta")
47

  
48
END SUBROUTINE ReadGeom_siesta
src/CleanString.f90 (revision 5)
1

  
2
    SUBROUTINE CleanString(String,CleanStr)
3
! This subroutine cleans a string, that is: it removes some characters
4
! from it that are in CleanString input variable
5

  
6
      Use VarTypes
7

  
8
      IMPLICIT NONE
9

  
10
! Input Variables
11
      CHARACTER(*), INTENT(INOUT) :: String
12
      CHARACTER(*), INTENT(IN) :: CleanStr
13

  
14
      INTEGER(KINT) :: I,J
15
      
16

  
17
      I=Scan(String,CleanStr)
18
      DO WHILE (I/=0)
19
         String=String(1:I-1) // String (I+1:)
20
         I=Scan(String,CleanStr)
21
      END DO
22

  
23
    END SUBROUTINE CleanString
src/Opt_Geom.f90 (revision 5)
1
! This subroutine optimizes a geometry. It is mainly here for  debugging purposes..
2
! It has been designed to be almost independent of the rest of the code.
1
! This subroutine optimizes a geometry. 
2
! Initially, it was mainly here for  debugging purposes..
3
!so  It has been designed to be almost independent of the rest of the code.
4
! It is now an (almost) officiel option.
3 5

  
4 6
 SUBROUTINE Opt_geom(IGeom,Nat,NCoord,Coord,Geom,E,Flag_Opt_Geom,Step_method)
5 7

  
8
  use VarTypes
6 9
  use Path_module, only : maxcyc,sthresh,gthresh,Hinv,Smax,Nom,Atome,OrderInv,indzmat,&
7 10
                                            XyzGeomF,IntCoordF,UMat,ScanCoord,Coordinate,NPrim,&
8 11
                                            BTransInv,BTransInv_local,XyzGeomI,Xprimitive_t,ScanCoord,&
9
                                            Coordinate,Pi,UMat_local,NCart
10
  use VarTypes
12
                                            Coordinate,Pi,UMat_local,NCart, DynMaxStep,FPrintGeom,GeomFile, AtName,Renum,Order
13
  use Io_module, only : IoGeom
14

  
11 15
  IMPLICIT NONE
12 16

  
13 17
  INTEGER(KINT), INTENT(IN) :: Nat,NCoord,IGeom
......
17 21
  REAL(KREAL), INTENT(OUT) :: E
18 22
  LOGICAL, INTENT(IN) :: Flag_Opt_Geom
19 23

  
20
! As this subroutine is here for debugging, debug=T !
21
  LOGICAL  :: debug
22
  LOGICAL :: Fini
23
  LOGICAL, SAVE :: FRST=.TRUE.
24 24

  
25
! Variables
26
  INTEGER(KINT) :: IOpt, I,J,Iat, IBEG
27
  REAL(KREAL), ALLOCATABLE :: GradTmp(:),ZeroVec(:) ! 3*Nat or 3*Nat-6
28
  REAL(KREAL), ALLOCATABLE :: GeomOld(:),GradOld(:) ! (3*Nat or 3*Nat-6)
29
  REAL(KREAL), ALLOCATABLE :: GeomRef(:) ! (3*Nat or 3*Nat-6)
30
  REAL(KREAL), ALLOCATABLE :: GeomTmp2(:),GradTmp2(:) ! 3*Nat or 3*Nat-6
31
  REAL(KREAL), ALLOCATABLE :: Hess_local(:,:)
32
  REAL(KREAL), ALLOCATABLE :: GeomCart(:,:) !(Nat,3)
33
  REAL(KREAL), ALLOCATABLE :: GeomCart_old(:,:) !(Nat,3)
34
  REAL(KREAL), ALLOCATABLE :: Hprim(:,:) !(NPrim,NPrim)
35
  REAL(KREAL), ALLOCATABLE :: HprimU(:,:) !(NPrim,3*Nat-6))
36
  REAL(KREAL), ALLOCATABLE :: NewGeom(:) !NCoord=3*Nat-6
37
  REAL(KREAL), ALLOCATABLE :: NewGradTmp(:)
38
  REAL(KREAL), ALLOCATABLE :: Hess_local_inv(:,:) ! used in diis
39
  REAL(KREAL) :: NormStep, FactStep, HP
40

  
41 25
  INTERFACE
42 26
     function valid(string) result (isValid)
43 27
       CHARACTER(*), intent(in) :: string
......
85 69

  
86 70
  END INTERFACE
87 71

  
72

  
73
  LOGICAL  :: debug
74
  LOGICAL :: Fini
75
  LOGICAL, SAVE :: FRST=.TRUE.
76

  
77
! Variables
78
  INTEGER(KINT) :: IOpt, I,J,Iat, IBEG
79
  REAL(KREAL), ALLOCATABLE :: GradTmp(:),ZeroVec(:) ! 3*Nat or 3*Nat-6
80
  REAL(KREAL), ALLOCATABLE :: GeomOld(:),GradOld(:) ! (3*Nat or 3*Nat-6)
81
  REAL(KREAL), ALLOCATABLE :: GeomRef(:) ! (3*Nat or 3*Nat-6)
82
  REAL(KREAL), ALLOCATABLE :: GeomTmp2(:),GradTmp2(:) ! 3*Nat or 3*Nat-6
83
  REAL(KREAL), ALLOCATABLE :: Hess_local(:,:)
84
  REAL(KREAL), ALLOCATABLE :: GeomCart(:,:) !(Nat,3)
85
  REAL(KREAL), ALLOCATABLE :: GeomCart_old(:,:) !(Nat,3)
86
  REAL(KREAL), ALLOCATABLE :: Hprim(:,:) !(NPrim,NPrim)
87
  REAL(KREAL), ALLOCATABLE :: HprimU(:,:) !(NPrim,3*Nat-6))
88
  REAL(KREAL), ALLOCATABLE :: NewGeom(:) !NCoord=3*Nat-6
89
  REAL(KREAL), ALLOCATABLE :: NewGradTmp(:)
90
  REAL(KREAL), ALLOCATABLE :: Hess_local_inv(:,:) ! used in diis
91
  REAL(KREAL) :: NormStep, FactStep, HP, MaxStep
92
  REAL(KREAL) :: Eold  
93

  
88 94
  debug=valid('OptGeom')
89 95

  
90 96
    E=0.
97
    Eold=0.
98
    MaxStep=SMax
91 99

  
92 100
    if (debug) Call Header("Entering Geom Optimization")
93 101

  
......
95 103
     ALLOCATE(GradOld(NCoord),GeomOld(NCoord),ZeroVec(NCoord))
96 104
     ALLOCATE(GeomRef(NCoord))
97 105
     ALLOCATE(Hess_local(NCoord,NCoord))
98
        ALLOCATE(GeomCart(Nat,3),GeomCart_old(Nat,3))
99
        ALLOCATE(NewGeom(NCoord))
100
         ALLOCATE(NewGradTmp(NCoord))
101
        ALLOCATE(Hess_local_inv(NCoord,NCoord))
106
     ALLOCATE(GeomCart(Nat,3),GeomCart_old(Nat,3))
107
     ALLOCATE(NewGeom(NCoord))
108
     ALLOCATE(NewGradTmp(NCoord))
109
     ALLOCATE(Hess_local_inv(NCoord,NCoord))
102 110
        
103 111
     IOpt=0
104 112
     ZeroVec=0.d0
......
212 220
        CASE DEFAULT
213 221
        WRITE (*,*) "Coord=",TRIM(COORD)," not recognized, opt_Geom.f90, L164. Stop"
214 222
        STOP
215
     END SELECT       
223
     END SELECT
216 224

  
217 225
     ! Go to optimization
218
        GeomOld=0.d0 ! Internal coordinates
219
        GeomCart_old=0.d0 ! Cartesian coordinates
226
     GeomOld=0.d0 ! Internal coordinates
227
     GeomCart_old=0.d0 ! Cartesian coordinates
220 228

  
229
     IF (FPrintGeom) THEN
230
        OPEN(IOGeom,File=GeomFile)
231
     END IF
232

  
221 233
     Fini=.FALSE.
222 234
     DO WHILE ((IOpt.LT.MaxCyc).AND.(.NOT.Fini))
223 235
        IOpt=IOpt+1
......
251 263
           WRITE(*,*) "Energy and Coordinates:"
252 264
           WRITE(*,'(F12.6,12(1X,F8.3))') E,Geom(1:min(NCoord,12))
253 265
           WRITE(*,*) "Geom Old:"
254
           WRITE(*,'(F12.6,12(1X,F8.3))') GEomOld(1:min(NCoord,13))
255
           END IF
266
           WRITE(*,'(F12.6,12(1X,F8.3))') GEomOld(1:min(NCoord,12))
267
           WRITE(*,*) "Grad:"
268
           WRITE(*,'(F12.6,12(1X,F8.3))') GradTmp(1:min(NCoord,12))
269
        END IF
256 270

  
257
     IF (IOpt.GE.2) THEN
271
        IF (FPrintGeom) THEN
272
           WRITE(IoGeom,*) Nat
273
           WRITE(IoGeom,"(' Geom. ',I5,' Energy= ',F15.6)") IOpt, E
274

  
275
           DO I=1,Nat
276
              If (renum) THEN
277
                 Iat=Order(I)
278
                 WRITE(IoGeom,'(1X,A10,3(1X,F15.8),5X,3(1X,F15.8))') Trim(AtName(I)),GeomCart(Iat,:),GradTmp(3*Iat-2:3*Iat)
279
              ELSE
280
                 Iat=OrderInv(I)
281
                 WRITE(IoGeom,'(1X,A10,3(1X,F15.8),5X,3(1X,F15.8))') Trim(AtName(Iat)),GeomCart(I,:),GradTmp(3*I-2:3*I)
282
              END IF
283
           END DO
284
        END IF
285

  
286
        IF (IOpt.GE.2) THEN
258 287
        ! We have enough geometries and gradient to update the hessian (or its 
259 288
        ! inverse)
260 289
        GradTmp2=GradTmp-GradOld
......
313 342
        !   If (IOpt.LT.5) GradTmp=(IOpt*GradTmp+(5-IOpt)*0.01*Grad(IGeom,:))/5.d0
314 343
        NormStep=sqrt(DOT_Product(GradTmp,GradTmp))
315 344
              WRITE(*,'(A,E10.4,1X,A,E10.4)') 'DBG OptGeom L215, NormStep=', NormStep, 'Step Threshold=', SThresh
316
        FactStep=min(1.d0,SMax/NormStep)
345
        FactStep=min(1.d0,MaxStep/NormStep)
317 346
        Fini=(NormStep.LE.SThresh)
318 347
        NormStep=sqrt(DOT_Product(GradOld,GradOld)) ! GradOld is the value of gradients.
319 348
              WRITE(*,'(A,E10.4,1X,A,E10.4)') 'DBG OptGeom L219, NormStep (Gradient)=', NormStep, 'Gradient Threshold=', GThresh
......
321 350
        if (debug) WRITE(*,*) "DBG OptGeom FactStep=",FactStep
322 351
        GradTmp=GradTmp*FactStep ! GradTmp is step size here, from Step_RFO_all.
323 352

  
353

  
354
        if (DynMaxStep.AND.(IOpt>1)) THEN
355
           If (E<EOld) Then
356
              MaxStep=min(1.1*MaxStep,2.*SMax)
357
           ELSE
358
              MaxStep=max(0.8*MaxStep,SMax/2.)
359
           END IF
360
           if (debug) WRITE(*,*) "Dynamically updated  Maximum step in Opt_Geom:",MaxStep,MaxStep/SMax
361

  
362
        END IF
363

  
324 364
        Call Check_step(Coord,Nat,NCoord,GeomOld,GradTmp)
325 365
       
326 366
        Geom=GeomOld+GradTmp ! GradTmp is step size here, from Step_RFO_all.
327 367

  
368
        EOld=E
369

  
328 370
        IF (debug) THEN
329 371
           WRITE(*,*) "L235, DBG OptGeom, IGeom=",IGeom," IOpt=", IOpt
330 372
           SELECT CASE (COORD)
......
390 432
     IF (Fini) THEN
391 433
        WRITE(*,'(1X,A,I5,A,I5,A,F15.8)') "Optimization for geom ",IGeom," converged in ",Iopt," cycles, Energy =",E
392 434
     ELSE
393
        WRITE(*,'(1X,A,I5,A,I5,A,F15.8)') "Optimization  for geom ",IGeom,"*NOT* converged in ",Iopt," cycles, Last Energy = ",E
435
        WRITE(*,'(1X,A,I5,A,I5,A,F15.8)') "Optimization  for geom ",IGeom," *NOT* converged in ",Iopt," cycles, Last Energy = ",E
394 436
     END IF
395 437
                
396 438
        WRITE(*,*) "Initial Geometry:"
src/ReadInput_mopac.f90 (revision 5)
1
 SUBROUTINE ReadInput_Mopac
2

  
3
! This routine reads an input template for MOPAC
4

  
5
  use VarTypes
6
  use Path_module
7
  use Io_module
8

  
9
  IMPLICIT NONE
10

  
11
  INTERFACE
12
     function valid(string) result (isValid)
13
       CHARACTER(*), intent(in) :: string
14
       logical                  :: isValid
15
     END function VALID
16
  END INTERFACE
17

  
18

  
19
  CHARACTER(132) ::  Line,Line2
20
  INTEGER(KINT) :: LineL, Idx, NTmp
21
  
22
  LOGICAL :: Debug
23

  
24

  
25
  Debug=Valid("readinput").OR.Valid("readinput_mopac")
26

  
27
  if (debug) Call Header("Entering ReadInput_mopac")
28

  
29
! The structure is:
30
! A MOPAC data set normally consists of one line of keywords, two lines of user-defined text, then the coordinates
31
! Then  a blank line or a line of 0.
32
! then the symmetry description.
33
! comment lines start with * and can be anywhere !!!
34

  
35
  ! First, the root
36
  IF (DEBUG) WRITE(*,*) "Reading Mopac input"
37
  ALLOCATE(Mopac_Root)
38
  NULLIFY(Mopac_Root%next)
39
  ALLOCATE(Mopac_Comment)
40
  NULLIFY(Mopac_Comment%next)
41
  ALLOCATE(Mopac_End)
42
  NuLLIFY(Mopac_End%Next)
43
  Current => Mopac_root
44
  CurCom => Mopac_Comment
45
  LineL=1
46
  NTmp=0
47
  DO WHILE (NTmp.LT.3)
48
     READ(IOIN,'(A)') Line
49
     Line=AdjustL(Line)
50
     LineL=len(Trim(Line))
51
     IF (Line(1:1)/="*") THEN
52
        IF (NTmp==0) THEN
53
           Line2=Line
54
           Call UpCase(Line2)
55
           Idx=Index(Line2,'GRADIENTS')
56
           If (Idx==0) Line=TRIM(Line) // " GRADIENTS"
57
           Idx=Index(Line2,'1SCF')
58
           If (Idx==0) Line=TRIM(Line) // " 1SCF"
59
        END IF
60
        current%Line=TRIM(Line)
61
        ALLOCATE(current%next)
62
        Current => Current%next
63
        Nullify(Current%next)
64
        NTmp=NTmp+1
65
     ELSE
66
        CurCom%Line=TRIM(LINE)
67
        ALLOCATE(CurCom%Next)
68
        CurCom => CurCom%Next
69
        NULLIFY(CurCom%Next)
70
     END IF
71
  END DO
72

  
73
!     Current => Mopac_root
74
!     DO WHILE (ASSOCIATED(Current%next))
75
!        WRITE(*,'(1X,A)') Trim(current%line)
76
!        Current => current%next
77
!     END DO
78

  
79
! Now the geometry... that we just skip :)
80
  IF (DEBUG) WRITE(*,*) "Reading Mopac Geometry"
81
  Mopac_EndGeom=""
82
  LineL=1
83
  DO WHILE (LineL.NE.0)
84
     READ(IOIN,'(A)',END=989) Line
85
     Line=AdjustL(Line)
86
     LineL=len(Trim(Line))
87
     ! The last line might be either blank or filled with 0
88
     IF (Line(1:1)=="0") THEN
89
        LineL=0
90
        Mopac_EndGeom=Trim(Line)
91
     END IF
92
     IF (Line(1:1)=="*") THEN
93
        CurCom%Line=TRIM(LINE)
94
        ALLOCATE(CurCom%Next)
95
        CurCom => CurCom%Next
96
        NULLIFY(CurCom%Next)
97
     END IF
98
  END DO
99

  
100
! If we are here, there might be something else to read: Mopac_end
101

  
102
  ! We now read the last part
103
  IF (DEBUG) WRITE(*,*) "Reading Mopac End"
104
  !     READ(IOIN,'(A)') Line
105
  Current => Mopac_End
106
  LineL=1
107
  DO WHILE (1.EQ.1)
108
     READ(IOIN,'(A)',END=989) Line
109
     Line=AdjustL(Line)
110
     LineL=len(Trim(Line))
111
     IF (Line(1:1)/="*") THEN
112
        current%Line=TRIM(Line)
113
        ALLOCATE(current%next)
114
        Current => Current%next
115
        Nullify(Current%next)
116
        NTmp=NTmp+1
117
     ELSE
118
        CurCom%Line=TRIM(LINE)
119
        ALLOCATE(CurCom%Next)
120
        CurCom => CurCom%Next
121
        NULLIFY(CurCom%Next)
122
        END IF
123
     END DO
124
989  CONTINUE
125

  
126
  if (debug) Call Header("Exiting ReadInput_mopac")
127

  
128
END SUBROUTINE READINPUT_Mopac
src/ReadGeom_turbomole.f90 (revision 5)
1
SUBROUTINE ReadGeom_turbomole
2

  
3
  Use Path_module
4
  Use Io_module
5

  
6
  IMPLICIT NONE
7

  
8
  CHARACTER(132) :: Line
9

  
10
  INTEGER(KINT) :: I, J, JStart
11

  
12
  LOGICAL :: Debug
13

  
14
  INTERFACE
15
     function valid(string) result (isValid)
16
       CHARACTER(*), intent(in) :: string
17
       logical                  :: isValid
18
     END function VALID
19
  END INTERFACE
20

  
21
  debug=valid('Read_geom').or.Valid('readgeom_turbomole')
22

  
23
 if (debug) Call Header("Entering ReadGeom_Turbomole")
24

  
25
  if (debug) WRITE(*,*) "NgeomI:",NGeomI
26

  
27
     DO I=1,NGeomI
28
        IF (DEBUG) WRITE(*,*) "Reading Geom :",I
29
        JStart=1
30
! read the $coord line, or $user-defined, or $end
31
        Line='$ok'
32
        DO WHILE (Line(1:1).EQ."$")
33
           READ(IOIN,'(A)') Line 
34
           Line=AdjustL(Line)
35
        END DO
36
        J=1
37
        READ(Line,*) XyzGeomI(I,1:3,J),AtName(J)
38
        DO J=2,NAt
39
           READ(IOIN,*) XyzGeomI(I,1:3,J),AtName(J)
40
        END DO
41
        XyzGeomI(I,:,:)= XyzGeomI(I,:,:)*a0
42
        If (Debug) THEN
43
           WRITE(*,*) "Geom ",I
44
           DO J=1,NAt
45
              WRITE(*,'(1X,A2,3(1X,F15.6))') AtName(J),XyzGeomI(I,1:3,J)
46
           END DO
47
        END IF
48
     END DO
49

  
50
 if (debug) Call Header("Exiting ReadGeom_turbomole")
51

  
52
END SUBROUTINE ReadGeom_turbomole
src/ReadGeom_vasp.f90 (revision 5)
1
SUBROUTINE ReadGeom_vasp
2

  
3
  Use Path_module
4
  Use Io_module
5

  
6
  IMPLICIT NONE
7

  
8

  
9
  CHARACTER(132) :: LineTmp,Line
10

  
11
  INTEGER(KINT), ALLOCATABLE :: NbAtType(:) !na
12
  INTEGER(KINT) :: NbType, NbTypeUser
13
  INTEGER(KINT) :: I, J, Iat, NAtP, Idx
14
  INTEGER(KINT) :: IGeom
15
  REAL(KREAL) :: Xt,Yt,Zt
16
  LOGICAL :: Debug, TChk
17
  CHARACTER(4), ALLOCATABLE :: FFFt(:,:) ! 3,Na
18
  LOGICAL, ALLOCATABLE :: FFFl(:,:) ! 3,Na
19

  
20
!!! for VASP inputs
21
! latx_loc used to check that the lattice parameters are the same for all geometries
22
  REAL(KREAL) :: lata_loc(3), latb_loc(3), latc_loc(3)
23
! VaspPar_loc is the local value of the vasp parametre
24
  REAL(KREAL) :: VaspPar_loc
25
! Vdir_loc is used to convert the read geometry to Cartesian.
26
! V_direct is set by the first geometry.
27
  CHARACTER(LCHARS) :: Vdir_loc
28

  
29

  
30
  INTERFACE
31
     function valid(string) result (isValid)
32
       CHARACTER(*), intent(in) :: string
33
       logical                  :: isValid
34
     END function VALID
35
  END INTERFACE
36

  
37
  debug=valid('Read_geom').or.valid('ReadGeom_vasp')
38

  
39
 if (debug) Call Header("Entering ReadGeom_vasp")
40

  
41
     ALLOCATE(FFF(3,nat),FFFl(3,Nat),FFFt(3,Nat))
42
     ! First geometry is a bit special for VASP as we have to set
43
     ! many things
44
     IGeom=1
45
     IF (DEBUG) WRITE(*,*) "Reading Geom :",IGeom
46
     READ(IOIN,'(A)') Vasp_Title
47
     READ(IOIN,*) Vasp_param
48

  
49
     READ(IOIN,*) Lat_a
50
     READ(IOIN,*) Lat_b
51
     READ(IOIN,*) Lat_c
52

  
53
     Lat_a=Lat_a*Vasp_param
54
     Lat_b=Lat_b*Vasp_param
55
     Lat_c=Lat_c*Vasp_param
56

  
57
     ALLOCATE(NbAtType(nat))
58
     READ(IOIN,'(A)') Vasp_types
59
     ! First, how many different types ?
60
     NbAtType=0
61
     READ(Vasp_types,*,END=999) NbAtType
62
999  CONTINUE
63
     NbType=0
64
     NatP=0
65
     DO WHILE (NbAtType(NbType+1).NE.0)
66
        NbType=NbType+1
67
        Natp=Natp+NbAtType(NbType)
68
     END DO
69

  
70

  
71
     if (NAtp.NE.Nat) THEN
72
        WRITE(IOOUT,*) 'WARNING Number of atoms not consistent between NAMELIST &path and First geom'
73
        WRITE(IOOUT,*) "Using:",Natp 
74
        DEALLOCATE(XyzGeomI, AtName)
75
        Nat=Natp 
76
        ALLOCATE(XyzGeomI(NGeomI,3,Nat), AtName(NAt))
77
     END if
78

  
79
     ! Do we know the atom types ?
80
     IF (AtTypes(1).EQ.'  ') THEN
81
        ! user has not provided atom types... we have to find them by ourselves
82
        ! by looking into the POTCAR file...
83
        INQUIRE(File="POTCAR", EXIST=Tchk)
84
        IF (.NOT.Tchk) THEN
85
           WRITE(*,*) "ERROR! No AtTypes provided, and POTCAR file not found"
86
           STOP
87
        END IF
88
        OPEN(IOTMP,File="POTCAR")
89
        DO I=1,NbType
90
           Line='Empty'
91
           DO WHILE (Line(1:5).NE.'TITEL')
92
              READ(IOTMP,'(A)') Line
93
              Line=AdjustL(Line)
94
           END DO
95
           Line=adjustl(Line(9:))
96
           Idx=index(Line," ")
97
           Line=adjustl(Line(Idx+1:))
98
           AtTypes(I)=Line(1:2)
99
        END DO
100
        if (debug) WRITE(*,'(A,100(1X,A2))') "ReadG:VASP AtTypes",AtTypes(1:NbType)
101
        CLOSE(IOTMP)
102

  
103
     ELSE  !AtTypes(1).EQ.'  '
104
        ! user has provided atom types
105
        NbTypeUser=0
106
        DO WHILE (AtTypes(NbTypeUser+1).NE.'  ')
107
           NbTypeUser=NbTypeUser+1
108
        END DO
109
        IF (NbType.NE.NbTypeUser) THEN
110
           WRITE(*,*) "ERROR Read_Geom : NbType in POSCAR do not match AtTypes"
111
           STOP
112
        END IF
113
     END IF
114

  
115
     IAt=1
116
     DO I=1,NbType
117
        DO J=1,NbAtType(I)
118
           AtName(Iat)=AtTypes(I)
119
           Iat=Iat+1
120
        END DO
121
     END DO
122
     DEALLOCATE(NbAtType)
123

  
124
     NbTypes=NbType
125

  
126
     READ(IOIN,'(A)') Vasp_comment
127
     READ(IOIN,'(A)') Vasp_direct
128

  
129
     V_direct=adjustl(Vasp_direct)
130
     Call upcase(V_direct)
131

  
132
     if (debug) WRITE(*,*) "V_direct=",Trim(V_Direct)
133

  
134
     DO I=1,Nat
135
        READ(IOIN,*) XyzGeomI(IGeom,1:3,I),FFF(1:3,I)
136
           DO J=1,3
137
              FFF(J,I)=AdjustL(FFF(J,I))
138
              FFFl(j,i)=(FFF(j,i)(1:1).EQ.'T').OR.(FFF(j,i)(1:1).EQ.'t')
139
           END DO
140

  
141
     END DO
142
     IF (V_direct(1:6).EQ.'DIRECT') THEN
143
        DO I=1,Nat
144
           Xt=XyzGeomI(IGeom,1,I)
145
           Yt=XyzGeomI(IGeom,2,I)
146
           Zt=XyzGeomI(IGeom,3,I)
147
           XyzGeomI(IGeom,1,I)=Xt*lat_a(1)+Yt*lat_b(1)+Zt*lat_c(1)
148
           XyzGeomI(IGeom,2,I)=Xt*lat_a(2)+Yt*lat_b(2)+Zt*lat_c(2)
149
           XyzGeomI(IGeom,3,I)=Xt*lat_a(3)+Yt*lat_b(3)+Zt*lat_c(3)
150
        END DO
151

  
152
     END IF
153

  
154
     ALLOCATE(X0_vasp(Nat),Y0_vasp(Nat),Z0_vasp(Nat))
155
     X0_vasp=XyzGeomI(IGeom,1,:)
156
     Y0_vasp=XyzGeomI(IGeom,2,:)
157
     Z0_vasp=XyzGeomI(IGeom,3,:)
158

  
159
     if (debug)  THEN
160
        WRITE(*,*) Nat
161
        WRITE(*,*) "Geom ",IGeom,"/",NGeomI
162
        DO I=1,Nat
163
           WRITE(*,'(1X,A2,3(1X,F15.6))') AtName(I),XyzGeomI(IGeom,1:3,I)
164
        END DO
165
     END IF
166

  
167

  
168
     DO IGeom=2,NGeomI
169
!!! PFL 16th March 2008 ->
170
! Users might want to use different conditions for different geometries
171
! i.e. to mix Cartesian and Direct :-p
172
! thus we check for each geom which condition is used.
173
! 
174

  
175
! Title
176
        READ(IOIN,*) LineTmp
177
        !        if (debug) WRITE(*,*) "1 LineTmp:",Trim(LineTmp)
178
! Vasp_Param
179
        READ(IOIN,*) VaspPar_loc
180
        !        if (debug) WRITE(*,*) "2 LineTmp:",Trim(LineTmp)
181
! Lattice parameters
182
        READ(IOIN,*) Lata_loc 
183
        !        if (debug) WRITE(*,*) "3 LineTmp:",Trim(LineTmp)
184
        READ(IOIN,*) latb_loc
185
        !        if (debug) WRITE(*,*) "4 LineTmp:",Trim(LineTmp)
186
        READ(IOIN,*) Latc_loc
187
        !        if (debug) WRITE(*,*) "5 LineTmp:",Trim(LineTmp)
188
! Attypes
189
        READ(IOIN,*) LineTmp
190
        !        if (debug) WRITE(*,*) "6 LineTmp:",Trim(LineTmp)
191
! Comment
192
        READ(IOIN,*) LineTmp,line
193
        !        if (debug) WRITE(*,*) "7 LineTmp:",Trim(LineTmp),Trim(Line)
194
! V_direct
195
        READ(IOIN,*) Vdir_loc
196
        Vdir_loc=adjustl(Vdir_loc)
197
        Call upcase(Vdir_loc)
198
        !        if (debug) WRITE(*,*) "8 LineTmp:",Trim(LineTmp)
199

  
200
        Lata_loc=Lata_loc*VaspPar_loc-Lat_a
201
        if (dot_product(lata_loc,Lata_loc).GE.1e-6) THEN
202
           WRITE(*,*) "Lattice parameter a is different between geometries 1 and ",IGeom
203
           WRITE(IOOUT,*) "Lattice parameter a is different between geometries 1 and ",IGeom
204
           STOP
205
        END IF
206

  
207
        Latb_loc=Latb_loc*VaspPar_loc-Lat_b
208
        if (dot_product(latb_loc,Latb_loc).GE.1e-6) THEN
209
           WRITE(*,*) "Lattice parameter b is different between geometries 1 and ",IGeom
210
           WRITE(IOOUT,*) "Lattice parameter b is different between geometries 1 and ",IGeom
211
           STOP
212
        END IF
213

  
214
        Latc_loc=Latc_loc*VaspPar_loc-Lat_c
215
        if (dot_product(latc_loc,Latc_loc).GE.1e-6) THEN
216
           WRITE(*,*) "Lattice parameter c is different between geometries 1 and ",IGeom
217
           WRITE(IOOUT,*) "Lattice parameter c is different between geometries 1 and ",IGeom
218
           STOP
219
        END IF
220

  
221
        DO I=1,Nat
222
           READ(IOIN,*) XyzGeomI(IGeom,1:3,I),FFFt(1:3,I)
223
           DO J=1,3
224
! A frozen atom in any geom is considered frozen in all geom
225
              FFFt(j,I)=AdjustL(FFFt(j,i))
226
              FFFl(j,i)=FFFl(j,i).AND.(FFFt(j,i).EQ.'T')
227
           END DO
228
        END DO
229

  
230
        IF (Vdir_loc(1:6).EQ.'DIRECT') THEN
231
           DO I=1,Nat
232
              Xt=XyzGeomI(IGeom,1,I)
233
              Yt=XyzGeomI(IGeom,2,I)
234
              Zt=XyzGeomI(IGeom,3,I)
235
              XyzGeomI(IGeom,1,I)=Xt*lat_a(1)+Yt*lat_b(1)+Zt*lat_c(1)
236
              XyzGeomI(IGeom,2,I)=Xt*lat_a(2)+Yt*lat_b(2)+Zt*lat_c(2)
237
              XyzGeomI(IGeom,3,I)=Xt*lat_a(3)+Yt*lat_b(3)+Zt*lat_c(3)
238
           END DO
239
        END IF
240

  
241
        if (debug)  THEN
242
           WRITE(*,*) Nat
243
           WRITE(*,*) "Geom ",IGeom,"/",NGeomI
244
           DO I=1,Nat
245
              WRITE(*,'(1X,A2,3(1X,F15.6))') AtName(I),XyzGeomI(IGeom,1:3,I)
246
           END DO
247
        END IF
248

  
249
     END DO
250

  
251
     DO I=1,Nat
252
        DO J=1,3
253
           if (FFFl(j,i)) FFF(j,i)="T"
254
        END DO
255
     END DO
256

  
257
 Deallocate(FFFl,FFFt)
258

  
259

  
260
  if (debug) Call Header("Exiting ReadGeom_vasp")
261

  
262
END SUBROUTINE ReadGeom_vasp
src/Io_module.f90 (revision 5)
8 8
  SAVE
9 9

  
10 10
  INTEGER(KINT) :: IOIN=11, IOOUT=12, IOCART=14
11
  INTEGER(KINT) :: IOGEOM=15
11 12
  INTEGER(KINT), PARAMETER :: IOTMP=21,IOTMP2=22, IOTMP3=23
13
  INTEGER(KINT), PARAMETER :: IOERR=19
12 14

  
13 15
  TYPE Input_Line
14 16
     CHARACTER(LCHARS) :: Line
17
     TYPE (Input_Line), POINTER :: Prev
15 18
     TYPE (Input_Line), POINTER :: Next
16 19
  END TYPE Input_Line
17 20

  
......
59 62
! WriteVasp controls the printing of the images coordinates in POSCAR files.
60 63
  LOGICAL :: WriteVasp
61 64

  
65
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
66
!
67
! Variables for SIESTA input
68
!
69
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
70
  TYPE (Input_line), POINTER :: Siesta_Input
71
  TYPE (Input_line), POINTER :: Siesta_Comment_Species,Siesta_Comment_Coord
72
  TYPE (Input_Line), POINTER :: CurComSpec, CurComCoord
73
  CHARACTER(LCHARS) :: Siesta_Label, Siesta_CoordFile
74
! Number of species used in Siesta
75
  INTEGER(KINT) :: Siesta_NbSpecies
76
! Mass number for each species
77
  REAL(KREAL), ALLOCATABLE :: ListSpecies(:) ! NbSpecies
78
! Name of each species
79
  CHARACTER(LCHARS), ALLOCATABLE :: Siesta_SpeciesName(:) ! NbSpecies
80
! Species for each atom
81
  INTEGER(KINT), ALLOCATABLE :: IdxSpecies(:) ! NAt
82
! What to add at the end of each coordinate line
83
  CHARACTER(LCHARS), ALLOCATABLE :: Siesta_Paste(:) ! Nat
84
! This is the unit (ang or bohr) to read/write the coordinates
85
  REAL(KREAL) :: Siesta_Unit_Read, Siesta_Unit_Write
86
! The lattice constant in case we are in periodic calculation
87
  REAL(KREAL) :: Siesta_LatticeConstant,Siesta_lat_unit
62 88

  
63 89
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
64 90
!
src/Read_geom.f90 (revision 5)
1 1
SUBROUTINE Read_Geom(input)
2 2

  
3
  Use Path_module
3
  Use VarTypes
4
  Use Path_module, only : NGeomI
4 5
  Use Io_module
5 6

  
6 7
  IMPLICIT NONE
......
42 43

  
43 44
  SELECT CASE(Input)
44 45
  CASE ('XYZ','CART')
45
     DO I=1,NGeomI
46
        IF (DEBUG) WRITE(*,*) "Reading Geom :",I
47
        READ(IOIN,*) NAtp
48
        if (NAtp.NE.Nat) THEN
49
           IF (I==1) THEN
50
              WRITE(IOOUT,*) 'WARNING Number of atoms not consistent between NAMELIST &path and First geom'
51
              WRITE(IOOUT,*) "Using:",Natp 
52
              DEALLOCATE(XyzGeomI, AtName)
53
              Nat=Natp 
54
              ALLOCATE(XyzGeomI(NGeomI,3,Nat), AtName(NAt))
55
           ELSE
56
              WRITE(IOOUT,*) 'Number of atoms not consistent between geometries. STOP'
57
              STOP
58
           END IF
59
        END IF
60
        READ(IOIN,'(A)') Line
61
        DO J=1,NAt
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff