| Type | Intent | Optional | Attributes | Name | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
subroutine FODE(S, Y, YP, YPOLD, A, QR, ALPHA, TZ, PIVOT, NFE, N, IFLAG)Arguments
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | NEQN | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(:) | :: | Y | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8) | :: | X | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8) | :: | H | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8) | :: | EPS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(neqn) | :: | WT | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| logical | :: | START | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8) | :: | HOLD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | K | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | KOLD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| logical | :: | CRASH | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(neqn,16) | :: | PHI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(neqn) | :: | P | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(neqn) | :: | YP | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(12) | :: | ALPHA | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(12) | :: | W | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(13) | :: | G | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | KSTEPS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8) | :: | XOLD | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | IVC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer, | dimension(10) | :: | IV | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | KGI | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(11) | :: | GI | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(neqn) | :: | FPWA1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(:) | :: | FPWA2 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(neqn-1,neqn) | :: | FPWA3 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(3*neqn) | :: | FPWA4 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| real(kind=R8), | dimension(neqn) | :: | FPWA5 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer, | dimension(neqn) | :: | IFPWA1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | IFPC1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| integer | :: | IFPC2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=R8), | public | :: | ABSH | ||||
| real(kind=R8), | public, | dimension(12) | :: | BETA | |||
| real(kind=R8), | public | :: | ERK | ||||
| real(kind=R8), | public | :: | ERKM1 | ||||
| real(kind=R8), | public | :: | ERKM2 | ||||
| real(kind=R8), | public | :: | ERKP1 | ||||
| real(kind=R8), | public | :: | ERR | ||||
| real(kind=R8), | public | :: | FOURU | ||||
| real(kind=R8), | public, | dimension(13) | :: | GSTR | |||
| real(kind=R8), | public | :: | HNEW | ||||
| real(kind=R8), | public | :: | P5EPS | ||||
| real(kind=R8), | public, | dimension(12) | :: | PSI | |||
| real(kind=R8), | public | :: | R | ||||
| real(kind=R8), | public | :: | REALI | ||||
| real(kind=R8), | public | :: | REALNS | ||||
| real(kind=R8), | public | :: | RHO | ||||
| real(kind=R8), | public | :: | ROUND | ||||
| real(kind=R8), | public, | dimension(13) | :: | SIG | |||
| real(kind=R8), | public | :: | SUM | ||||
| real(kind=R8), | public | :: | TAU | ||||
| real(kind=R8), | public | :: | TEMP1 | ||||
| real(kind=R8), | public | :: | TEMP2 | ||||
| real(kind=R8), | public | :: | TEMP3 | ||||
| real(kind=R8), | public | :: | TEMP4 | ||||
| real(kind=R8), | public | :: | TEMP5 | ||||
| real(kind=R8), | public | :: | TEMP6 | ||||
| real(kind=R8), | public, | dimension(13) | :: | TWO | |||
| real(kind=R8), | public | :: | TWOU | ||||
| real(kind=R8), | public, | dimension(12) | :: | V | |||
| integer, | public | :: | I | ||||
| integer, | public | :: | IFAIL | ||||
| integer, | public | :: | IM1 | ||||
| integer, | public | :: | IP1 | ||||
| integer, | public | :: | IQ | ||||
| integer, | public | :: | J | ||||
| integer, | public | :: | JV | ||||
| integer, | public | :: | KM1 | ||||
| integer, | public | :: | KM2 | ||||
| integer, | public | :: | KNEW | ||||
| integer, | public | :: | KP1 | ||||
| integer, | public | :: | KP2 | ||||
| integer, | public | :: | KPREV | ||||
| integer, | public | :: | L | ||||
| integer, | public | :: | LIMIT1 | ||||
| integer, | public | :: | LIMIT2 | ||||
| integer, | public | :: | NS | ||||
| integer, | public | :: | NSM2 | ||||
| integer, | public | :: | NSP1 | ||||
| integer, | public | :: | NSP2 | ||||
| logical, | public | :: | PHASE1 | ||||
| logical, | public | :: | NORND |
C used by the ODE subroutine STEPS . C USE HOMOTOPY USE REAL_PRECISION C INTEGER, INTENT(IN)::N,NDIMA,TRACE REAL (KIND=R8), DIMENSION(:), INTENT(IN OUT)::A,Y INTEGER, INTENT(IN OUT)::IFLAG REAL (KIND=R8), INTENT(IN OUT)::ARCTOL,EPS INTEGER, INTENT(OUT)::NFE REAL (KIND=R8), INTENT(OUT)::ARCLEN C C LOCAL VARIABLES. REAL (KIND=R8), SAVE:: CURSW,CURTOL,EPSSTP,EPST,H,HOLD, & S,S99,SA,SB,SOUT,SQNP1,XOLD,Y1SOUT INTEGER, SAVE:: IFLAGC,ITER,IVC,JW,K,KGI,KOLD, & KSTEPS,LCODE,LIMIT,NFEC,NP1 LOGICAL, SAVE:: CRASH,START,ST99 C C ***** ARRAY DECLARATIONS. ***** C C ARRAYS NEEDED BY THE ODE SUBROUTINE STEPS . REAL (KIND=R8), ALLOCATABLE, SAVE:: P(:),PHI(:,:),WT(:),YP(:) REAL (KIND=R8), SAVE:: ALPHAS(12),G(13),GI(11),W(12) INTEGER, SAVE:: IV(10) C C ARRAYS NEEDED BY FIXPDF , FODE , AND LAPACK ROUTINES. REAL (KIND=R8), DIMENSION(:), ALLOCATABLE, SAVE:: YPOLD REAL (KIND=R8):: ALPHA(3*N+3),AOLD(NDIMA),QR(N,N+1),TZ(N+1) INTEGER:: PIVOT(N+1) C C ***** END OF DIMENSIONAL INFORMATION. ***** C C LIMITD IS AN UPPER BOUND ON THE NUMBER OF STEPS. IT MAY BE C CHANGED BY CHANGING THE FOLLOWING PARAMETER STATEMENT: INTEGER, PARAMETER:: LIMITD=1000 C INTERFACE SUBROUTINE FODE(S,Y,YP,YPOLD,A,QR,ALPHA,TZ,PIVOT,NFE,N,IFLAG) USE REAL_PRECISION REAL (KIND=R8):: S INTEGER:: IFLAG,N,NFE REAL (KIND=R8):: A(:),Y(:),YP(N+1),YPOLD(N+1) REAL (KIND=R8):: ALPHA(3*N+3),QR(N,N+1),TZ(N+1) INTEGER, DIMENSION(N+1):: PIVOT END SUBROUTINE FODE SUBROUTINE STEPS(F,NEQN,Y,X,H,EPS,WT,START,HOLD,K,KOLD,CRASH, & PHI,P,YP,ALPHA,W,G,KSTEPS,XOLD,IVC,IV,KGI,GI, FPWA1,FPWA2, & FPWA3,FPWA4,FPWA5,IFPWA1,IFPC1,IFPC2) USE REAL_PRECISION EXTERNAL F REAL (KIND=R8):: ALPHA,EPS,FPWA1,FPWA2,FPWA3,FPWA4,FPWA5, & G,GI,H,HOLD,P,PHI,W,WT,X,XOLD,Y,YP INTEGER:: IFPC1,IFPC2,IFPWA1,IV,IVC,K,KGI,KOLD,KSTEPS,NEQN LOGICAL:: CRASH,START DIMENSION Y(:),WT(NEQN),PHI(NEQN,16),P(NEQN),YP(NEQN), & ALPHA(12),W(12),G(13),GI(11),IV(10), & FPWA1(NEQN),FPWA2(:),FPWA3(NEQN-1,NEQN),FPWA4(3*NEQN), & FPWA5(NEQN),IFPWA1(NEQN) END SUBROUTINE STEPS