Ticket #2629: AlgorithmicModel.mo

File AlgorithmicModel.mo, 1.3 KB (added by Rüdiger Franke, 11 years ago)
Line 
1package AlgorithmicModel
2 model BaseModelEquations
3 parameter Integer n=1000;
4 input Real[n] u1;
5 input Real[n] u2;
6 output Real[n] y1;
7 output Real y2;
8 equation
9 y1=array(if u1[i] > 0 then u1[i] else u2[i] for i in 1:n);
10 y2=sum(y1);
11 end BaseModelEquations;
12
13 model BaseModelAlgorithm
14 parameter Integer n=1000;
15 input Real[n] u1;
16 input Real[n] u2;
17 output Real[n] y1;
18 output Real y2;
19 algorithm
20 y1:=array(if u1[i] > 0 then u1[i] else u2[i] for i in 1:n);
21 y2:=sum(y1);
22 end BaseModelAlgorithm;
23
24 model ExtendedModelEquations
25 extends BaseModelEquations(n=1000);
26 Real[n] v1;
27 equation
28 v1=u1 - u2;
29 end ExtendedModelEquations;
30
31 model ExtendedModelAlgorithm
32 extends BaseModelAlgorithm(n=1000);
33 Real[n] v1;
34 algorithm
35 v1:=u1 - u2;
36 end ExtendedModelAlgorithm;
37
38 model ExtendedModelEquations2
39 extends BaseModelEquations(n=1000);
40 Real[n] v1;
41 equation
42 for i in 1:n loop
43 v1[i]=u1[i] - u2[i];
44 end for;
45 end ExtendedModelEquations2;
46
47 model ExtendedModelAlgorithm2
48 extends BaseModelAlgorithm(n=1000);
49 Real[n] v1;
50 algorithm
51 for i in 1:n loop
52 v1[i]:=u1[i] - u2[i];
53 end for;
54 end ExtendedModelAlgorithm2;
55
56end AlgorithmicModel;