Overview
Comment: | Initial revision |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | origin/master | trunk |
Files: | files | file ages | folders |
SHA3-256: |
51bc7450b503f3018c053b07aee41d9c |
User & Date: | gawthrop@users.sourceforge.net on 1998-08-15 13:58:27 |
Other Links: | branch diff | manifest | tags |
Context
1998-08-15
| ||
14:07:11 | Don't do ImplicitL check-in: b126ff16bf user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
13:58:27 | Initial revision check-in: 51bc7450b5 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
13:51:56 | smx is now I-Adt NOT A check-in: 1fcedb3d34 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Added mttroot/mtt/lib/examples/Simulation/BigHeatedRod/Run version [d98ebed848].
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 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 96 97 98 99 100 101 102 103 104 | #! /bin/sh # Shell script for running the large HeatedRod systems to compare # four integration methods. # Usage example: Run 100 0.25 runf the 100 segment example at interval 0.25 ############################################################### ## Version control history ############################################################### ## $Id$ ## $Log$ ############################################################### n=$1 DT=$2 if [ -z "$n" ]; then echo "First argument is N: number of segments (eg 100)" exit fi if [ -z "$DT" ]; then echo "Second argument is DT: the sample interval (eg 0.25)" exit fi echo "Running system HR$1 with DT = $DT" #Create the system mtt -q rename HR HR$n >/dev/null # Is it already correct? count=`grep -c "*$n" HR$1_abg.fig` # if not, then set the correct number of segments if [ "$count" = "0" ]; then echo Setting number of segments to $n mv HR$1_abg.fig HR$1_abg.old sed "s/\*[0-9]*/*$1/"<HR$1_abg.old>HR$1_abg.fig mv HR$1_numpar.txt HR$1_numpar.old sed "s/segments = [0-9]*/segments = $1/"<HR$1_numpar.old >HR$1_numpar.txt echo "Making the default HR$1_state.txt" rm -f HR$1_state.txt MTT_work/HR$1_state.txt mtt -q HR$1 state txt echo "Setting $n states to c_t*t_0" mv HR$1_state.txt HR$1_state.old sed "s/0.0/c_t*t_0/"<HR$1_state.old >HR$1_state.txt fi echo Computing STEPFACTOR mtt -q HR$n numpar m mtt -q HR$n sm m # What is the minimum step size for Euler? (and for sparse method) octave -q <<EOF >HR$1.tmp1 HR$1_numpar; A=HR$1_sm; Max_Eig=max(eig(-A)) STEPFACTOR=ceil( Max_Eig*$DT/2 ) SparseSTEPFACTOR=5*$n # Emiprical!! EOF MinSTEPFACTOR=`awk '{if ($1=="STEPFACTOR") print $3}' HR$1.tmp1` SparseSTEPFACTOR=`awk '{if ($1=="SparseSTEPFACTOR") print $3}' HR$1.tmp1` rm -f HR$1_table.txt #Set the methods of interest METHODS='ImplicitS Euler ImplicitL Implicit' for METHOD in $METHODS; do case $METHOD in Euler) STEPFACTOR=$MinSTEPFACTOR ;; ImplicitS) STEPFACTOR=$SparseSTEPFACTOR ;; *) STEPFACTOR=1 ;; esac echo "Doing HR$1 with DT=$DT using $METHOD (STEPFACTOR = $STEPFACTOR)" grep -v 'STEPFACTOR' HR_simpar.txt | grep -v 'METHOD' | grep -v 'DT' > HR$1_simpar.txt echo "STEPFACTOR = $STEPFACTOR; # Added automatically" >>HR$1_simpar.txt echo "METHOD = $METHOD; # Added automatically" >>HR$1_simpar.txt echo "DT = $DT; # Added automatically" >>HR$1_simpar.txt mtt -q -c -o HR$1 odeso ps > junk 2>>junk #HR$1_$METHOD.tmp grep user junk |\ awk '{print System " &\t" METHOD " &\t" DT " &\t" STEPFACTOR " &\t" $2 "\\\\"}'\ METHOD=$METHOD STEPFACTOR=$STEPFACTOR System=HR$1 DT=$DT >> HR$1_table.txt cp HR$1_odeso.ps HR$1.$METHOD.$DT.ps done cat HR$1_table.txt |