Revision 5

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/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/Calc_mixed_frag.f90 (revision 5)
14 14

  
15 15
  IMPLICIT NONE
16 16

  
17
  CHARACTER(5) :: AtName
18
  integer(KINT) ::  na,atome(na),ind_zmat(Na,5)
17
! Parameters of the subroutine
18
! na: number of atoms in the system
19
  integer(KINT) ::  na
20
! atome: Mass number of the atoms of the system
21
  integer(KINT) ::  atome(na)
22
! ind_zmat: for "zmat" atoms contains the indices of reference atoms
23
  integer(KINT) ::  ind_zmat(Na,5)
19 24
  INTEGER(KINT) ::  idx_zmat(NA)
20 25
  real(KREAL) ::  x(Na),y(Na),z(Na),fact
21 26
  real(KREAL) ::  val_zmat(Na,3)
22 27
  real(KREAL) ::  r_cov(0:Max_Z)
23 28

  
29
  CHARACTER(5) :: AtName
30

  
24 31
  !     Frozen contains the indices of frozen atoms
25 32
  INTEGER(KINT) Frozen(*),Cart(*),NFroz,NCart
26 33
  LOGICAL, ALLOCATABLE :: FCart(:) ! Na
......
30 37
  INTEGER(KINT), ALLOCATABLE :: Fragment(:),NbAtFrag(:) !na
31 38
  INTEGER(KINT), ALLOCATABLE :: FragAt(:,:) !na,na
32 39
  INTEGER(KINT), ALLOCATABLE :: FrozFrag(:,:) !na,3
33
  !  INTEGER(KINT), ALLOCATABLE :: IdxFragAt(:) !na
34 40
  INTEGER(KINT), ALLOCATABLE :: FrozBlock(:,:) !(na,0:na)
35 41
  REAL(KREAL), ALLOCATABLE :: DistFroz(:) !na
36 42

  
......
47 53
  real(KREAL) ::  vx4,vy4,vz4,norm4
48 54
  real(KREAL) ::  vx5,vy5,vz5,norm5
49 55
  real(KREAL) ::  val, val_d, d
50
  Logical Debug
56
  Logical Debug,DebugGaussian
51 57
  LOGICAL, ALLOCATABLE :: DejaFait(:),FCaf(:) !(na)
52 58
  Logical, ALLOCATABLE ::  FrozAt(:)    !T if this atom is frozen
53 59

  
......
92 98

  
93 99
  Pi=dacos(-1.d0)
94 100
  debug=valid("calc_mixed_frag")
101
  debugGaussian=valid("zmat_gaussian")
102

  
95 103
  if (debug) Call Header("Entering Calc_mixed_frag")
96 104
  if (na.le.2) THEN
97 105
     WRITE(*,*) "I do not work for less than 2 atoms :-p"
......
987 995
  if (debug) WRITE(*,*) "Deallocate FCart,AtCart,FCaf"
988 996
  DEALLOCATE(FCart,AtCart,FCaf)
989 997

  
998
  if (debugGaussian) THEN
999
     WRITE(*,*) 'DBG Cre_Zmat_Frag: Gaussian Zmat - START'
1000
     Call WriteMixed_Gaussian(na,atome,NCart,ind_zmat,val_zmat)
1001
     WRITE(*,*) 'DBG Cre_Zmat_Frag: Gaussian Zmat - END'
1002
  END IF
1003

  
1004

  
990 1005
  if (debug) Call Header("Exiting Calc_mixed_frag")
991 1006

  
992 1007
END SUBROUTINE Calc_mixed_frag
993 1008

  
1009

  
1010
SUBROUTINE WriteMixed_Gaussian(na,atome,NCart,ind_zmat,val_zmat)
1011

  
1012
! This subroutine comes for zmat_g92
1013

  
1014
  Use Path_module, only : max_Z, NMaxL, Nom,MaxFroz, Pi
1015
  Use Io_module
1016

  
1017
  IMPLICIT NONE
