1#!/bin/sh
2#
3# This is the script for generating files for a specific Dalton test job.
4#
5# For the .check file ksh or bash is preferred, otherwise use sh
6# (and hope it is not the old Bourne shell, which will not work)
7#
8if [ -x /bin/ksh ]; then
9   CHECK_SHELL='#!/bin/ksh'
10elif [ -x /bin/bash ]; then
11   CHECK_SHELL='#!/bin/bash'
12else
13   CHECK_SHELL='#!/bin/sh'
14fi
15
16
17#######################################################################
18#  TEST DESCRIPTION
19#######################################################################
20cat > energy_lucita_mc_corehole.info <<'%EOF%'
21   energy_lucita_mc_corehole
22   -------------------------
23   Molecule:         CO
24   Wave Functions:   MCSCF (RAS) with LUCITA as CI module
25   Test Purpose:     Core-hole excitations using both a frozen and a
26                     relaxed core orbital
27%EOF%
28
29#######################################################################
30#  MOLECULE INPUT
31#######################################################################
32cat > energy_lucita_mc_corehole.mol <<'%EOF%'
33INTGRL
34Calculation of core-hole excitations using both a frozen and a relaxed
35core orbital. This is a three step job
36    2    2  X  Y       1.D-15
37       8.     1    3    1    1    1
38O   0.000000             0.000000                  2.132
39   11    5
4015330.     0.000508   -0.000115 0.000000   0.000000  0.0
412299.      0.003929   -0.000895 0.000000   0.000000  0.0
42522.4      0.020243   -0.004636 0.000000   0.000000  0.0
43147.3      0.079181   -0.018724 0.000000   0.000000  0.0
4447.55      0.230687   -0.058463 0.000000   0.000000  0.0
4516.76      0.433118   -0.136463 0.000000   0.000000  0.0
466.207      0.350260   -0.175740 0.000000   0.000000  0.0
471.752      0.042728    0.160934 1.000000   0.000000  0.0
480.6882     -0.008154   0.603418 0.000000   0.000000  0.0
490.2384     0.002381    0.378765 0.000000   1.000000  0.0
500.073760   0.0         0.0      0.0        0.0       1.000000
51    6    4
5234.46      0.015928    0.000000  0.000000   0.0
537.749      0.099740    0.000000  0.000000   0.0
542.280      0.310492    0.000000  0.000000   0.0
550.7156     0.491026    1.000000  0.000000   0.0
560.2140     0.336337    0.000000  1.000000   0.0
570.05974    0.0         0.0       0.0        1.000
58    3    3
592.314      1.000000    0.000000   0.0
600.645      0.000000    1.000000   0.0
610.214000   0.0         0.0        1.0000
62        6.    1    3    1    1    1
63C   0.        0.000000  0.000000
64   11    5
658236.       0.000531 -0.000113   0.000000   0.000000  0.0
661235.       0.004108 -0.000878   0.000000   0.000000  0.0
67280.8       0.021087 -0.004540   0.000000   0.000000  0.0
6879.27       0.081853 -0.018133   0.000000   0.000000  0.0
6925.59       0.234817 -0.055760   0.000000   0.000000  0.0
708.997       0.434401 -0.126895   0.000000   0.000000  0.0
713.319       0.346129 -0.170352   0.000000   0.000000  0.0
720.9059      0.039378 0.140382    1.000000   0.000000  0.0
730.3643     -0.008983 0.598684    0.000000   0.000000  0.0
740.1285      0.002385 0.395389    0.000000   1.000000  0.0
750.04402     0.000000 0.000000    0.000000   0.000000  1.0
76    6    4
7718.71      0.014031    0.000000  0.000000  0.0
784.133      0.086866    0.000000  0.000000  0.0
791.200      0.290216    0.000000  0.000000  0.0
800.3827     0.501008    1.000000  0.000000  0.0
810.1209     0.343406    0.000000  1.000000  0.0
820.03569    0.000000    0.000000  0.000000  1.0
83    3    3
841.097      1.000000    0.000000  0.0
850.318      0.000000    1.000000  0.0
860.100      0.000000    0.000000  1.0
87%EOF%
88
89#######################################################################
90#  DALTON INPUT
91#######################################################################
92cat > energy_lucita_mc_corehole__1.dal <<'%EOF%'
93**DALTON INPUT
94.RUN WAVE FUNCTIONS
95**WAVE FUNCTIONS
96.HF
97*SCF INPUT
98.DOUBLY OCCUPIED
99   5 1 1 0
100.THRESHOLD
101  1.D-04
102.NONCANONICAL
103*OPTIMIZATION
104.NEO ALWAYS
105.DETERMIN
106**END OF INPUT
107%EOF%
108
109cat > energy_lucita_mc_corehole__2.dal <<'%EOF%'
110**DALTON INPUT
111.RUN WAVE FUNCTIONS
112**WAVE FUNCTIONS
113.MCSCF
114.WESTA
115*CONFIGURATION INPUT
116.INACTIVE
117 2 0 0 0
118.RAS1 SPACE
119 1 0 0 0
120.RAS2 SPACE
121 4 2 2 0
122.RAS3 SPACE
123 0 0 0 0
124.RAS1 ELECTRONS
125 1 1
126.ELECTR
127 10
128.SYMMET
129 2
130.SPIN MULTIPLICITY
131 1
132*ORBITA
133.MOSTART
134 NEWORB
135.REORDER
136 2 0 0 0
137 2 3 3 2
138.FREEZE
139 1 0 0 0
140 3
141*OPTIMI
142.CI PROGRAM
143LUCITA
144.NEO ALWAYS
145.TRACI
146.NO ABS
147.DETERM
148.MAX MAC
149 30
150*CI VEC
151.PLUS COMBINATIONS
152.STARTHDIAGONAL
153**END OF INPUT
154%EOF%
155
156cat > energy_lucita_mc_corehole__3.dal <<'%EOF%'
157**DALTON INPUT
158.RUN WAVE FUNCTIONS
159**WAVE FUNCTIONS
160.MCSCF
161.WESTA
162*CONFIGURATION INPUT
163.INACTIVE
164 2 0 0 0
165.RAS1 SPACE
166 1 0 0 0
167.RAS2 SPACE
168 4 2 2 0
169.RAS3 SPACE
170 0 0 0 0
171.RAS1 ELECTRONS
172 1 1
173.ELECTR
174 10
175.SYMMET
176 2
177.SPIN MULTIPLICITY
178 1
179*ORBITA
180.MOSTART
181 NEWORB
182*OPTIMI
183.CI PROGRAM
184LUCITA
185.NR ALWAYS
186.TRACI
187.OPTIMA
188.NO ABS
189.DETERM
190.MAX MAC
191 30
192*CI VEC
193.PLUS COMBINATIONS
194.STARTO
195**END OF INPUT
196%EOF%
197#######################################################################
198
199
200
201#######################################################################
202
203#######################################################################
204#  CHECK SCRIPT
205#######################################################################
206echo $CHECK_SHELL >energy_lucita_mc_corehole__1.check
207cat >>energy_lucita_mc_corehole__1.check <<'%EOF%'
208log=$1
209
210if [ `uname` = Linux ]; then
211   GREP="egrep -a"
212else
213   GREP="egrep"
214fi
215
216# Basis set
217CRIT1=`$GREP "O * 1 * 8\.0000 * 44 * 32 * \[11s6p3d\|5s4p3d\]" $log | wc -l`
218CRIT2=`$GREP "C * 1 * 6\.0000 * 44 * 32 * \[11s6p3d\|5s4p3d\]" $log | wc -l`
219CRIT3=`$GREP "total\: * 2 * 14\.0000 * 88 * 64" $log | wc -l`
220CRIT4=`$GREP "Spherical harmonic basis used\." $log | wc -l`
221TEST[1]=`expr	$CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4`
222CTRL[1]=4
223ERROR[1]="BASIS SET NOT READ CORRECTLY"
224
225# Geometry
226CRIT1=`$GREP "Total number of coordinates\: * 6" $log | wc -l`
227CRIT2=`$GREP "1 * x * (0| )\.0000000000" $log | wc -l`
228CRIT3=`$GREP "2 * y * (0| )\.0000000000" $log | wc -l`
229CRIT4=`$GREP "3 * z * 2\.1320000000" $log | wc -l`
230CRIT5=`$GREP "4 * x * (0| )\.0000000000" $log | wc -l`
231CRIT6=`$GREP "5 * y * (0| )\.0000000000" $log | wc -l`
232CRIT7=`$GREP "6 * z * (0| )\.0000000000" $log | wc -l`
233TEST[2]=`expr	$CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4 \+ $CRIT5 \+ $CRIT6 \+ \
234		$CRIT7`
235CTRL[2]=7
236ERROR[2]="GEOMETRY NOT READ CORRECTLY"
237
238# Symmetry
239CRIT1=`$GREP "Number of coordinates in each symmetry\: * 2 * 2 * 2 * 0" $log | wc -l`
240CRIT2=`$GREP "Number of orbitals in each symmetry\: * 30 * 14 * 14 * 6" $log | wc -l`
241TEST[3]=`expr	$CRIT1 \+ $CRIT2`
242CTRL[3]=2
243ERROR[3]="SYMMETRY NOT CORRECT"
244
245# SCF energy
246CRIT1=`$GREP "Final * HF energy\: * \-112\.77806297" $log | wc -l`
247TEST[4]=`expr	$CRIT1`
248CTRL[4]=1
249ERROR[4]="SCF ENERGY NOT CORRECT"
250
251PASSED=1
252for i in 1 2 3 4
253do
254   if [ ${TEST[i]} -ne ${CTRL[i]} ]; then
255     echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); "
256     PASSED=0
257   fi
258done
259
260if [ $PASSED -eq 1 ]
261then
262  echo TEST ENDED PROPERLY
263  exit 0
264else
265  echo THERE IS A PROBLEM
266  exit 1
267fi
268
269%EOF%
270#######################################################################
271echo $CHECK_SHELL >energy_lucita_mc_corehole__2.check
272cat >>energy_lucita_mc_corehole__2.check <<'%EOF%'
273log=$1
274
275if [ `uname` = Linux ]; then
276   GREP="egrep -a"
277else
278   GREP="egrep"
279fi
280
281# HERMIT input processing
282##CRIT1=`$GREP "Output from HERMIT input processing" $log | wc -l`
283##TEST[1]=`expr	$CRIT1`
284##CTRL[1]=0
285##ERROR[1]="HERMIT INPUT PROCESSING SHOULD _NOT_ BE RUN"
286
287# HERINT
288##CRIT1=`$GREP "Output from HERINT" $log | wc -l`
289##TEST[2]=`expr	$CRIT1`
290##CTRL[2]=0
291##ERROR[2]="HERMIT SHOULD NOT BE RUN, THIS IS A RESTART"
292
293# RAS
294CRIT1=`$GREP "Number of active orbitals in RAS1\, RAS2\, and RAS3 \: * 1 * 8 * 0" $log | wc -l`
295CRIT2=`$GREP "Minimum number of electrons in RAS1 \: * 1" $log | wc -l`
296CRIT3=`$GREP "Maximum number of electrons in RAS1 \: * 1" $log | wc -l`
297TEST[3]=`expr	$CRIT1 \+ $CRIT2 \+ $CRIT3`
298CTRL[3]=3
299ERROR[3]="RAS NOT SET UP CORRECTLY"
300
301# ?
302CRIT1=`$GREP "Number of orbitals frozen with \"\.FREEZE\" * 1" $log | wc -l`
303CRIT2=`$GREP "3 * 1 * 3 * active" $log | wc -l`
304TEST[4]=`expr	$CRIT1 \+ $CRIT2`
305CTRL[4]=2
306ERROR[4]="FROZEN ORBITAL NOT CORRECT"
307
308# Energy
309CRIT1=`$GREP "Final MCSCF energy\: * \-102\.288287(1|2)" $log | wc -l`
310TEST[6]=`expr	$CRIT1`
311CTRL[6]=1
312ERROR[6]="MCSCF ENERGY NOT CORRECT"
313
314# Occupancy
315CRIT1=`$GREP "2\.000000000 * 2\.000000000 * 1\.000000000 * 1\.973134.* 1\.982492" $log | wc -l`
316CRIT2=`$GREP "0*\.012752.* 0*\.026467" $log | wc -l`
317CRIT3=`$GREP "1\.977401.* * 1\.021652" $log | wc -l`
318CRIT4=`$GREP "1\.92697[12].* * 0*\.079125" $log | wc -l`
319CRIT5=`$GREP "No occupied orbitals" $log | wc -l`
320TEST[7]=`expr	$CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4 \+ $CRIT5`
321CTRL[7]=8
322ERROR[7]="NO OCCUPANCIES NOT CORRECT"
323
324PASSED=1
325for i in 3 4 6 7
326do
327   if [ ${TEST[i]} -ne ${CTRL[i]} ]; then
328     echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); "
329     PASSED=0
330   fi
331done
332
333if [ $PASSED -eq 1 ]
334then
335  echo TEST ENDED PROPERLY
336  exit 0
337else
338  echo THERE IS A PROBLEM
339  exit 1
340fi
341
342%EOF%
343#######################################################################
344echo $CHECK_SHELL >energy_lucita_mc_corehole__3.check
345cat >>energy_lucita_mc_corehole__3.check <<'%EOF%'
346log=$1
347
348if [ `uname` = Linux ]; then
349   GREP="egrep -a"
350else
351   GREP="egrep"
352fi
353
354# HERMIT input processing
355#CRIT1=`$GREP "Output from HERMIT input processing" $log | wc -l`
356#TEST[1]=`expr	$CRIT1`
357#CTRL[1]=0
358#ERROR[1]="HERMIT INPUT PROCESSING SHOULD _NOT_ BE RUN"
359
360# HERINT
361#CRIT1=`$GREP "Output from HERINT" $log | wc -l`
362#TEST[2]=`expr	$CRIT1`
363#CTRL[2]=0
364#ERROR[2]="HERMIT SHOULD NOT BE RUN, THIS IS A RESTART"
365
366# RAS
367CRIT1=`$GREP "Number of active orbitals in RAS1\, RAS2\, and RAS3 \: * 1 * 8 * 0" $log | wc -l`
368CRIT2=`$GREP "Minimum number of electrons in RAS1 \: * 1" $log | wc -l`
369CRIT3=`$GREP "Maximum number of electrons in RAS1 \: * 1" $log | wc -l`
370TEST[3]=`expr	$CRIT1 \+ $CRIT2 \+ $CRIT3`
371CTRL[3]=3
372ERROR[3]="RAS NOT SET UP CORRECTLY"
373
374# Energy
375CRIT1=`$GREP "Final MCSCF energy\: * \-102\.32015413" $log | wc -l`
376TEST[4]=`expr	$CRIT1`
377CTRL[4]=1
378ERROR[4]="MCSCF ENERGY NOT CORRECT"
379
380# Occupancy
381CRIT1=`$GREP -l "2\.000000000 * 2\.000000000 * 1\.000000000 * 1\.973575.* 1\.982977.*" $log | wc -l`
382CRIT2=`$GREP -l "0*\.012295.* 0*\.026173.*" $log | wc -l`
383CRIT3=`$GREP -l "1\.977380.* 1\.021666.*" $log | wc -l`
384CRIT4=`$GREP -l "1\.927751.* 0*\.078179.*" $log | wc -l`
385CRIT5=`$GREP -l "No occupied orbitals" $log | wc -l`
386TEST[5]=`expr	$CRIT1 \+ $CRIT2 \+ $CRIT3 \+ $CRIT4 \+ $CRIT5`
387# crit4 is found three times on master branch
388CTRL[5]=5
389ERROR[5]="NO OCCUPANCIES NOT CORRECT"
390
391PASSED=1
392for i in 3 4 5
393do
394   if [ ${TEST[i]} -ne ${CTRL[i]} ]; then
395     echo "${ERROR[i]} ( test = ${TEST[i]}; control = ${CTRL[i]} ); "
396     PASSED=0
397   fi
398done
399
400if [ $PASSED -eq 1 ]
401then
402  echo TEST ENDED PROPERLY
403  exit 0
404else
405  echo THERE IS A PROBLEM
406  exit 1
407fi
408
409%EOF%
410#######################################################################
411