11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# Copyright (c) P.J.Gawthrop 1991, 1992, 1994.
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.11 1998/11/26 09:18:55 peterg
## Incluse subs.r
##
## Revision 1.10 1998/11/18 13:50:29 peterg
## Removed writeing of EYz matrix
##
## Revision 1.9 1998/11/18 10:53:38 peterg
|
>
>
>
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# Copyright (c) P.J.Gawthrop 1991, 1992, 1994.
###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.12 2000/10/10 21:00:58 peterg
## New code genration
##
## Revision 1.11 1998/11/26 09:18:55 peterg
## Incluse subs.r
##
## Revision 1.10 1998/11/18 13:50:29 peterg
## Removed writeing of EYz matrix
##
## Revision 1.9 1998/11/18 10:53:38 peterg
|
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
|
##
## Revision 1.1 1996/08/15 16:47:02 peter
## Initial revision
##
###############################################################
# Create the reduce output code
def2write_r $1 cse
def2write_r $1 cseo
#Explicit solution option
solve=0
while [ -n "`echo $1 | grep '^-'`" ]; do
case $1 in
-A )
solve=1;;
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
if [ "$solve" = "1" ]; then
echo "Creating $1_cse.r (with explicit solution of algebraic equations)"
else
echo "Creating $1_cse.r"
fi
# Remove the old log file
rm -f dae2cse_r.log
# Use reduce to accomplish the transformation
$SYMBOLIC >dae2cse_r.log << EOF
|
|
>
>
>
>
|
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
|
##
## Revision 1.1 1996/08/15 16:47:02 peter
## Initial revision
##
###############################################################
# Create the reduce output code
def2write_r $1 cse
def2write_r $1 csex # Version without E matrix
def2write_r $1 cseo
#Explicit solution option
solve=0
while [ -n "`echo $1 | grep '^-'`" ]; do
case $1 in
-A )
solve=1;;
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
if [ "$solve" = "1" ]; then
echo "Creating $1_cse.r (with explicit solution of algebraic equations)"
else
echo "Creating $1_cse.r"
fi
echo "Creating $1_csex.r"
echo "Creating $1_cseo.r"
# Remove the old log file
rm -f dae2cse_r.log
# Use reduce to accomplish the transformation
$SYMBOLIC >dae2cse_r.log << EOF
|
268
269
270
271
272
273
274
275
276
277
278
279
280
281
|
% Create the matrix declarations
OUT "$1_cse.r1";
write "MATRIX MTTEdx(", MTTNx, ",", 1, ")$";
write "MATRIX MTTE(", MTTNx, ",", MTTNx, ")$";
SHUT "$1_cse.r1";
OUT "$1_cseo.r1";
write "MATRIX MTTY(", MTTNy, ",", MTTNx, ")$";
SHUT "$1_cseo.r1";
%%Create the _cse.r file
OUT "$1_cse.r2";
write "%File: $1_cse.r";
|
>
>
>
>
|
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
|
% Create the matrix declarations
OUT "$1_cse.r1";
write "MATRIX MTTEdx(", MTTNx, ",", 1, ")$";
write "MATRIX MTTE(", MTTNx, ",", MTTNx, ")$";
SHUT "$1_cse.r1";
OUT "$1_csex.r1";
write "MATRIX MTTEdx(", MTTNx, ",", 1, ")$";
SHUT "$1_csex.r1";
OUT "$1_cseo.r1";
write "MATRIX MTTY(", MTTNy, ",", MTTNx, ")$";
SHUT "$1_cseo.r1";
%%Create the _cse.r file
OUT "$1_cse.r2";
write "%File: $1_cse.r";
|
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
|
% MTT_Matrix_m := 1$
% Reduce_Matrix()$
write ";END;";
SHUT "$1_cse.r2";
%Write out the output equations
OUT "$1_cseo.r2";
write "%File: $1_cseo.r";
in ("$1_cseo_write.r");
write "END;";
SHUT "$1_cseo.r2";
quit;
EOF
cat $1_cse.r1 $1_cse.r2 > $1_cse.r
cat $1_cseo.r1 $1_cseo.r2 > $1_cseo.r
if [ "$solve" = "1" ]; then
echo "Setting MTTNyz=0 in $1_def.r and removing other $1_def files"
awk '{
if ($1=="MTTNyz")
print "MTTNyz := 0;"
|
>
>
>
>
>
>
>
|
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
|
% MTT_Matrix_m := 1$
% Reduce_Matrix()$
write ";END;";
SHUT "$1_cse.r2";
OUT "$1_csex.r2";
write "%File: $1_cse.r";
in ("$1_csex_write.r");
write "END;";
SHUT "$1_csex.r2";
%Write out the output equations
OUT "$1_cseo.r2";
write "%File: $1_cseo.r";
in ("$1_cseo_write.r");
write "END;";
SHUT "$1_cseo.r2";
quit;
EOF
cat $1_cse.r1 $1_cse.r2 > $1_cse.r
cat $1_csex.r1 $1_csex.r2 > $1_csex.r
cat $1_cseo.r1 $1_cseo.r2 > $1_cseo.r
if [ "$solve" = "1" ]; then
echo "Setting MTTNyz=0 in $1_def.r and removing other $1_def files"
awk '{
if ($1=="MTTNyz")
print "MTTNyz := 0;"
|