1018
! Parameters of the subroutine
1019
! na: number of atoms in the system
1020
  integer(KINT), INTENT(IN) ::  na
1021
! atome: Mass number of the atoms of the system
1022
  integer(KINT), INTENT(IN) ::  atome(na)
1023
! nCart: number of atoms described in cartesian
1024
  integer(KINT), INTENT(IN) ::  NCart
1025
! ind_zmat: for "zmat" atoms contains the indices of reference atoms
1026
  integer(KINT), INTENT(IN) ::  ind_zmat(Na,5)
1027
! val_zmat: for "zmat" atoms contains the values from reference atoms
1028
  real(KREAL), INTENT(IN)   :: val_zmat(Na,3)
1029

  
1030
  character(6) :: at1, at2, at3, at4, d, a, dh
1031
  Character(6) :: x,y,z
1032
  character(SCHARS), ALLOCATABLE :: tab(:) ! 3*na
1033
  character(LCHARS) :: ligne
1034
  
1035
  INTEGER(KINT) :: i,n1,n2,n3,n4, NZmat,ITab
1036

  
1037
  ALLOCATE(tab(3*na))
1038

  
1039
! We first write the Cartesian atoms
1040

  
1041
  DO I=1,NCart
1042
! Name of the atom
1043
        n1=ind_zmat(i,1)
1044
        write(at1,11) nom(atome(n1)),n1
1045
        Call ecris_sb(at1,at1)
1046
! x
1047
        write(x,11) 'x',i
1048
        Call ecris_sb(x,x)
1049
        write(tab(3*i-2),'(A,1X,F12.8)') trim(x),val_zmat(i,1)
1050
! y
1051
        write(y,11) 'y',i
1052
        Call ecris_sb(y,y)
1053
        write(tab(3*i-1),'(A,1X,F12.8)') trim(y),val_zmat(i,2)
1054
! z
1055
        write(z,11) 'z',i
1056
        Call ecris_sb(z,z)
1057
        write(tab(3*i),'(A,1X,F12.8)') trim(z),val_zmat(i,3)
1058
! write the line
1059
           write(ligne,'(1X,A,1X,A,1X,A,1X,A)') Trim(at1),x,y,z
1060
        END DO
1061

  
1062
  NZmat=na-NCart
1063
  ITab=3*NCart+1
1064

  
1065
  DO i=NCart+1,NZmat
1066
     IF (i .GE. 1)  THEN
1067
        n1=ind_zmat(i,1)
1068
        write(at1,11) nom(atome(n1)),n1
1069
11      format(a2,i3)
1070
        Call ecris_sb(at1,at1)
1071
        write(ligne,4) at1
1072
     END IF
1073
     IF (i .GE. 2)  THEN
1074
        n2=ind_zmat(i,2)
1075
        write(at2,11) nom(atome(n2)),n2
1076
        Call ecris_sb(At2,at2)
1077
        write(d,11) 'R',i-1
1078
        Call ecris_sb(D,d)
1079
        write(ligne,4) at1,at2,d
1080
        write(tab(ITab),12) d,val_zmat(i,1)
1081
        ITab=ITab+1
1082
12      format(a8,f8.4)
1083
     END IF
1084
     IF (i .GE. 3)  THEN
1085
        n3=ind_zmat(i,3)
1086
        write(at3,11) nom(atome(n3)),n3
1087
        Call ecris_sb(At3,at3)
1088
        write(a,11) 'A',na+i-3
1089
        Call ecris_sb(A,A)
1090
        write(ligne,4) at1,at2,d,at3,a
1091
        write(tab(ITab),13) a,val_zmat(i,2)
1092
        ITab=ITab+1
1093
13      format(a8,f8.3)
1094
     END IF
1095
     IF (i .GE. 4)  THEN
1096
        n4=ind_zmat(i,4)
1097
        write(at4,11) nom(atome(n4)),n4
1098
        Call ecris_sb(At4,at4)
