Differences From Artifact [12daf8e2e4]:

To Artifact [43be042abf]:


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











+
+
+







#! /bin/sh

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

###############################################################
## Version control history
###############################################################
## $Id$
## $Log$
## Revision 1.7  1998/07/30 11:29:54  peterg
## Added implicit integration stuff
##
## Revision 1.6  1998/07/30 10:44:37  peterg
## INcluded othe integration methods.
##
## Revision 1.5  1998/07/26 11:02:20  peterg
## Put mtt or MTT  in front of variable names to avoid clashes with
## globals
##
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
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







-
-
-
+
+









-
+




-
-
+
+



-
+


-
+

-
+









sympar2global_txt2m $1 >> $1_ode2odes.m

# The rest of the program
cat << EOF >> $1_ode2odes.m

$1_simpar;			# Read in simulation parameters
$1_numpar;			# Read in parameters

MTTiLast = round(mttLAST/mttDT);         # Total number of steps
mttDDT = mttDT/mttSTEPFACTOR;
MTTilast = round(mttlast/mttdt);         # Total number of steps
mttddt = mttdt/mttstepfactor;

#Initialise
MTTt = 0.0;
[MTTx] = $1_state;	        # Read in initial state
[MTTu] = $1_input(MTTx,MTTt);        # Evaluate initial input
[MTTy] = $1_odeo(MTTx,MTTu,MTTt);    # Evaluate initial output
mtt_write(MTTt,MTTx,MTTy,$Nx,$Ny); # And write them
[mttA] = zeros($Nx); # Zero the A matrix

if mttMETHOD==2 #Linear implicit
if mttmethod==2 #Linear implicit
  mttA = $1_smx(MTTx,MTTu); # Set up A matrix - linearised system
end;

#Integration loop
for MTTit = 1:MTTiLast
    for MTTi = 1:mttSTEPFACTOR
for MTTit = 1:MTTilast
    for MTTi = 1:mttstepfactor
        [MTTu] = $1_input(MTTx,MTTt);# Input
        [MTTx] = $1_switch(MTTx); # Switches
        [MTTdx] = $1_ode(MTTx,MTTu,MTTt);
        if mttMETHOD==3
        if mttmethod==3
          mttA = $1_smx(MTTx,MTTu); # Set up A matrix - linearised system
        end;
        [MTTx] = mtt_update(MTTdx,MTTx,mttDDT,$Nx,mttMETHOD,mttA);
        [MTTx] = mtt_update(MTTdx,MTTx,mttddt,$Nx,mttmethod,mttA);
        [MTTy] = $1_odeo(MTTx,MTTu,MTTt);
	MTTt = MTTt + mttDDT;
	MTTt = MTTt + mttddt;
    end;
    mtt_write(MTTt,MTTx,MTTy,$Nx,$Ny);
end;

EOF





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