Overview
| Comment: | Rationalised local and global optimisations. Fixes presentation of locally optimised code (ode view). Much more elegant :-) |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | origin/global-optimisation | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
e5dbca659dd3ebdbe95b963e8e37c118 |
| User & Date: | geraint@users.sourceforge.net on 2002-09-10 23:24:19.000 |
| Other Links: | branch diff | manifest | tags |
Context
|
2002-09-12
| ||
| 18:50:50 | Uncommented cse optimisations - they seem to work ok. check-in: 18ad62cef3 user: geraint@users.sourceforge.net tags: origin/global-optimisation, trunk | |
|
2002-09-10
| ||
| 23:24:19 |
Rationalised local and global optimisations. Fixes presentation of locally optimised code (ode view). Much more elegant :-) check-in: e5dbca659d user: geraint@users.sourceforge.net tags: origin/global-optimisation, trunk | |
| 22:09:14 | Fixed presentation of globally optimised equations (ode view). check-in: 9b1fb2c9a9 user: geraint@users.sourceforge.net tags: origin/global-optimisation, trunk | |
Changes
Modified mttroot/mtt/bin/trans/cse2ode_r
from [70c1f00663]
to [5f6e4ff143].
| ︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Copyright (c) P.J.Gawthrop, 1991, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.3 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.2 2001/07/13 04:54:04 geraint ## Branch merge: numerical-algebraic-solution back to main. ## ## Revision 1.1.4.1 2001/05/04 04:07:24 geraint | > > > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # Copyright (c) P.J.Gawthrop, 1991, 1994. ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.3.4.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.3 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.2 2001/07/13 04:54:04 geraint ## Branch merge: numerical-algebraic-solution back to main. ## ## Revision 1.1.4.1 2001/05/04 04:07:24 geraint |
| ︙ | ︙ | |||
48 49 50 51 52 53 54 |
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
| | | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
def2write_r $1 ode
def2write_r $1 odeo
#Inform user
echo Creating $1_ode.r $optimise_msg
echo Creating $1_odeo.r $optimise_msg
# Remove the old log file
rm -f cse2ode_r.log
|
| ︙ | ︙ | |||
132 133 134 135 136 137 138 |
in ("$1_odeo_write.r");
write "END;";
SHUT "$1_odeo.r";
quit;
EOF
if [ ${optimise:-""} = "-optimise_global" ]; then
| | | > > > | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 |
in ("$1_odeo_write.r");
write "END;";
SHUT "$1_odeo.r";
quit;
EOF
if [ ${optimise:-""} = "-optimise_global" ]; then
mtt_optimise global $1 ode
mtt_optimise global $1 odeo
elif [ ${optimise:-""} = "-optimise_local" ]; then
mtt_optimise local $1 ode
mtt_optimise local $1 odeo
fi
# Now invoke the standard error handling.
mtt_error_r cse2ode_r.log
|
Modified mttroot/mtt/bin/trans/csm2sm_r
from [9197d41677]
to [2241332550].
| ︙ | ︙ | |||
10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Copyright (c) P.J.Gawthrop, 1991, 1994, 1996 ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.1 2000/12/28 12:24:03 peterg ## Put under RCS ## ## Revision 1.2 1996/08/25 10:11:32 peter | > > > | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # Copyright (c) P.J.Gawthrop, 1991, 1994, 1996 ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2.4.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.2 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.1 2000/12/28 12:24:03 peterg ## Put under RCS ## ## Revision 1.2 1996/08/25 10:11:32 peter |
| ︙ | ︙ | |||
41 42 43 44 45 46 47 |
* )
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
| | | 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
* )
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
def2write_r $1 $2
# Inform user
echo Creating $1_$2.r $optimise_msg
case $2 in
sm)
rep=csm;
|
| ︙ | ︙ | |||
141 142 143 144 145 146 147 |
quit;
EOF
cat $1_$2.r1 $1_$2.r2 > $1_$2.r
if [ ${optimise:-""} = "-optimise_global" ]; then
| > > | | 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
quit;
EOF
cat $1_$2.r1 $1_$2.r2 > $1_$2.r
if [ ${optimise:-""} = "-optimise_global" ]; then
mtt_optimise global $1 $2
elif [ ${optimise:-""} = "-optimise_local" ]; then
mtt_optimise local $1 $2
fi
# Now invoke the standard error handling.
mtt_error_r csm2sm_r.log
|
Modified mttroot/mtt/bin/trans/dae2cse_r
from [4b9ab23fb1]
to [a205b54e0b].
| ︙ | ︙ | |||
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.23 2002/07/10 17:43:05 geraint ## Added feature [ 562453 ] Optimisation of algebraic equations. ## ## Revision 1.22 2002/06/28 15:35:47 geraint ## Commented out aej.r generation (not used yet). ## ## Revision 1.21 2002/06/28 10:13:40 geraint | > > > | 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.23.2.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.23 2002/07/10 17:43:05 geraint ## Added feature [ 562453 ] Optimisation of algebraic equations. ## ## Revision 1.22 2002/06/28 15:35:47 geraint ## Commented out aej.r generation (not used yet). ## ## Revision 1.21 2002/06/28 10:13:40 geraint |
| ︙ | ︙ | |||
146 147 148 149 150 151 152 |
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
| | | | | | 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
def2write_r $fixcc $1 ae
def2write_r $fixcc $1 cse
def2write_r $fixcc $1 csex # Version without E matrix
def2write_r $fixcc $1 cseo
echo "Creating $1_ae.r $optimise_msg"
echo "Creating $1_cse.r $solve_msg $optimise_msg $fix_msg"
echo "Creating $1_csex.r $optimise_msg"
echo "Creating $1_cseo.r $optimise_msg"
# Remove the old log file
|
| ︙ | ︙ | |||
476 477 478 479 480 481 482 |
touch $1_cseo.r2
cat $1_ae.r1 $1_ae.r2 > $1_ae.r
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 [ ${optimise:-""} = "-optimise_global" ]; then
| > > > > > | | | | | 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 |
touch $1_cseo.r2
cat $1_ae.r1 $1_ae.r2 > $1_ae.r
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 [ ${optimise:-""} = "-optimise_global" ]; then
mtt_optimise global $1 ae
# TODO: mtt_optimise global $1 cse
# TODO: mtt_optimise global $1 cseo
# TODO: mtt_optimise global $1 csex
elif [ ${optimise:-""} = "-optimise_local" ]; then
mtt_optimise local $1 ae
# TODO: mtt_optimise local $1 cse
# TODO: mtt_optimise local $1 cseo
# TODO: mtt_optimise local $1 csex
fi
if [ "$solve" = "1" ]; then
echo "Setting MTTNyz=0 in $1_def.r and updating other $1_def files"
gawk '{
if ($1=="MTTNyz")
print "MTTNyz := 0;"
|
| ︙ | ︙ |
Modified mttroot/mtt/bin/trans/dae2lde_r
from [23baf7d704]
to [e4375dbdcc].
| ︙ | ︙ | |||
9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.1 2000/12/28 12:25:13 peterg ## Initial revision ## ############################################################### | > > > | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.2.4.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.2 2001/07/27 23:29:10 geraint ## Optimises only when requested (-opt). ## ## Revision 1.1 2000/12/28 12:25:13 peterg ## Initial revision ## ############################################################### |
| ︙ | ︙ | |||
33 34 35 36 37 38 39 |
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
| | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
# Create the reduce output code
def2write_r $1 lde
def2write_r $1 ldeo
#Inform user
echo Creating $1_lde.r $optimise_msg
echo Creating $1_ldeo.r $optimise_msg
# Remove the old log file
rm -f cse2lde_r.log
|
| ︙ | ︙ | |||
122 123 124 125 126 127 128 |
in ("$1_ldeo_write.r");
write "END;";
SHUT "$1_ldeo.r";
quit;
EOF
if [ ${optimise:-""} = "-optimise_global" ]; then
| > > > | | | 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
in ("$1_ldeo_write.r");
write "END;";
SHUT "$1_ldeo.r";
quit;
EOF
if [ ${optimise:-""} = "-optimise_global" ]; then
# TODO: mtt_optimise global $1 lde
# TODO: mtt_optimise global $1 ldeo
elif [ ${optimise:-""} = "-optimise_local" ]; then
# TODO: mtt_optimise local $1 lde
# TODO: mtt_optimise local $1 ldeo
fi
# Now invoke the standard error handling.
mtt_error_r cse2lde_r.log
|
Modified mttroot/mtt/bin/trans/def2write_r
from [f2349eb5aa]
to [3eb9390062].
| ︙ | ︙ | |||
9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.16.2.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.16 2002/09/03 19:34:15 geraint ## Write EdX regardless - csex is needed to create ode when not optimised. ## ## Revision 1.15 2002/08/29 15:45:20 geraint | > > > | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # Copyright (C) 2000 by Peter J. Gawthrop ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ## Revision 1.16.2.2 2002/09/10 22:09:14 geraint ## Fixed presentation of globally optimised equations (ode view). ## ## Revision 1.16.2.1 2002/09/03 23:44:43 geraint ## adding global optimisation (-optg). ## ## Revision 1.16 2002/09/03 19:34:15 geraint ## Write EdX regardless - csex is needed to create ode when not optimised. ## ## Revision 1.15 2002/08/29 15:45:20 geraint |
| ︙ | ︙ | |||
78 79 80 81 82 83 84 |
## Initial revision
##
###############################################################
optimise=''
while [ -n "`echo $1 | grep '^-'`" ]; do
case $1 in
| < < < < < < | | 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 |
## Initial revision
##
###############################################################
optimise=''
while [ -n "`echo $1 | grep '^-'`" ]; do
case $1 in
-fixcc )
include=`echo 'in "'$MTT_LIB'/reduce/fix_c.r";'` ;;
*)
echo "$1 is an invalid argument - ignoring" ;;
esac
shift
done
sys=$1 # System name
rep=$2 # System representation
# Inform User
echo Creating $1_$2_write.r
# Find system constants
Nx=`mtt_getsize $sys x` # States
Nxx=`mtt_getsize $sys xx` # States x States
Nu=`mtt_getsize $sys u` # Inputs
Ny=`mtt_getsize $sys y` # Outputs
Nyz=`mtt_getsize $sys yz` # Zero outputs
|
| ︙ | ︙ | |||
157 158 159 160 161 162 163 164 |
ns="$Nx $Nx $Ny $Ny"
ms="$Nx $Nu $Nx $Nu"
;;
*)
echo def2write_r: representation $rep not recognised
exit
esac
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | | < < < < < < | | | < | | 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
ns="$Nx $Nx $Ny $Ny"
ms="$Nx $Nu $Nx $Nu"
;;
*)
echo def2write_r: representation $rep not recognised
exit
esac
# Remove log files
rm -f def2write_r1.log def2write_r2.log
# Write out the code
echo "" > $1_$2_write.r
echo 'off echo$' >> $1_$2_write.r
echo 'load gentran$' >> $1_$2_write.r
for matrix in $matrices; do
matrix_exists=`grep -i MTT${matrix} ${sys}_dae.r | wc -l | gawk '{print $1}'`
if [ "$matrix" = "EdX" -o $matrix_exists -gt 0 ]; then
n=`first "$ns"`; ns=`rest "$ns"`
m=`first "$ms"`; ms=`rest "$ms"`
is=`n2m 1 $n`;
js=`n2m 1 $m`;
echo "write \"% Begin Matrix MTT${matrix}\"$" >> $1_$2_write.r
if [ $n -ge 1 ]; then
for i in $is; do
for j in $js; do
echo 'write'
name=`echo MTT$matrix'('$i','$j')'`
echo ' '$comma$name ':=' $name '$'
done
done
fi >> $1_$2_write.r
echo "write \"% End Matrix MTT${matrix}\"$" >> $1_$2_write.r
fi
done
echo ';END;' >>$1_$2_write.r
|
Added mttroot/mtt/bin/trans/mtt_optimise version [c438ecdefe].
Deleted mttroot/mtt/bin/trans/mtt_optimise_global version [2e6c7a680f].