1099
        write(dh,11) 'DH',na+na+i-6
1100
        Call ecris_sb(dh,dh)
1101
        write(ligne,4) at1,at2,d,at3,a,at4,dh
1102
4       format(7a6)
1103
        write(tab(ITab),13) dh,val_zmat(i,3)
1104
        ITab=ITab+1
1105
     END IF
1106
     write(IOOUT,*) TRIM(ligne)
1107
     END DO
1108
     
1109
     write(IOOUT,*)
1110
     DO i=1,ITab
1111
        write(IOOUT,*) TRIM(tab(i))
1112
     END DO
1113
     write(IOOUT,*)
1114

  
1115
     DEALLOCATE(Tab)
1116

  
1117
   END SUBROUTINE WriteMixed_Gaussian
src/Calc_zmat.f90 (revision 5)
180 180
         DejaFait(I)=.FALSE.
181 181
         Former3(I)=.False.
182 182
         Do J=0,NMaxL
183
            Liaisons(I,j)=0.
184
            LiaisonsBis(I,j)=0.
183
            Liaisons(I,j)=0
184
            LiaisonsBis(I,j)=0
185 185
         END DO
186 186
         DO J=1,5
187 187
            ind_zmat(I,J)=0
src/Warning.f90 (revision 5)
1
! This routine prints a warning message and goes on
2
! Inspired  from Die in Siesta 3.1 
3
    SUBROUTINE Warning(routine, msg, file, line, unit)
4

  
5
      Use VarTypes
6
      Use io_module
7

  
8
      implicit none
9

  
10

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

  
17
  END INTERFACE
18
!--------------------------------------------------------------- Input Variables
19
      character(len=*), intent(in)           :: routine, msg
20
      character(len=*), intent(in), optional :: file
21
      integer(KINT), intent(in), optional      :: line, unit
22

  
23
!--------------------------------------------------------------- Local Variables
24
      integer(KINT)                            :: warning_unit
25

  
26
      LOGICAL ::  Debug
27

  
28
!------------------------------------------------------------------------- BEGIN
29
      debug=valid('warning')
30

  
31
      if (debug) Call Header('Entering Warning')
32
      if (PRESENT(unit)) then
33
        warning_unit = unit
34
      else
35
        warning_unit = IOOUT
36
      endif
37

  
38
      write(warning_unit,'(a)') '*************************************************************'
39
      write(warning_unit,'(a)') '* WARNING *'
40
      write(warning_unit,'(a)') ' '
41
      write(warning_unit,'(3a)') TRIM(routine), ': ', TRIM(msg)
42
      write(warning_unit,'(a)') ' '
43
      if (PRESENT(file)) write(warning_unit,'(5x,2a)') 'File: ', file
44
      if (PRESENT(line)) write(warning_unit,'(5x,a,i5)') 'Line: ', line
45
      write(warning_unit,'(a)') '*************************************************************'
46

  
47
      if (debug) Call Header('Exiting Warning')
48

  
49
    END SUBROUTINE warning
50

  
src/egrad_test_2D.f90 (revision 5)
1
  SUBROUTINE egrad_test_2D(nat,e,geom,grad) 
2
! This program computes the energy and the gradient
3
! to cheat PATH we use a 3 atoms system
4

  
5
   IMPLICIT NONE
6
     integer, parameter :: KINT = kind(1)
7
     integer, parameter :: KREAL = kind(1.0d0)
8

  
9
       INTEGER(KINT), INTENT(IN) :: Nat
10
       REAL(KREAL), INTENT(OUT) :: E,grad(Nat*3)
11
       REAL(KREAL), INTENT(IN) :: Geom(Nat,3)
12

  
13
!     Bohr --> Angstr
14
!      real(KREAL), parameter :: BOHR   = 0.52917726D+00
15
!
16

  
17
! Parameters to define the surface
18
      INTEGER(KINT), DIMENSION(6), PARAMETER :: IECOEF = (/-1,9,-45,45,-9,1/)
