Overview
| Comment: | *** empty log message *** |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | origin/master | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
3639621440362a62e2338e98fd563b76 |
| User & Date: | gawthrop@users.sourceforge.net on 1998-08-14 10:03:59.000 |
| Other Links: | branch diff | manifest | tags |
Context
|
1998-08-14
| ||
| 10:43:44 | Added ImplicitS - sparse integration check-in: d43c0033dc user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
| 10:03:59 | *** empty log message *** check-in: 3639621440 user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
| 07:58:13 | Initial revision check-in: 1a24a30c1d user: gawthrop@users.sourceforge.net tags: origin/master, trunk | |
Changes
Modified mttroot/mtt/bin/trans/p/mtt_update.p
from [03c4ae37e1]
to [19c3d6b4db].
| ︙ | ︙ | |||
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
CONST
Small = 0.000001;
VAR
i,j : INTEGER;
AA : StateMatrix;
BB,Ax : StateVector;
(*$I mtt_solve.p *)
BEGIN{mtt_update}
IF Method=1 THEN {Euler}
FOR i := 1 TO Nx DO
xnew[i] := xnew[i] + dx[i]*DT
ELSE IF (Method=2) OR (METHOD=3) THEN {Implicit}
BEGIN
| > > | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
CONST
Small = 0.000001;
VAR
i,j : INTEGER;
AA : StateMatrix;
BB,Ax : StateVector;
rsq : REAL;
(*$I mtt_solve.p *)
(*$I mtt_sparse.p *)
BEGIN{mtt_update}
IF Method=1 THEN {Euler}
FOR i := 1 TO Nx DO
xnew[i] := xnew[i] + dx[i]*DT
ELSE IF (Method=2) OR (METHOD=3) THEN {Implicit}
BEGIN
|
| ︙ | ︙ | |||
38 39 40 41 42 43 44 |
FOR i := 1 TO Nx DO
BB[i] := x[i] + DT*(dx[i]-Ax[i]);
{Solve the equation AAx = B}
mtt_solve(xnew,AA,BB,Nx,Small);
END
| > > > > > > > > | | > > | 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
FOR i := 1 TO Nx DO
BB[i] := x[i] + DT*(dx[i]-Ax[i]);
{Solve the equation AAx = B}
mtt_solve(xnew,AA,BB,Nx,Small);
END
ELSE IF (METHOD=4) THEN {Sparse CG implicit}
BEGIN
mtt_asub(x,Ax,Nx); {Sparse computation of (1-A*dt)*x}
FOR i := 1 TO Nx DO
BB[i] := Ax[i]+ DT*dx[i];
mtt_sparse(BB,Nx,xnew,rsq); {Sparse CG solution
- using prev. xnew as starter}
END
ELSE
Writeln("Method >4 is not defined");
END{mtt_update};
|