Subversion Repositories slepc-dev

Rev

Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2356 jroman 1
#
2
#  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3
#  SLEPc - Scalable Library for Eigenvalue Problem Computations
4
#  Copyright (c) 2002-2010, Universidad Politecnica de Valencia, Spain
5
#
6
#  This file is part of SLEPc.
7
#
8
#  SLEPc is free software: you can redistribute it and/or modify it under  the
9
#  terms of version 3 of the GNU Lesser General Public License as published by
10
#  the Free Software Foundation.
11
#
12
#  SLEPc  is  distributed in the hope that it will be useful, but WITHOUT  ANY
13
#  WARRANTY;  without even the implied warranty of MERCHANTABILITY or  FITNESS
14
#  FOR  A  PARTICULAR PURPOSE. See the GNU Lesser General Public  License  for
15
#  more details.
16
#
17
#  You  should have received a copy of the GNU Lesser General  Public  License
18
#  along with SLEPc. If not, see <http://www.gnu.org/licenses/>.
19
#  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20
#
21
 
2362 jroman 22
CFLAGS     =
2356 jroman 23
FFLAGS     =
24
CPPFLAGS   =
25
FPPFLAGS   =
26
LOCDIR     = src/eps/examples/tests/
2523 jroman 27
EXAMPLESC  = test1.c test2.c test3.c test4.c test5.c test6.c
2535 jroman 28
EXAMPLESF  = test7f.F
2356 jroman 29
MANSEC     = EPS
2535 jroman 30
TESTS      = test1 test2 test3 test4 test5 test6 test7f
2356 jroman 31
 
2387 jroman 32
TESTEXAMPLES_C       = test1.PETSc runtest1_1 test1.rm \
2397 eromero 33
                       test2.PETSc runtest2_1 test2.rm \
2492 jroman 34
                       test3.PETSc runtest3_1 test3.rm \
35
                       test4.PETSc runtest4_1 test4.rm \
2523 jroman 36
                       test5.PETSc runtest5_1 test5.rm \
2551 eromero 37
                       test6.PETSc runtest6_1 test6.rm \
38
                       test8.PETSc runtest8_1 test8.rm \
39
                       test9.PETSc runtest9_1 test9.rm \
40
                       test10.PETSc runtest10_1 test10.rm \
41
                       test11.PETSc runtest11_1 test11.rm
2535 jroman 42
TESTEXAMPLES_FORTRAN = test7f.PETSc runtest7f_1 test7f.rm
2509 jroman 43
TESTEXAMPLES_BLOPEX  = test5.PETSc runtest5_blopex test5.rm
2496 jroman 44
 
2356 jroman 45
include ${SLEPC_DIR}/conf/slepc_common
46
 
2362 jroman 47
test1: test1.o chkopts
48
	-${CLINKER} -o test1 test1.o ${SLEPC_LIB}
49
	${RM} test1.o
2356 jroman 50
 
2387 jroman 51
test2: test2.o chkopts
52
	-${CLINKER} -o test2 test2.o ${SLEPC_LIB}
53
	${RM} test2.o
54
 
55
test3: test3.o chkopts
56
	-${CLINKER} -o test3 test3.o ${SLEPC_LIB}
57
	${RM} test3.o
58
 
2451 eromero 59
test4: test4.o chkopts
60
	-${CLINKER} -o test4 test4.o ${SLEPC_LIB}
61
	${RM} test4.o
62
 
2492 jroman 63
test5: test5.o chkopts
64
	-${CLINKER} -o test5 test5.o ${SLEPC_LIB}
65
	${RM} test5.o
66
 
2523 jroman 67
test6: test6.o chkopts
68
	-${CLINKER} -o test6 test6.o ${SLEPC_LIB}
69
	${RM} test6.o
70
 
2535 jroman 71
test7f: test7f.o chkopts
72
	-${FLINKER} -o test7f test7f.o ${SLEPC_LIB}
73
	${RM} test7f.o
74
 
2551 eromero 75
test8: test8.o chkopts
76
	-${CLINKER} -o test8 test8.o ${SLEPC_LIB}
77
	${RM} test8.o
78
 
79
test9: test9.o chkopts
80
	-${CLINKER} -o test9 test9.o ${SLEPC_LIB}
81
	${RM} test9.o
82
 
83
test10: test10.o chkopts
84
	-${CLINKER} -o test10 test10.o ${SLEPC_LIB}
85
	${RM} test10.o
86
 
87
test11: test11.o chkopts
88
	-${CLINKER} -o test11 test11.o ${SLEPC_LIB}
89
	${RM} test11.o
90
 
