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

Go to the source code of this file.

Functions/Subroutines

subroutine vinter (tf, iad, ipos, ilen, nel, x, dydx, y)
subroutine vinter2 (tf, iad, ipos, ilen, nel0, x, dydx, y)
subroutine vinter2dp (tf, iad, ipos, ilen, nel0, x, dydx, y)
program __vinter_f__

Function/Subroutine Documentation

◆ __vinter_f__()

program __vinter_f__

Definition at line 281 of file vinter.F.

◆ vinter()

subroutine vinter ( tf,
integer, dimension(nel) iad,
integer, dimension(nel) ipos,
integer, dimension(nel) ilen,
integer nel,
x,
dydx,
y )

Definition at line 72 of file vinter.F.

73C-----------------------------------------------
74C I m p l i c i t T y p e s
75C-----------------------------------------------
76#include "implicit_f.inc"
77C
78 INTEGER :: NEL
79 INTEGER :: ILEN(NEL),IPOS(NEL),IAD(NEL)
80 my_real :: x(nel),dydx(nel),y(nel)
81 my_real :: tf(2,*)
82C-----------------------------------------------
83 INTEGER :: I,J,J1,J2,ICONT
84C=======================================================================
85 j = 0
86 100 CONTINUE
87C
88 j = j+1
89 icont = 0
90 DO i=1,nel
91 j1 = ipos(i)+iad(i)+1
92 IF(j<=ilen(i)-1.AND.x(i)>tf(1,j1))THEN
93 ipos(i)=ipos(i)+1
94 icont = 1
95 ENDIF
96 ENDDO
97C
98 IF(icont==1)GOTO 100
99C
100 DO i=1,nel
101 j1 =ipos(i)+iad(i)
102 j2 = j1+1
103 dydx(i)=(tf(2,j2)-tf(2,j1))/(tf(1,j2)-tf(1,j1))
104 y(i) = tf(2,j1) + dydx(i)*(x(i)-tf(1,j1))
105 ENDDO
106C
107 RETURN
#define my_real
Definition cppsort.cpp:32

◆ vinter2()

subroutine vinter2 ( tf,
integer, dimension(*) iad,
integer, dimension(*) ipos,
integer, dimension(*) ilen,
integer nel0,
x,
dydx,
y )

Definition at line 143 of file vinter.F.

144C same as vinter with possibility to decrease x
145C-----------------------------------------------
146C I m p l i c i t T y p e s
147C-----------------------------------------------
148#include "implicit_f.inc"
149C
150 INTEGER ILEN(*),IPOS(*),IAD(*),NEL0
151 my_real x(*),dydx(*),y(*),tf(2,*)
152 INTEGER I,J1,J,ICONT,J2
153
154 my_real tf2j2,tf2j1,tf1j2,tf1j1,
155 . xdp,yydp, dydxdp
156 LOGICAL COND1, COND2
157C
158 j = 0
159 icont = 1
160 DO WHILE(icont==1)
161C
162 j = j+1
163 icont = 0
164 DO i=1,nel0
165 j1 = ipos(i)+iad(i)+1
166 cond1 = j<=ilen(i)-1
167 IF(cond1) cond1 = x(i)>tf(1,j1)
168 cond2 = ipos(i)>=1
169 IF(cond2) cond2 = x(i)<tf(1,j1-1)
170 IF(cond1)THEN
171 ipos(i)=ipos(i)+1
172 icont = 1
173 ELSEIF(cond2)THEN
174 ipos(i)=ipos(i)-1
175 icont = 1
176 ENDIF
177 ENDDO
178C
179 ENDDO
180C
181 DO i=1,nel0
182 j1 =ipos(i)+iad(i)
183 j2 = j1+1
184
185 tf2j2 = tf(2,j2)
186 tf2j1 = tf(2,j1)
187 tf1j2 = tf(1,j2)
188 tf1j1 = tf(1,j1)
189 xdp = x(i)
190
191ccc DYDX(I)=(TF(2,J2)-TF(2,J1))/(TF(1,J2)-TF(1,J1))
192
193 dydxdp = (tf2j2-tf2j1)/(tf1j2-tf1j1)
194 dydx(i) = dydxdp
195ccc Y(I) = TF(2,J1) + DYDX(I)*(X(I)-TF(1,J1))
196 yydp = tf2j1 + dydxdp * (xdp - tf1j1)
197 y(i) = yydp
198
199 ENDDO
200C
201 RETURN

◆ vinter2dp()

subroutine vinter2dp ( tf,
integer, dimension(*) iad,
integer, dimension(*) ipos,
integer, dimension(*) ilen,
integer nel0,
x,
dydx,
y )

Definition at line 214 of file vinter.F.

215C same as vinter with possibility to decrease x
216C-----------------------------------------------
217C I m p l i c i t T y p e s
218C-----------------------------------------------
219#include "implicit_f.inc"
220
221 INTEGER ILEN(*),IPOS(*),IAD(*),NEL0
222 my_real x(*),dydx(*),y(*),tf(2,*)
223 INTEGER I,J1,J,ICONT,J2
224 DOUBLE PRECISION TF2J2,TF2J1,TF1J2,TF1J1, XDP,YYDP, DYDXDP
225 j = 0
226 icont = 1
227 DO WHILE(icont==1)
228
229 j = j+1
230 icont = 0
231 DO i=1,nel0
232 j1 = ipos(i)+iad(i)+1
233 IF(j<=ilen(i)-1.AND.x(i)>tf(1,j1))THEN
234 ipos(i)=ipos(i)+1
235 icont = 1
236 ELSEIF(ipos(i)>=1.AND.x(i)<tf(1,j1-1))THEN
237 ipos(i)=ipos(i)-1
238 icont = 1
239 ENDIF
240 ENDDO
241
242 ENDDO
243C
244 DO i=1,nel0
245 j1 =ipos(i)+iad(i)
246 j2 = j1+1
247
248 tf2j2 = tf(2,j2)
249 tf2j1 = tf(2,j1)
250 tf1j2 = tf(1,j2)
251 tf1j1 = tf(1,j1)
252 xdp = x(i)
253
254ccc DYDX(I)=(TF(2,J2)-TF(2,J1))/(TF(1,J2)-TF(1,J1))
255
256 dydxdp = (tf2j2-tf2j1)/(tf1j2-tf1j1)
257 dydx(i) = dydxdp
258ccc Y(I) = TF(2,J1) + DYDX(I)*(X(I)-TF(1,J1))
259 yydp = tf2j1 + dydxdp * (xdp - tf1j1)
260 y(i) = yydp
261
262 ENDDO
263C
264 RETURN