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 280 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 71 of file vinter.F.

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

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

◆ vinter2dp()

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

Definition at line 213 of file vinter.F.

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