disser1.pdf (2006 KB) - Ernst-Moritz-Arndt-Universität Greifswald
disser1.pdf (2006 KB) - Ernst-Moritz-Arndt-Universität Greifswald
disser1.pdf (2006 KB) - Ernst-Moritz-Arndt-Universität Greifswald
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
B. OC-ODE<br />
c Call to OC-ODE<br />
c OPEN( INFO(9),FILE=’OUT’,STATUS=’UNKNOWN’)<br />
CALL OCODE( T, XL, XU, UL, UU, P, G, BC,<br />
+ TOL, TAUU, TAUX, LIW, LRW, IRES,<br />
+ IREALTIME, NREALTIME, HREALTIME,<br />
+ IADJOINT, RWADJ, LRWADJ, IWADJ, LIWADJ, .FALSE.,<br />
+ MERIT,IUPDATE,LENACTIVE,ACTIVE,IPARAM,PARAM,<br />
+ DIM,INFO,IWORK,RWORK,SOL,NVAR,IUSER,USER)<br />
PRINT*,’Ausgabe der Loesung: NVAR=’,NVAR<br />
WRITE(*,’(E30.16)’) (SOL(I),I=1,NVAR)<br />
c CLOSE(INFO(9))<br />
c READ(*,*)<br />
END<br />
c-------------------------------------------------<br />
c Objective Function<br />
c-------------------------------------------------<br />
SUBROUTINE OBJ( X0, XF, TF, P, V, IUSER, USER )<br />
IMPLICIT NONE<br />
INTEGER IUSER(*)<br />
DOUBLEPRECISION X0(*),XF(*),TF,P(*),V,USER(*)<br />
V = -XF(4)<br />
RETURN<br />
END<br />
c-------------------------------------------------<br />
c Differential Equation<br />
c-------------------------------------------------<br />
SUBROUTINE DAE( T, X, XP, U, P, F, IFLAG, IUSER, USER )<br />
IMPLICIT NONE<br />
INTEGER IFLAG,IUSER(*)<br />
DOUBLEPRECISION T,X(*),XP(*),U(*),P(*),F(*),USER(*)<br />
F(1) = 0.4D0*X(1)*(1-X(1))-U(1)*1.5D0*25.0D0*X(1)/1.0<br />
+ D+5-0.02D0*X(1)*X(2)/1.2D0-0.02D0*X(1)*X(3)/1.3D0<br />
F(2) = 0.6D0*X(2)*(1-X(2)/1.2D0)-U(2)*6.4D0*250.0D0*X(2)<br />
+ /1.2D+6-0.0125D0*X(1)*X(2)/1.2D0 - 0.01D0*X(2)*X(3)<br />
+ /1.56D0<br />
F(3) = 0.6D0*X(3)*(1-X(3)/1.3D0)-U(3)*6.4D0*250.0D0*X(3)<br />
+ /1.3D+6-0.0125D0*X(1)*X(3)/1.3D0 - 0.01D0*X(2)*X(3)<br />
+ /1.56D0<br />
F(4) = ((1130.0D0*U(1)*1.5D0*250.0D0*X(1)/1.0D+6)+(270.0D0<br />
140