-
Notifications
You must be signed in to change notification settings - Fork 0
/
CIENERGY.CLIST
153 lines (141 loc) · 5.55 KB
/
CIENERGY.CLIST
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
PROC 2 MOL TYPE() PSIOWN(0) LDPRFX(0) TPA(0) +
TDE(0) T30(0) T54(0) +
SN2(0) SN4(0) SCI(0) SCIS(0) +
SIZE(SMALL) MAXCOR(0)
CONTROL MSG LIST NOF
/* TYPE = GRSCF OR TCSCF
/* SN2 = THE NUMBER OF TRACKS NEEDED TO HOLD O(N**2) DATA
/* SN4 = THE NUMBER OF TRACKS NEEDED TO HOLD O(N**4) DATA
/* SCI = THE SIZE OF THE CI VECTOR,
/* = O(N**4) FOR CISD,
/* = O(N**6) FOR CISDT,
/* = O(N**8) FOR CISDTQ, ETC.
/* SCIS = THE SIZE OF THE CI SCRATCH FILES
/* T30 = THE TYPE OF FILE THAT FILE30 IS (NEEDED TO DETERMINE ITS NAME)
/* T54 = THE TYPE OF FILE THAT FILE54 IS
/* TPA = THE TYPE USED FOR FILES THAT ARE PASSED BETWEEN JOBS,
/* THIS SHOULD BE SHRT IF YOU WANT TO RESTART AT ANY POINT,
/* OTHERWISE IT SHOULD BE WORK OR ES.
/* TDE = THE TYPE USED FOR FILES THAT ARE DELETED BY THE PROGRAMS THAT
/* CREATES THEM, SHOULD BE WORK OR ES.
/*
/* NOTE: EXACT SIZES OF THE FILES ARE NOT KNOWN BEFORE THE CALCULATION
/* IS RUN; HENCE, ALL SIZE ESTIMATES ARE VERY ROUGH.
/* SOMETIMES TRIAL AND ERROR MAY BE NECESSARY.
IF &PSIOWN EQ 0 THEN SET &PSIOWN = #ZA0BF9.
IF &LDPRFX EQ 0 THEN SET &LDPRFX = PSI.
IF &TYPE NE GRSCF && &TYPE NE TCSCF && &TYPE NE OTHER THEN DO
WRITE CIENERGY: THE TYPE OF REFERENCE WAVEFUNCTION MUST BE GIVEN
WRITE AS THE SECOND ARGUMENT TO CIENERGY. USE 'GRSCF'
WRITE FOR CLOSED SHELL AND GENERAL RESTRICTED ONE
WRITE CONFIGURATION WAVEFUNCTIONS OR 'TCSCF' FOR TWO
WRITE CONFIGURATION WAVEFUNCTIONS. THE TYPE 'OTHER'
WRITE CAN ALSO BE SPECIFIED BUT THIS IS ONLY VALID
WRITE FOR CI ENERGY CALCULATIONS.
WRITE CIENERGY: &&TYPE=&TYPE: ABORTING
EXIT CODE(877)
END
SET &CLIST = &PSIOWN.PSI.CLIST
IF &SIZE EQ SET THEN SET &SIZE = SIZESET
IF &SIZE EQ T THEN SET &SIZE = TINY
IF &SIZE EQ S THEN SET &SIZE = SMALL
IF &SIZE EQ M THEN SET &SIZE = MEDIUM
IF &SIZE EQ L THEN SET &SIZE = LARGE
IF &SIZE EQ X THEN SET &SIZE = XLARGE
IF &SIZE EQ U THEN SET &SIZE = ULTRA
IF &SIZE EQ TINY THEN DO
IF &SN2 EQ 0 THEN SET &SN2 = 5
IF &SN4 EQ 0 THEN SET &SN4 = 20
IF &SCI EQ 0 THEN SET &SCI = 10
IF &SCIS EQ 0 THEN SET &SCIS = &SCI * 20
IF &T30 EQ 0 THEN SET &T30 = SAVE
IF &T54 EQ 0 THEN SET &T54 = SHRT
IF &TPA EQ 0 THEN SET &TPA = WORK
IF &TDE EQ 0 THEN SET &TDE = WORK
SET &SIZE = SET
END
IF &SIZE EQ SMALL THEN DO
IF &SN2 EQ 0 THEN SET &SN2 = 40
IF &SN4 EQ 0 THEN SET &SN4 = 400
IF &SCI EQ 0 THEN SET &SCI = 200
IF &SCIS EQ 0 THEN SET &SCIS = &SCI * 20
IF &T30 EQ 0 THEN SET &T30 = SAVE
IF &T54 EQ 0 THEN SET &T54 = SHRT
IF &TPA EQ 0 THEN SET &TPA = WORK
IF &TDE EQ 0 THEN SET &TDE = WORK
SET &SIZE = SET
END
IF &SIZE EQ MEDIUM THEN DO
IF &SN2 EQ 0 THEN SET &SN2 = 100
IF &SN4 EQ 0 THEN SET &SN4 = 1000
IF &SCI EQ 0 THEN SET &SCI = 500
IF &SCIS EQ 0 THEN SET &SCIS = &SCI * 20
IF &T30 EQ 0 THEN SET &T30 = SAVE
IF &T54 EQ 0 THEN SET &T54 = SHRT
IF &TPA EQ 0 THEN SET &TPA = WORK
IF &TDE EQ 0 THEN SET &TDE = WORK
SET &SIZE = SET
END
IF &SIZE EQ LARGE THEN DO
IF &SN2 EQ 0 THEN SET &SN2 = 200
IF &SN4 EQ 0 THEN SET &SN4 = 6000
IF &SCI EQ 0 THEN SET &SCI = 3000
IF &SCIS EQ 0 THEN SET &SCIS = &SCI * 15
IF &T30 EQ 0 THEN SET &T30 = SAVE
IF &T54 EQ 0 THEN SET &T54 = WORK
IF &TPA EQ 0 THEN SET &TPA = WORK
IF &TDE EQ 0 THEN SET &TDE = WORK
SET &SIZE = SET
END
IF &SIZE EQ XLARGE THEN DO
IF &SN2 EQ 0 THEN SET &SN2 = 300
IF &SN4 EQ 0 THEN SET &SN4 = 12000
IF &SCI EQ 0 THEN SET &SCI = 6000
IF &SCIS EQ 0 THEN SET &SCIS = &SCI * 15
IF &T30 EQ 0 THEN SET &T30 = SAVE
IF &T54 EQ 0 THEN SET &T54 = WORK
IF &TPA EQ 0 THEN SET &TPA = WORK
IF &TDE EQ 0 THEN SET &TDE = WORK
SET &SIZE = SET
END
IF &SIZE EQ ULTRA THEN DO
IF &SN2 EQ 0 THEN SET &SN2 = 1000
IF &SN4 EQ 0 THEN SET &SN4 = 20000
IF &SCI EQ 0 THEN SET &SCI = 10000
IF &SCIS EQ 0 THEN SET &SCIS = &SCI * 15
IF &T30 EQ 0 THEN SET &T30 = SAVE
IF &T54 EQ 0 THEN SET &T54 = WORK
IF &TPA EQ 0 THEN SET &TPA = WORK
IF &TDE EQ 0 THEN SET &TDE = WORK
SET &SIZE = SET
END
IF &SIZE ^= SET THEN DO
WRITE INVALID &&SIZE=&SIZE
EXIT CODE(877)
END
EXEC &CLIST:INTS '&MOL,T30(&T30),T34(&TPA),S34(&SN4),+
PSIOWN(&PSIOWN),LDPRFX(&LDPRFX),+
MAXCOR(&MAXCOR)'
IF &LASTCC NE 0 THEN EXIT CODE(&LASTCC)
EXEC &CLIST:SCFTFK '&MOL,T30(&T30),T34(&TPA),T47(&TPA),T49(&TPA),+
T92(&TDE),S47(&SN2),S49(&SN2),S92(&SN4),+
PSIOWN(&PSIOWN),LDPRFX(&LDPRFX),+
MAXCOR(&MAXCOR)'
IF &LASTCC NE 0 THEN EXIT CODE(&LASTCC)
EXEC &CLIST:DRT '&MOL,T58(&TPA)'
IF &LASTCC NE 0 THEN EXIT CODE(&LASTCC)
EXEC &CLIST:TRANS '&MOL,T30(&T30),T34(&TPA),T52(&TPA),T58(&TPA),+
T91(&TDE),S52(&SN4),+
PSIOWN(&PSIOWN),LDPRFX(&LDPRFX),+
MAXCOR(&MAXCOR)'
IF &LASTCC NE 0 THEN EXIT CODE(&LASTCC)
EXEC &CLIST:CISORT '&MOL,T52(&TPA),T58(&TPA),T99(&TDE),S99(&SN4),+
PSIOWN(&PSIOWN),LDPRFX(&LDPRFX),+
MAXCOR(&MAXCOR)'
IF &LASTCC NE 0 THEN EXIT CODE(&LASTCC)
EXEC &CLIST:GUGACI '&MOL,T52(&TPA),T54(&T54),T58(&TPA),T99(&TDE),+
T95(&TDE),T96(&TDE),S54(&SCI),S99(&SCIS),+
PSIOWN(&PSIOWN),LDPRFX(&LDPRFX),+
MAXCOR(&MAXCOR)'
IF &LASTCC NE 0 THEN EXIT CODE(&LASTCC)
EXIT CODE(0)