#include "implicit_f.inc"
Go to the source code of this file.
|
| subroutine | vinterdp (tf, iad, ipos, ilen, nel0, x, dydx, y) |
◆ vinterdp()
| subroutine vinterdp |
( |
| tf, |
|
|
integer, dimension(*) | iad, |
|
|
integer, dimension(*) | ipos, |
|
|
integer, dimension(*) | ilen, |
|
|
integer | nel0, |
|
|
double precision, dimension(*) | x, |
|
|
double precision, dimension(*) | dydx, |
|
|
double precision, dimension(*) | y ) |
Definition at line 28 of file vinterdp.F.
29
30
31
32#include "implicit_f.inc"
33
34 INTEGER ILEN(*),IPOS(*),IAD(*),NEL0
36 INTEGER I,J1,J,,J2
37 DOUBLE PRECISION :: X(*),DYDX(*),Y(*)
38 DOUBLE PRECISION TF2J2,TF2J1,TF1J2,TF1J1,
39 . XDP,YYDP, DYDXDP
40
41
42 j = 0
43 100 CONTINUE
44
45 j = j+1
46 icont = 0
47 DO i=1,nel0
48 j1 = ipos(i)+iad(i)+1
49 IF(j<=ilen(i)-1.AND.x(i)>tf(1,j1))THEN
50 ipos(i)=ipos(i)+1
51 icont = 1
52 ENDIF
53 ENDDO
54
55 IF(icont==1)GOTO 100
56
57 DO i=1,nel0
58 j1 =ipos(i)+iad(i)
59 j2 = j1+1
60
61 tf2j2 = tf(2,j2)
62 tf2j1 = tf(2,j1)
63 tf1j2 = tf(1,j2)
64 tf1j1 = tf(1,j1)
65 xdp = x(i)
66
67 dydxdp = (tf2j2-tf2j1)/(tf1j2-tf1j1)
68 dydx(i) = dydxdp
69
70 yydp = tf2j1 + dydxdp * (xdp - tf1j1)
71 y(i) = yydp
72
73
74
75 ENDDO
76
77 RETURN