19
      INTEGER(KINT), DIMENSION(6), PARAMETER :: ISCOEF = (/-3,-2,-1,1,2,3/)
20
      REAL(KREAL), PARAMETER :: hh=0.01d0
21
      INTEGER(KINT), PARAMETER :: IOTMP=99
22
! Variables
23
       INTEGER(KINT) :: i, iat, jat,j
24
       REAL(KREAL), ALLOCATABLE :: Xyztmp(:,:),GradTmp(:,:)
25

  
26
       LOGICAL :: Debug
27
       LOGICAL, save :: First
28
  
29
      REAL(KREAL) :: x,y
30

  
31

  
32

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

  
39

  
40
      function E2D(natoms,Xyz)
41

  
42
        use Path_module, only : order
43
        use Io_module, only : IOTMP
44

  
45
   IMPLICIT NONE
46
     integer, parameter :: KINT = kind(1)
47
     integer, parameter :: KREAL = kind(1.0d0)
48

  
49

  
50
      INTEGER(KINT) ,INTENT(IN) :: natoms
51
      REAL(KREAL) ,INTENT(IN) :: Xyz(natoms,3)
52
      REAL(KREAL) :: E2D
53
    END function E2D
54

  
55
     
56
  END INTERFACE
57

  
58
  debug=valid('egrad_test_2D')
59

  
60
 if (debug) WRITE(*,*) '================ Entering Egrad_test ==================='
61
 if (debug) THEN
62
    WRITE(*,*) "Cartesian Geometry"
63
    DO I=1,Nat
64
       WRITE(*,'(1X,I5,3(1X,F12.6))') I,Geom(i,1:3)
65
    END DO
66
 END IF
67
      
68
      ALLOCATE(XyZTmp(Nat,3),GradTmp(Nat,3))
69

  
70
      if (first) THEN
71
         OPEN(IOTMP,File="tt")
72
         DO I=1, 501
73
            DO j=1,501
74
               x=(i-1.)/100.
75
               y=(j-1.)/100.
76
               xyztmp(2,1)=x
77
               xyztmp(3,1)=y
78
               write(IOTMP,*) x,y,E2D(nat,xyztmp)
79
            END DO
80
! we skip a blank line
81
            WRITe(IOTMP,*) 
82
         END DO
83
         CLOSE(IOTMP)
84
         First=.FALSE.
85
      END IF
86

  
87
      e=E2D(nat,Geom)
88

  
89
! We now calculate the gradients using numerical derivatives
90
      Grad=0.d0
91
      GradTmp=0.d0
92
      do iat=1,1
93
         do jat=2,nat
94
            xyztmp=geom
95
            do i=1,6
96
               xyztmp(jat,iat)=geom(jat,iat)+ISCoef(i)*hh
97
               gradTmp(jat,iat)=gradTmp(jat,iat)+IECoef(i)*E2D(nat,xyztmp)
98
            end do
99
         end do
100
      end do
101
      gradTmp=gradTmp/(60.*hh)
102
      do iat=1,nat
103
       grad(3*iat-2:3*iat)=gradTmp(iat,1:3)
104
      end do
105

  
106
 if (debug) THEN
107
    WRITE(*,*) "Cartesian gradient GradTmp"
108
    DO I=1,Nat
109
       WRITE(*,'(1X,I5,3(1X,F12.6))') I,Gradtmp(i,1:3)
110
    END DO
111
    WRITE(*,*) "Cartesian gradient Grad"
112
    WRITE(*,'(50(1X,F12.6))') Grad
113

  
114
 END IF
115

  
116

  
117
      deallocate(xyztmp,gradTmp)
118

  
119

  
120
 if (debug) WRITE(*,*) '================ Exiting Egrad_test_2D ==================='
121

  
122
! ======================================================================
123
   end SUBROUTINE egrad_test_2D
124

  
125

  
126

  
127
      function E2D(natoms,Xyz)
128

  
129
        use Path_module, only : order