2356 jroman 91
#------------------------------------------------------------------------------------
2496 jroman 92
EPSALL = krylovschur arnoldi lanczos gd jd
93
EPSNS  = krylovschur arnoldi gd jd
2551 eromero 94
TESTCODE = \
95
	[ x${SAVE_OUTPUT} = xyes ] && cp $${test}.tmp output/$${test}.out; \
96
	${DIFF} output/$${test}.out $${test}.tmp || \
97
	echo "Possible problem with $${test}, diffs above"; \
98
	${RM} -f $${test}.tmp
99
 
2362 jroman 100
runtest1_1:
2551 eromero 101
	-@test=test1_1; \
2496 jroman 102
	for eps in ${EPSALL}; do \
2551 eromero 103
	   echo "eps type $$eps"; \
2543 eromero 104
	   if [ "$$eps" = "lanczos" ]; then EXTRA="-eps_lanczos_reorthog full"; else EXTRA=""; fi; \
2551 eromero 105
	   ${MPIEXEC} -np 1 ./test1 -eps_type $$eps -eps_nev 4 $$EXTRA -eps_terse 2>&1; \
106
	done > $${test}.tmp; \
107
	${TESTCODE}
2362 jroman 108
 
2387 jroman 109
runtest2_1:
2551 eromero 110
	-@test=test2_1; \
2496 jroman 111
	for eps in ${EPSALL}; do \
2551 eromero 112
	   echo "eps type $$eps"; \
2557 eromero 113
	   if [ $$eps = arnoldi -o $$eps = lanczos ]; then EXTRA="-eps_ncv 15"; else EXTRA=""; fi; \
2552 eromero 114
	   ${MPIEXEC} -np 1 ./test2 -eps_type $$eps -eps_nev 4 -eps_terse $$EXTRA 2>&1;    \
2551 eromero 115
	done > $${test}.tmp; \
116
	${TESTCODE}
2387 jroman 117
 
118
runtest3_1:
2551 eromero 119
	-@test=test3_1; \
2496 jroman 120
	for eps in ${EPSALL}; do \
2551 eromero 121
	   echo "eps type $$eps"; \
122
	   ${MPIEXEC} -np 1 ./test3 -eps_type $$eps -eps_nev 4 -eps_terse 2>&1;    \
123
	done > $${test}.tmp; \
124
	${TESTCODE}
2387 jroman 125
 
2451 eromero 126
runtest4_1:
2551 eromero 127
	-@test=test4_1; \
2496 jroman 128
	for eps in ${EPSALL}; do \
2551 eromero 129
	   echo "eps type $$eps"; \
130
	   ${MPIEXEC} -np 1 ./test4 -type $$eps -eps_terse 2>&1;    \
131
	done > $${test}.tmp; \
132
	${TESTCODE}
2451 eromero 133
 
2492 jroman 134
runtest5_1:
2551 eromero 135
	-@test=test5_1; \
2496 jroman 136
	for eps in ${EPSNS}; do \
2492 jroman 137
	   echo "eps type $$eps" >> test5_1.tmp; \
2516 jroman 138
	   ${MPIEXEC} -np 1 ./test5 -eps_type $$eps -eps_nev 4 -eps_terse >> test5_1.tmp 2>&1;    \
2492 jroman 139
	done; \
2540 jroman 140
	if (${GREP} USE_COMPLEX ${PETSC_DIR}/${PETSC_ARCH}/include/petscconf.h > /dev/null 2>&1) then \
2551 eromero 141
	  [ x${SAVE_OUTPUT} = xyes ] && cp test5_1.tmp output/test5_1_complex.out; \
2540 jroman 142
	  if (${DIFF} output/test5_1_complex.out test5_1.tmp) then true; \
143
	  else echo "Possible problem with test5_1, diffs above"; fi; \
144
	else \
2551 eromero 145
	  [ x${SAVE_OUTPUT} = xyes ] && cp test5_1.tmp output/test5_1.out; \
2540 jroman 146
	  if (${DIFF} output/test5_1.out test5_1.tmp) then true; \
147
	  else echo "Possible problem with test5_1, diffs above"; fi; \
148
	fi; \
2492 jroman 149
	${RM} -f test5_1.tmp
150
 
2496 jroman 151
runtest5_blopex:
2531 jroman 152
	-@${MPIEXEC} -np 1 ./test5 -symm -eps_type blopex -eps_nev 4 -eps_terse > test5_blopex.tmp 2>&1; \
2496 jroman 153
	if (${DIFF} output/test5_blopex.out test5_blopex.tmp) then true; \
154
	else echo "Possible problem with test5_blopex, diffs above"; fi; \
155
	${RM} -f test5_blopex.tmp;
2523 jroman 156
 
2531 jroman 157
testtest5_blopex: test5.PETSc
158
	@if [ "${PETSC_WITH_BATCH}" != "" -o "${MPIEXEC}" = "/bin/false" ]; then \
