Differences From Artifact [1b9ab8c53c]:

To Artifact [3f3672d7e0]:


1
2
3
4
5
6
7
8
9
10
11




12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22











+
+
+
+







#! /bin/sh

     ###################################### 
     ##### Model Transformation Tools #####
    ######################################

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.28  1999/12/08 05:56:52  peterg
## Reordered the writing of the input and output.
## Note that last value now discarded.
##
## Revision 1.27  1999/11/15 22:47:53  peterg
## Generates method-specific code.
##
## Revision 1.26  1999/10/20 01:31:43  peterg
## *** empty log message ***
##
## Revision 1.25  1999/08/29 06:55:26  peterg
146
147
148
149
150
151
152
153

154
155
156
157
158
159
160
161
162
163
164

165
166
167
168
169
170
171
150
151
152
153
154
155
156

157
158
159
160
161
162
163
164
165
166
167

168
169
170
171
172
173
174
175







-
+










-
+







MTTddt = mttdt/mttstepfactor; # The small sample interval
EOF
fi


cat << EOF >> $1_ode2odes.m
for MTTit = 1:MTTilast		#Integration loop
  [MTTy] = $1_$odeo(MTTx,MTTu,MTTt);     # Output 
  [MTTy] = $1_$odeo(MTTx,MTTu,MTTt,MTTpar);     # Output 
  [MTTu] = $1_input(MTTt,MTTx,MTTy);	# Input
  mtt_write(MTTt,MTTx,MTTy,$Nx,$Ny);    # Write it out

  if $Nx>0			# Dont if no states
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,MTTpar); # State derivative
        [MTTopen] = $1_switchopen(MTTx);        # Open switches
	[MTTx] = mtt_euler(MTTx,MTTdx,MTTddt,$Nx,MTTopen); # Euler update
	MTTt = MTTt + MTTddt;
      endfor;
#    endif;
EOF
fi

MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]