Index: mttroot/mtt/bin/trans/make_ode2odes
==================================================================
--- mttroot/mtt/bin/trans/make_ode2odes
+++ mttroot/mtt/bin/trans/make_ode2odes
@@ -7,10 +7,13 @@
 ###############################################################
 ## Version control history
 ###############################################################
 ## $Id$
 ## $Log$
+## Revision 1.26  1999/10/20 01:31:43  peterg
+## *** empty log message ***
+##
 ## Revision 1.25  1999/08/29 06:55:26  peterg
 ## Removed [MTTu]  = zero_input($Nu);	# Zero the input
 ## to avoide the p2c bug ????
 ##
 ## Revision 1.24  1999/08/27 06:02:16  peterg
@@ -86,13 +89,21 @@
 # Bourne shell script: make_ode2odes
 
 # Copyright (c) P.J.Gawthrop July 1998.
 
 # Tell user
-echo  Creating $1_ode2odes.m
-
 Sys=$1
+method=$2
+echo  "Creating $1_ode2odes.m with $method integration method"
+
+if [ $method = "implicit" ]; then
+    ode=cse
+    odeo=cseo
+else
+    ode=ode
+    odeo=odeo
+fi
 
 # Find system constants
 Nx=`grep "MTTNx " <$Sys\_def.r | awk '{print $3}' | sed 's/;//'`
 Nu=`grep "MTTNu " <$Sys\_def.r | awk '{print $3}' | sed 's/;//'`
 Ny=`grep "MTTNy " <$Sys\_def.r | awk '{print $3}' | sed 's/;//'`
@@ -117,11 +128,11 @@
 [MTTu]  = zero_input($Nu);	# Zero the input
 
 [MTTx] = $1_state;	        # Read in initial state
 
 
-[MTTy] = $1_odeo(MTTx,MTTu,MTTt); # Evaluate initial output
+[MTTy] = $1_$odeo(MTTx,MTTu,MTTt); # Evaluate initial output
 [MTTu] = $1_input(MTTt,MTTx,MTTy);	# Evaluate initial input
 mtt_write(MTTt,MTTx,MTTy,$Nx,$Ny); # And write them
 
 #[mttAA]  = zero_matrix($Nx);	# Zero the A matrix
 #[mttAAx] = zero_vector($Nx);	# Zero the AAx vector
@@ -128,42 +139,60 @@
 
 #if $Nx>0
 #  [MTTx] = $1_switch(MTTx);       # Switches
 #endif;
 
-if mttmethod==1			# Euler
-  MTTddt = mttdt/mttstepfactor; # The small sample interval
-endif;
+EOF
+
+if [ "$method" = "euler" ]; then
+cat << EOF >> $1_ode2odes.m
+MTTddt = mttdt/mttstepfactor; # The small sample interval
+EOF
+fi
 
 
+cat << EOF >> $1_ode2odes.m
 for MTTit = 1:MTTilast		#Integration loop
 
   if $Nx>0			# Dont if no states
-    if mttmethod==1		# Euler
+EOF
+
+if [ "$method" = "euler" ]; then
+cat << EOF >> $1_ode2odes.m
+#    if mttmethod==1		# Euler
       for MTTjt = 1:mttstepfactor
-	[MTTdx] = $1_ode(MTTx,MTTu,MTTt); # State derivative
+	[MTTdx] = $1_$ode(MTTx,MTTu,MTTt); # State derivative
         [MTTopen] = $1_switchopen(MTTx);        # Open switches
 	[MTTx] = mtt_euler(MTTx,MTTdx,MTTddt,$Nx,MTTopen); # Euler update
 	MTTt = MTTt + MTTddt;
       endfor;
-    endif;
-    if mttmethod==2		# Implicit 
-      [MTTdx] = $1_ode(MTTx,MTTu,MTTt); # State derivative
+#    endif;
+EOF
+fi
+
+if [ "$method" = "implicit" ]; then
+cat << EOF >> $1_ode2odes.m
+#    if mttmethod==2		# Implicit 
+      [MTTdx] = $1_cse(MTTx,MTTu,MTTt); # State derivative
       [mttAA,mttAAx] = $1_smx(MTTx,MTTu,mttdt);	# (I-Adt) and (I-Adt)x
       [MTTopen] = $1_switchopen(MTTx);        # Open switches
       [MTTx] = mtt_implicit(MTTx,MTTdx,mttAA,mttAAx,mttdt,$Nx,MTTopen); # Implicit update
       MTTt = MTTt + mttdt;
-    endif;
-    else
+#    endif;
+EOF
+fi
+
+cat << EOF >> $1_ode2odes.m
+    else # NX is 0 - no states
       MTTt = MTTt + mttdt;
   endif;			# $Nx>0
 
-  [MTTy] = $1_odeo(MTTx,MTTu,MTTt);     # Output 
+  [MTTy] = $1_$odeo(MTTx,MTTu,MTTt);     # Output 
   [MTTu] = $1_input(MTTt,MTTx,MTTy);	# Input
   mtt_write(MTTt,MTTx,MTTy,$Nx,$Ny);    # Write it out
 endfor;				# Integration loop
 
 EOF