159
           echo "Skipping BLOPEX test"; \
160
	elif [ -f test5 ]; then \
161
           ${MPIEXEC} -np 1 ./test5 -symm -eps_type blopex -eps_nev 4 -eps_terse > test5_blopex.tmp 2>&1; \
162
	   if (${DIFF} output/test5_blopex.out test5_blopex.tmp > /dev/null 2>&1) then \
163
           echo "BLOPEX example src/eps/examples/tests/test5 run successfully with 1 MPI process"; \
164
	   else echo "Possible error running BLOPEX src/eps/examples/tests/test5 with 1 MPI process"; \
165
           cat test5_blopex.tmp; fi; \
166
           ${RM} -f test5_blopex.tmp; \
167
           ${MAKE} SLEPC_ARCH=${SLEPC_ARCH} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} test5.rm ; fi
168
 
2523 jroman 169
runtest6_1:
2551 eromero 170
	-@test=test6_1; \
2523 jroman 171
	for eps in ${EPSNS}; do \
2551 eromero 172
	   echo "eps type $$eps"; \
173
	   ${MPIEXEC} -np 1 ./test6 -eps_type $$eps -eps_nev 4 -eps_terse 2>&1;    \
174
	done > $${test}.tmp; \
175
	${TESTCODE}
2523 jroman 176
 
2535 jroman 177
runtest7f_1:
178
	-@${MPIEXEC} -np 1 ./test7f -eps_nev 4 -eps_terse > test7f_1.tmp 2>&1; \
179
	   if (${DIFF} output/test7f_1.out test7f_1.tmp) then true; \
180
	   else echo "Possible problem with test7f_1, diffs above"; fi; \
181
	   ${RM} -f test7f_1.tmp
182
 
183
testtest7f: test7f.PETSc
184
	@if [ "${PETSC_WITH_BATCH}" != "" ]; then \
185
	   echo "Running with batch filesystem; to test run src/eps/examples/tests/test7f " ; \
186
	   echo "with your systems batch system"; \
187
        elif [ "${MPIEXEC}" = "/bin/false" ]; then \
188
           echo "*mpiexec not found*. Please run src/eps/examples/tests/test7f manually"; \
189
	elif [ -f test7f ]; then \
190
           ${MPIEXEC} -np 1 ./test7f -eps_nev 4 -eps_terse > test7f_1.tmp 2>&1; \
191
	   if (${DIFF} output/test7f_1.out test7f_1.tmp > /dev/null 2>&1) then \
192
           echo "Fortran example src/eps/examples/tests/test7f run successfully with 1 MPI process"; \
193
	   else echo "Possible error running Fortran src/eps/examples/tests/test7f with 1 MPI process"; \
194
           cat test7f_1.tmp; fi; \
195
           ${RM} -f test7f_1.tmp; \
196
           ${MAKE} SLEPC_ARCH=${SLEPC_ARCH} PETSC_ARCH=${PETSC_ARCH} PETSC_DIR=${PETSC_DIR} test7f.rm ; fi
197
 
2551 eromero 198
runtest8_1:
199
	-@test=test8_1; \
200
	for eps in ${EPSALL}; do \
201
	   echo "eps type $$eps"; \
202
	   ${MPIEXEC} -np 1 ./test8 -eps_type $$eps -eps_nev 4 -eps_terse 2>&1; \
203
	done > $${test}.tmp; \
204
	${TESTCODE}
2535 jroman 205
 
2551 eromero 206
runtest9_1:
207
	-@test=test9_1; \
208
	for eps in ${EPSNS}; do \
209
	   echo "eps type $$eps"; \
210
	   ${MPIEXEC} -np 1 ./test9 -eps_type $$eps -eps_nev 4 -eps_terse 2>&1; \
211
	done > $${test}.tmp;\
212
	${TESTCODE}
213
 
214
runtest10_1:
215
	-@test=test10_1; \
216
	for eps in ${EPSALL}; do \
217
	   echo "eps type $$eps"; \
218
	   ${MPIEXEC} -np 1 ./test10 -eps_type $$eps -eps_nev 4 -eps_terse 2>&1; \
219
	done > $${test}.tmp;\
220
	${TESTCODE}
221
 
222
runtest11_1:
223
	-@test=test11_1; \
224
	for eps in ${EPSNS}; do \
225
	   echo "eps type $$eps"; \
2557 eromero 226
	   if [ $$eps = arnoldi ]; then EXTRA="-eps_ncv 50 -eps_max_it 200"; else EXTRA=""; fi; \
2552 eromero 227
	   ${MPIEXEC} -np 1 ./test11 -eps_type $$eps -eps_nev 4 -eps_terse $$EXTRA 2>&1; \
2551 eromero 228
	done > $${test}.tmp;\
229
	${TESTCODE}