1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
PROCEDURE mtt_implicit(VAR xnew : StateVector;
x,dx : StateVector;
AA : StateMatrix;
AAx : StateVector;
dt : REAL;
Nx : INTEGER;
open : StateVector);
VAR
i,ii,j,jj,Nxsub : INTEGER;
BB,xsub : StateVector;
AAsub : StateMatrix;
BEGIN{mtt_implicit}
ii := 0;
FOR i := 1 TO Nx DO {BB is (1-A*dt)*x +dx*dt}
BEGIN
IF open[i]<0.5 THEN
BEGIN
ii := ii+1; jj := 0;
|
>
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
PROCEDURE mtt_implicit(VAR xnew : StateVector;
x,dx : StateVector;
AA : StateMatrix;
AAx : StateVector;
dt : REAL;
Nx : INTEGER;
open : StateVector);
VAR
i,ii,j,jj,Nxsub : INTEGER;
BB,xsub : StateVector;
AAsub : StateMatrix;
(*$I $MTTPATH/trans/p/mtt_solve.p *)
BEGIN{mtt_implicit}
ii := 0;
FOR i := 1 TO Nx DO {BB is (1-A*dt)*x +dx*dt}
BEGIN
IF open[i]<0.5 THEN
BEGIN
ii := ii+1; jj := 0;
|
37
38
39
40
41
42
43
44
45
46
47
|
IF open[i]<0.5 THEN
BEGIN
ii := ii+1;
xnew[i] := xsub[ii];
END
ELSE
xnew[i] := 0.0;
writeln(i,ii);
END;
END;{mtt_implicit}
|
<
|
39
40
41
42
43
44
45
46
47
48
|
IF open[i]<0.5 THEN
BEGIN
ii := ii+1;
xnew[i] := xsub[ii];
END
ELSE
xnew[i] := 0.0;
END;
END;{mtt_implicit}
|