OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
vinter.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| vinter ../engine/source/tools/curve/vinter.F
25!||--- called by ------------------------------------------------------
26!|| asso_plas76 ../engine/source/materials/mat/mat076/asso_plas76.F
27!|| asso_qplas76c ../engine/source/materials/mat/mat076/asso_qplas76c.F
28!|| fail_tab_old_c ../engine/source/materials/fail/tabulated/fail_tab_old_c.F
29!|| fixtemp ../engine/source/constraints/thermic/fixtemp.F
30!|| mat122_newton ../engine/source/materials/mat/mat122/mat122_newton.F
31!|| mat122_nice ../engine/source/materials/mat/mat122/mat122_nice.F
32!|| mat122c_newton ../engine/source/materials/mat/mat122/mat122c_newton.F
33!|| mat122c_nice ../engine/source/materials/mat/mat122/mat122c_nice.F
34!|| no_asso_lplas76c ../engine/source/materials/mat/mat076/no_asso_lplas76c.F
35!|| no_asso_plas76 ../engine/source/materials/mat/mat076/no_asso_plas76.F
36!|| no_asso_qplas76c ../engine/source/materials/mat/mat076/no_asso_qplas76c.F
37!|| sigeps100 ../engine/source/materials/mat/mat100/sigeps100.F90
38!|| sigeps125 ../engine/source/materials/mat/mat125/sigeps125.F90
39!|| sigeps125c ../engine/source/materials/mat/mat125/sigeps125c.F90
40!|| sigeps127 ../engine/source/materials/mat/mat127/sigeps127.F90
41!|| sigeps127c ../engine/source/materials/mat/mat127/sigeps127c.F90
42!|| sigeps187 ../engine/source/materials/mat/mat187/sigeps187.F
43!|| sigeps36 ../engine/source/materials/mat/mat036/sigeps36.F
44!|| sigeps36c ../engine/source/materials/mat/mat036/sigeps36c.F
45!|| sigeps36g ../engine/source/materials/mat/mat036/sigeps36g.F
46!|| sigeps36pi ../engine/source/materials/mat/mat036/sigeps36pi.F
47!|| sigeps43c ../engine/source/materials/mat/mat043/sigeps43c.F
48!|| sigeps43g ../engine/source/materials/mat/mat043/sigeps43g.f
49!|| sigeps44 ../engine/source/materials/mat/mat044/sigeps44.F
50!|| sigeps44c ../engine/source/materials/mat/mat044/sigeps44c.F
51!|| sigeps44pi ../engine/source/materials/mat/mat044/sigeps44pi.F
52!|| sigeps53 ../engine/source/materials/mat/mat053/sigeps53.F
53!|| sigeps55c ../engine/source/materials/mat/mat055/sigeps55c.F
54!|| sigeps56 ../engine/source/materials/mat/mat056/sigeps56.F
55!|| sigeps56c ../engine/source/materials/mat/mat056/sigeps56c.F
56!|| sigeps56g ../engine/source/materials/mat/mat056/sigeps56g.F
57!|| sigeps60 ../engine/source/materials/mat/mat060/sigeps60.F
58!|| sigeps60c ../engine/source/materials/mat/mat060/sigeps60c.f
59!|| sigeps60g ../engine/source/materials/mat/mat060/sigeps60g.F
60!|| sigeps64c ../engine/source/materials/mat/mat064/sigeps64c.F
61!|| sigeps66 ../engine/source/materials/mat/mat066/sigeps66.F
62!|| sigeps66c ../engine/source/materials/mat/mat066/sigeps66c.F
63!|| sigeps76 ../engine/source/materials/mat/mat076/sigeps76.F
64!|| sigeps76c ../engine/source/materials/mat/mat076/sigeps76c.F
65!|| sigeps78c ../engine/source/materials/mat/mat078/sigeps78c.f
66!|| sigeps86c ../engine/source/materials/mat/mat086/sigeps86c.F
67!|| sigeps86g ../engine/source/materials/mat/mat086/sigeps86g.F
68!|| sigeps93 ../engine/source/materials/mat/mat093/sigeps93.F
69!|| sigeps93c ../engine/source/materials/mat/mat093/sigeps93c.F
70!|| sms_fixvel ../engine/source/ams/sms_fixvel.F
71!||====================================================================
72 SUBROUTINE vinter(TF,IAD,IPOS ,ILEN,NEL,X,DYDX,Y)
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
108 END
109!||====================================================================
110!|| vinter2 ../engine/source/tools/curve/vinter.F
111!||--- called by ------------------------------------------------------
112!|| fail_fld_c ../engine/source/materials/fail/fld/fail_fld_c.F
113!|| fail_orthstrain ../engine/source/materials/fail/orthstrain/fail_orthstrain_s.F
114!|| fail_orthstrain_c ../engine/source/materials/fail/orthstrain/fail_orthstrain_c.F
115!|| fail_tab2_b ../engine/source/materials/fail/tabulated/fail_tab2_b.F90
116!|| fail_tab2_c ../engine/source/materials/fail/tabulated/fail_tab2_c.F
117!|| fail_tab2_ib ../engine/source/materials/fail/tabulated/fail_tab2_ib.F90
118!|| fail_tab2_s ../engine/source/materials/fail/tabulated/fail_tab2_s.F
119!|| fail_tab_c ../engine/source/materials/fail/tabulated/fail_tab_c.F
120!|| m36iter_imp ../engine/source/materials/mat/mat036/m36iter_imp.F
121!|| mat121_newton ../engine/source/materials/mat/mat121/mat121_newton.F
122!|| mat121_nice ../engine/source/materials/mat/mat121/mat121_nice.F
123!|| mat121c_newton ../engine/source/materials/mat/mat121/mat121c_newton.F
124!|| mat121c_nice ../engine/source/materials/mat/mat121/mat121c_nice.F
125!|| redef3 ../engine/source/elements/spring/redef3.F90
126!|| redef3_law113 ../engine/source/elements/spring/redef3_law113.F
127!|| redef_seatbelt ../engine/source/tools/seatbelts/redef_seatbelt.F90
128!|| rkenonl ../engine/source/elements/spring/r4mat3.F
129!|| sigeps121 ../engine/source/materials/mat/mat121/sigeps121.F
130!|| sigeps121c ../engine/source/materials/mat/mat121/sigeps121c.F
131!|| sigeps158c ../engine/source/materials/mat/mat158/sigeps158c.F
132!|| sigeps28 ../engine/source/materials/mat/mat028/sigeps28.F
133!|| sigeps36 ../engine/source/materials/mat/mat036/sigeps36.F
134!|| sigeps36c ../engine/source/materials/mat/mat036/sigeps36c.F
135!|| sigeps56 ../engine/source/materials/mat/mat056/sigeps56.F
136!|| sigeps60 ../engine/source/materials/mat/mat060/sigeps60.F
137!|| sigeps68 ../engine/source/materials/mat/mat068/sigeps68.F
138!|| sigeps70 ../engine/source/materials/mat/mat070/sigeps70.F
139!|| sigeps81 ../engine/source/materials/mat/mat081/sigeps81.F90
140!|| sigeps90 ../engine/source/materials/mat/mat090/sigeps90.F
141!|| sigeps96 ../engine/source/materials/mat/mat096/sigeps96.F
142!||====================================================================
143 SUBROUTINE vinter2(TF,IAD,IPOS ,ILEN,NEL0,X,DYDX,Y)
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
202 END
203
204!||====================================================================
205!|| vinter2dp ../engine/source/tools/curve/vinter.F
206!||--- called by ------------------------------------------------------
207!|| m36iter_imp ../engine/source/materials/mat/mat036/m36iter_imp.F
208!|| redef3 ../engine/source/elements/spring/redef3.F90
209!|| redef3_law113 ../engine/source/elements/spring/redef3_law113.F
210!|| rkenonl ../engine/source/elements/spring/r4mat3.F
211!|| sigeps28 ../engine/source/materials/mat/mat028/sigeps28.F
212!|| sigeps68 ../engine/source/materials/mat/mat068/sigeps68.F
213!||====================================================================
214 SUBROUTINE vinter2dp(TF,IAD,IPOS ,ILEN,NEL0,X,DYDX,Y)
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
265 END
266
267!||====================================================================
268!|| finter2 ../engine/source/tools/curve/vinter.F
269!||--- called by ------------------------------------------------------
270!|| fixfingeo ../engine/source/constraints/general/impvel/fixfingeo.F
271!|| m36iter_imp ../engine/source/materials/mat/mat036/m36iter_imp.F
272!|| sigeps52 ../engine/source/materials/mat/mat052/sigeps52.F
273!|| sigeps53 ../engine/source/materials/mat/mat053/sigeps53.F
274!|| sigeps56 ../engine/source/materials/mat/mat056/sigeps56.F
275!|| sigeps60 ../engine/source/materials/mat/mat060/sigeps60.F
276!|| sigeps65 ../engine/source/materials/mat/mat065/sigeps65.F
277!|| sigeps66 ../engine/source/materials/mat/mat066/sigeps66.F
278!|| sigeps66c ../engine/source/materials/mat/mat066/sigeps66c.F
279!|| sigeps74 ../engine/source/materials/mat/mat074/sigeps74.F
280!||====================================================================
281 my_real FUNCTION finter2(TF,IAD,IPOS,ILEN,XX,DYDX)
282C-----------------------------------------------
283C I m p l i c i t T y p e s
284C-----------------------------------------------
285#include "implicit_f.inc"
286 INTEGER j,J1,j2,icont,ilen,ipos,iad
287 my_real tf(2,*),dydx,xx
288C
289 j = 0
290 icont = 1
291 DO WHILE(icont==1)
292 j = j+1
293 icont = 0
294 j1 = ipos+iad+1
295 IF(j<=ilen-1.AND.xx>tf(1,j1))THEN
296 ipos=ipos+1
297 icont = 1
298 ELSEIF(ipos>=1.AND.xx<tf(1,j1-1))THEN
299 ipos=ipos-1
300 icont = 1
301 ENDIF
302 ENDDO
303 j1 = iad+ipos
304 j2 = j1+1
305 dydx = (tf(2,j2)-tf(2,j1))/(tf(1,j2)-tf(1,j1))
306 finter2 = tf(2,j1) + dydx*(xx-tf(1,j1))
307 RETURN
308 END
#define my_real
Definition cppsort.cpp:32
subroutine sigeps43g(nel, nuvar, npf, tf, time, uparam, rho0, area, eint, thk0, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, depbxx, depbyy, depbxy, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, momoxx, momoyy, momoxy, signxx, signyy, signxy, signyz, signzx, momnxx, momnyy, momnxy, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, uvar, off, ngl, ipm, mat, etse, gs, sigy, shf, seq_output, epsp)
Definition sigeps43g.F:47
subroutine sigeps60c(nel0, nuparam, nuvar, mfunc, kfunc, npf, npt0, ipt, iflag, tf, time, timestep, uparam, rho0, area, eint, thkly, israte, asrate, epspxx, epspyy, epspxy, epspyz, epspzx, depsxx, depsyy, depsxy, depsyz, depszx, epsxx, epsyy, epsxy, epsyz, epszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, sigvxx, sigvyy, sigvxy, sigvyz, sigvzx, soundsp, viscmax, thk, pla, uvar, off, ngl, ipm, mat, etse, gs, yld, epsd_pg, epsp, dpla_i, shf, inloc, dplanl, loff)
Definition sigeps60c.F:47
subroutine sigeps78c(nel, nuparam, nuvar, nvartmp, time, nfunc, ifunc, npf, tf, uparam, thkly, thk, gs, etse, sigy, depsxx, depsyy, depsxy, depsyz, depszx, sigoxx, sigoyy, sigoxy, sigoyz, sigozx, signxx, signyy, signxy, signyz, signzx, soundsp, uvar, siga, sigb, sigc, rho, off, pla, dep, vartmp, inloc, dplanl, etimp, seq, loff)
Definition sigeps78c.F:40
subroutine vinter2(tf, iad, ipos, ilen, nel0, x, dydx, y)
Definition vinter.F:144
subroutine vinter(tf, iad, ipos, ilen, nel, x, dydx, y)
Definition vinter.F:73
subroutine vinter2dp(tf, iad, ipos, ilen, nel0, x, dydx, y)
Definition vinter.F:215