130
        use Io_module, only : IOTMP
131

  
132
   IMPLICIT NONE
133
     integer, parameter :: KINT = kind(1)
134
     integer, parameter :: KREAL = kind(1.0d0)
135

  
136

  
137
      INTEGER(KINT) ,INTENT(IN) :: natoms
138
      REAL(KREAL) ,INTENT(IN) :: Xyz(natoms,3)
139
      REAL(KREAL) :: E,x,y, E2D
140
      REAL(KREAL), save :: Data(501,501)
141

  
142
      INTEGER(KINT) :: i,j
143
      REAL(KREAL) :: dCH,dNH,dCN
144

  
145
!      real(KREAL) :: autoA,autoeV
146
      real(KREAL) :: autoeV
147
!      parameter (autoA=0.52917715d0)
148
      parameter (autoeV=27.21183d0)
149

  
150

  
151
      real(KREAL) :: r1, r2
152

  
153
      LOGICAL :: Debug
154
      LOGICAL, SAVE :: First=.TRUE.
155
 
156
  INTERFACE
157
     function valid(string) result (isValid)
158
       CHARACTER(*), intent(in) :: string
159
       logical                  :: isValid
160
     END function VALID
161
     
162
  END INTERFACE
163

  
164
  debug=valid('e2D')
165

  
166
 if (First) THEN
167
! we read the data
168
   open(IOTMP,File="CCSDT.subtr.reg")
169
   DO I=1, 501
170
    DO j=1,501
171
     READ(IOTMP,*) x,y,E
172
     Data(int(x*100+0.1)+1,int(y*100+0.1)+1)=E
173
     write(*,*) x,y,int(x*100+0.1)+1, int(y*100+0.1)+1,E
174
    END DO
175
! we skip a blank line
176
     READ(IOTMP,*) 
177
  END DO
178
  CLOSE(IOTMP)
179
  First=.FALSE.
180
 END IF
181

  
182
    x=Xyz(2,1)
183
    y=Xyz(3,1)
184
    E2D=Data(int(x*100+0.1)+1,int(y*100+0.1)+1)
185

  
186
      return
187
    end function E2D
src/Extrapol_cart.f90 (revision 5)
68 68
! It has been moved to PathCreate before the 
69 69
! computation of the Spline coefficient.
70 70

  
71
     if (debug) THEN
72
        WRITE(*,*) "Extrapol_cart- L72 - geometries "
73
        DO I=1,NGeomI
74
           WRITE(*,*) "Geom  ",I
75
           DO J=1,Nat
76
              If (renum) THEN
77
                 Iat=Order(J)
78
                 WRITE(*,'(1X,A10,3(1X,F15.8),A)') Trim(AtName(J)),XyzGeomI(I,1:3,Iat)
79
              ELSE
80
                 Iat=OrderInv(J)
81
                 WRITE(*,'(1X,A10,3(1X,F15.8),A)') Trim(AtName(Iat)),XyzGeomI(I,1:3,J)
82
              END IF
83
           END DO
84
        END DO
85
     END IF
86

  
87

  
71 88
  XyzGeomF(1,:,:)=XyzGeomI(1,:,:)
72 89

  
73 90

  
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_vasp.f90 (revision 5)
1
 SUBROUTINE ReadInput_Vasp
2

  
3
! This routine reads an input template for Vasp
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
  CHARACTER(LCHARS) ::  Line,Line2
19
  INTEGER(KINT) :: LineL, Idx, Iat
20
  INTEGER(KINT) :: I,J
21

  
22
  INTEGER(KINT), ALLOCATABLE :: NbAtType(:) !na
23
  INTEGER(KINT) :: NbType, NbTypeUser
24

  
25
  REAL(KREAL) :: B(3),xtmp,ytmp,ztmp
26

  
27
  LOGICAL :: TChk
28

  
29
  LOGICAL :: Debug
30

  
31

  
32
  Debug=Valid("readinput").OR.Valid("readinput_vasp")
