OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
vinterdp.F File Reference
#include "implicit_f.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine vinterdp (tf, iad, ipos, ilen, nel0, x, dydx, y)

Function/Subroutine Documentation

◆ 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.

29C-----------------------------------------------
30C I m p l i c i t T y p e s
31C-----------------------------------------------
32#include "implicit_f.inc"
33C
34 INTEGER ILEN(*),IPOS(*),IAD(*),NEL0
35 my_real tf(2,*)
36 INTEGER I,J1,J,ICONT,J2
37 DOUBLE PRECISION :: X(*),DYDX(*),Y(*)
38 DOUBLE PRECISION YDP, TF2J2,TF2J1,TF1J2,TF1J1,
39 . XDP,YYDP, DYDXDP
40C
41C
42 j = 0
43 100 CONTINUE
44C
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
54C
55 IF(icont==1)GOTO 100
56C
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! DYDX(I)=(TF(2,J2)-TF(2,J1))/(TF(1,J2)-TF(1,J1))
74! Y(I) = TF(2,J1) + DYDX(I)*(X(I)-TF(1,J1))
75 ENDDO
76C
77 RETURN
#define my_real
Definition cppsort.cpp:32