1#!/bin/sh
2# test_sub.sh ver.1.0
3# 2010.03.26 Xi YUAN
4# ----------------------------
5# FrontSTR Test for Examples
6
7PATH=../../../fistr1/bin:$PATH
8fstr=fistr1
9launcher=../../../fistr1/tools/launcher/fstr_srun.sh
10
11test_log="test.log"
12
13
14print_u () {
15	fg=1
16	cat $1 | while read s
17	do
18		if [ "${s}" = "##### Global Summary :Max/Min####" ]; then
19			if [ fg ]; then
20				echo "---------------------------------------------------"
21			fi
22			fg=0
23			# U1,U2,U3
24			read s
25			echo ${s}
26			read s
27			echo ${s}
28			read s
29			echo ${s}
30			# E11-S13
31			read s
32			read s
33			read s
34			read s
35			read s
36			read s
37			read s
38			read s
39			read s
40			read s
41			read s
42			read s
43			# SMS
44			read s
45			echo ${s}
46			#
47		fi
48	done
49}
50
51
52print_shell_u () {
53	fg=1
54	cat $1 | while read s
55	do
56		if [ "${s}" = "##### Global Summary :Max/Min####" ]; then
57			if [ fg ]; then
58				echo "---------------------------------------------------"
59			fi
60			fg=0
61			# U1,U2,U3,R1,R2,R3
62			read s
63			echo ${s}
64			read s
65			echo ${s}
66			read s
67			echo ${s}
68			read s
69			echo ${s}
70			read s
71			echo ${s}
72			read s
73			echo ${s}
74			# E11(+)-S13(+)
75			read s
76			read s
77			read s
78			read s
79			read s
80			read s
81			read s
82			read s
83			read s
84			read s
85			read s
86			read s
87			read s
88			read s
89			read s
90			# SMS(+)
91			read s
92			echo ${s}
93			read s
94			read s
95			read s
96			read s
97			read s
98			# SMS(-)
99			read s
100			echo ${s}
101			#
102		fi
103	done
104}
105
106
107run () {
108	echo ${1}
109	echo "===================================================" >> ${test_log}
110	echo ${1} >> ${test_log}
111	cnt=${1}.cnt
112	log=${1}.log
113	res=${1}.res
114	vis=${1}.vis
115	displog=${1}.disp.txt
116	fg_shell=${2}
117	rm 0.log
118	rm dyna_*.txt
119	${launcher} -f ${fstr} -l ${log} ${mesh} ${cnt} ${res} ${vis}
120	if [ -e "0.log" ]; then
121		if [ "${fg_shell}" = "true" ]; then
122			print_shell_u 0.log >> ${test_log}
123		else
124			print_u 0.log >> ${test_log}
125		fi
126	else
127		echo "### ERROR ###" >> ${test_log}
128	fi
129	if [ -e "dyna_disp_p1.txt" ]; then
130		cp dyna_disp_p1.txt ${displog}
131	fi
132
133}
134
135run_342 () {
136	mesh=${model_342}
137	for i in ${cnt_342}
138	do
139		run ${i} false
140	done
141}
142
143run_361 () {
144	mesh=${model_361}
145	for i in ${cnt_361}
146	do
147		run ${i} false
148	done
149}
150
151run_741 () {
152	mesh=${model_741}
153	for i in ${cnt_741}
154	do
155		run ${i} false
156	done
157}
158
159run_731 () {
160	mesh=${model_731}
161	for i in ${cnt_731}
162	do
163		run ${i} false
164	done
165}
166
167
168list_up () {
169	echo "2d model   : ${model_2d}"
170	echo "2d ctrl    : ${cnt_2d}"
171	echo "3d model   : ${model_3d}"
172	echo "3d ctrl    : ${cnt_3d}"
173	echo "shell model: ${model_shell}"
174	echo "shell ctrl : ${cnt_shell}"
175}
176
177
178help () {
179	echo "FrontSTR executing test"
180	echo "[usage] test.sh (options)"
181	echo " -h      : help (this message)"
182	echo " -l      : list up models"
183	echo "  2d     : 2 dimentional model"
184	echo "  3d     : 3 dimentional model"
185	echo "  shell  : shell model"
186	echo "  all or no options : all model"
187}
188
189
190############################# MAIN ################################
191
192echo "Max/Min Displacement" > ${test_log}
193
194if [ $# -lt 1 -o "${1}" = "all" ]; then
195	run_342
196	run_361
197	run_741
198	run_731
199	exit
200fi
201
202for i in $*
203do
204	if   [ "${i}" = "-h"    ]; then
205		help
206		exit
207	elif [ "${i}" = "-l"    ]; then
208		list_up
209		exit
210	elif [ "${i}" = "342"    ]; then run_342
211	elif [ "${i}" = "361"    ]; then run_361
212	elif [ "${i}" = "shell" ]; then run_shell
213	else
214		echo "## Error in ${0}: unknown parameter ${i}"
215		echo "   show help with -h"
216		exit
217	fi
218done
219
220
221