33

  
34
  if (debug) Call Header("Entering ReadInput_Vasp")
35

  
36
 if (Input/="VASP") THEN
37

  
38
     ! Input was not Vasp, so many parameters are missing like lattice 
39
     ! constants...
40
     ! we read them now !
41
     ALLOCATE(FFF(3,nat))
42
     ! First geometry is a bit special for VASP as we have to set
43
     ! many things
44
     IF (DEBUG) WRITE(*,*) "Reading Vasp Parameters"
45
     READ(IOIN,'(A)') Vasp_Title
46
     READ(IOIN,*) Vasp_param
47

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

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

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

  
67
     ! Do we know the atom types ?
68
     IF (AtTypes(1).EQ.'  ') THEN
69
        ! user has not provided atom types... we have to find them ourselves
70
        ! by looking into the POTCAR file...
71
        INQUIRE(File="POTCAR", EXIST=Tchk)
72
        IF (.NOT.Tchk) THEN
73
           WRITE(*,*) "ERROR! No AtTypes provided, and POTCAR file not found"
74
           STOP
75
        END IF
76
        OPEN(IOTMP,File="POTCAR")
77
        DO I=1,NbType
78
           Line='Empty'
79
           DO WHILE (Line(1:2).NE.'US')
80
              READ(IOTMP,'(A)') Line
81
              Line=AdjustL(Line)
82
           END DO
83
           Line=adjustl(Line(3:))
84
           AtTypes(I)=Line(1:2)
85
        END DO
86
        if (debug) WRITE(*,'(A,100(1X,A2))') "ReadG:VASP AtTypes",AtTypes(1:NbType)
87
        CLOSE(IOTMP)
88

  
89
     ELSE  !AtTypes(1).EQ.'  '
90
        ! user has provided atom types
91
        NbTypeUser=0
92
        DO WHILE (AtTypes(NbTypeUser+1).NE.'  ')
93
           NbTypeUser=NbTypeUser+1
94
        END DO
95
        IF (NbType.NE.NbTypeUser) THEN
96
           WRITE(*,*) "ERROR Read_Geom : NbType in POSCAR do not match AtTypes"
97
           STOP
98
        END IF
99
     END IF
100

  
101
     IAt=1
102
     DO I=1,NbType
103
        DO J=1,NbAtType(I)
104
           AtName(Iat)=AtTypes(I)
105
           Iat=Iat+1
106
        END DO
107
     END DO
108
     DEALLOCATE(NbAtType)
109

  
110
     NbTypes=NbType
111

  
112
     READ(IOIN,'(A)') Vasp_comment
113
     READ(IOIN,'(A)') Vasp_direct
114
     V_direct=Adjustl(Vasp_direct)
115
     Call UpCase(V_direct)
116

  
117
! PFL 2011 Mar 8 ->
118
! We have to read the FFF flags :
119
     DO I=1,Nat
120
        READ(IOIN,*) Xtmp,ytmp,ztmp,FFF(1:3,I)
121
        DO J=1,3
122
           FFF(J,I)=AdjustL(FFF(J,I))
123
           CALL Upcase(FFF(J,I))
124
        END DO
125
     END DO
126
! <- PFL 2011 Mar 8 
127

  
128
  END IF
129

  
130
  ! In the case of VASP there is always the problem  of moving from one side
131
  ! of the box to the other...
132

  
133
     Renum=.TRUE.
134

  
135
     ! V_direct has been set in Read_geom
136
     IF (V_direct(1:6).EQ.'DIRECT') THEN
137
        Latr(1:3,1)=Lat_a
138
        Latr(1:3,2)=Lat_b
139
        Latr(1:3,3)=Lat_c
140
        B=1.
141
        CALL Gaussj(Latr,3,3,B,1,1)
142
     ELSE
143
        Latr=0.
144
        Latr(1,1)=1.d0
145
        Latr(2,2)=1.d0
146
        Latr(3,3)=1.d0
147
     END IF
148

  
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff