OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
intti12.F File Reference
#include "implicit_f.inc"
#include "param_c.inc"
#include "scr06_c.inc"
#include "units_c.inc"
#include "mvsiz_p.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine intti12a (ipari, x, wa, itab, segvar, test, skew, iskwn, intbuf_tab)
subroutine intti12f (ipari, intbuf_tab, x, v, a, ms, itab, weight, stifn, wa, skew)
subroutine intti12v (ipari, intbuf_tab, x, v, a, ms, weight, wa, skew)

Function/Subroutine Documentation

◆ intti12a()

subroutine intti12a ( integer, dimension(*) ipari,
x,
wa,
integer, dimension(*) itab,
type(t_segvar) segvar,
integer test,
skew,
integer, dimension(*) iskwn,
type(intbuf_struct_) intbuf_tab )

Definition at line 44 of file intti12.F.

45C-----------------------------------------------
46C D e s c r i p t i o n
47C-----------------------------------------------
48C FLUID/FLUID INTERFACE DERIVATED FROM TYPE 2 & 5 (SLIDING)
49C-----------------------------------------------
50C M o d u l e s
51C-----------------------------------------------
52 USE segvar_mod
53 USE ale_mod
54 USE intbufdef_mod
55C-----------------------------------------------
56C I m p l i c i t T y p e s
57C-----------------------------------------------
58#include "implicit_f.inc"
59C-----------------------------------------------
60C D u m m y A r g u m e n t s
61C-----------------------------------------------
62 INTEGER IPARI(*),ITAB(*),TEST,ISKWN(*)
63 my_real x(*),wa(*),skew(*)
64
65 TYPE(INTBUF_STRUCT_) INTBUF_TAB
66 TYPE(t_segvar) :: SEGVAR
67C-----------------------------------------------
68C C o m m o n B l o c k s
69C-----------------------------------------------
70#include "param_c.inc"
71#include "scr06_c.inc"
72#include "units_c.inc"
73#include "mvsiz_p.inc"
74C-----------------------------------------------
75C L o c a l V a r i a b l e s
76C-----------------------------------------------
77
78 INTEGER ITIED,NOINT,NGROUS,NGROUM,NG,
79 . L1 ,L2 ,L3 ,L4,L5,L6
80 INTEGER JCODV(ALE%GLOBAL%LCONV), CODTOT, ITEST, ILEV, IREF, ICEN
81 INTEGER, DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4
83 . gap
84 my_real, DIMENSION(MVSIZ) :: x1,x2,x3,x4,xi
85 my_real, DIMENSION(MVSIZ) :: y1,y2,y3,y4,yi
86 my_real, DIMENSION(MVSIZ) :: z1,z2,z3,z4,zi
87 my_real, DIMENSION(MVSIZ) :: xface,n1,n2,n3
88 my_real, DIMENSION(MVSIZ) :: ssc, ttc, area
89 my_real, DIMENSION(MVSIZ) :: x0, y0, z0
90 my_real, DIMENSION(MVSIZ) :: xx1,xx2,xx3,xx4
91 my_real, DIMENSION(MVSIZ) :: yy1,yy2,yy3,yy4
92 my_real, DIMENSION(MVSIZ) :: zz1,zz2,zz3,zz4
93 my_real, DIMENSION(MVSIZ) :: xi1,xi2,xi3,xi4
94 my_real, DIMENSION(MVSIZ) :: yi1,yi2,yi3,yi4
95 my_real, DIMENSION(MVSIZ) :: zi1,zi2,zi3,zi4
96 my_real, DIMENSION(MVSIZ) :: xn1,xn2,xn3,xn4
97 my_real, DIMENSION(MVSIZ) :: yn1,yn2,yn3,yn4
98 my_real, DIMENSION(MVSIZ) :: zn1,zn2,zn3,zn4
99
100
101 INTEGER :: NRTS, NRTM, NSN, NMN, NST, MST
102 INTEGER :: LFT, LLT, NFT
103C-----------------------------------------------
104 itest =0
105
106 nrts =ipari(3)
107 nrtm =ipari(4)
108 nsn =ipari(5)
109 nmn =ipari(6)
110 nst =ipari(8)
111 mst =ipari(9)
112 noint =ipari(15)
113 ilev=ipari(20)
114 iref=ipari(21)
115 icen=ipari(22)
116 CALL varcondec(jcodv,ipari(30),codtot)
117
118 ngrous=1+(nsn-1)/nvsiz
119 ngroum=1+(nmn-1)/nvsiz
120
121 itied=int(intbuf_tab%VARIABLES(1))
122 gap =intbuf_tab%VARIABLES(2)
123 IF(itied==0 .OR. itied==3)THEN
124 l1=1
125 l2=l1+3*nsn
126 l3=l2+3*nmn
127 CALL i12gathcor(x,wa(l1),wa(l2),nsn,nmn,intbuf_tab%NSV,intbuf_tab%MSR)
128
129 DO ng=1,ngrous
130 nft=(ng-1)*nvsiz
131 lft=1
132 llt=min0(nvsiz,nsn-nft)
133 !----------------------------------------------!
134 ! FIND NEAREST NODE !
135 !----------------------------------------------!
136 CALL i12loc3(
137 1 wa(l1), wa(l2), intbuf_tab%IRECTM,intbuf_tab%LMSR,
138 2 intbuf_tab%MSR, intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%NSEGM,
139 3 lft, llt, nft)
140
141 !----------------------------------------------!
142 ! FIND MAIN SEGMENT
143 !----------------------------------------------!
144 CALL i12msr3(
145 1 wa(l1), wa(l2), intbuf_tab%IRECTM,intbuf_tab%LMSR,
146 2 intbuf_tab%MSR, intbuf_tab%NSV, intbuf_tab%ILOCS, intbuf_tab%IRTLM,
147 3 intbuf_tab%NSEGM, lft, llt, nft)
148 ENDDO
149
150 IF(ilev>0)
151 & CALL i12rot3(wa(l1),wa(l2),x,skew,iskwn,ilev,iref,icen,nsn,nmn,
152 & intbuf_tab%STFNS,intbuf_tab%STFNM)
153
154 DO ng=1,ngrous
155 nft=(ng-1)*nvsiz
156 lft=1
157 llt=min0(nvsiz,nsn-nft)
158 CALL i12cor3(
159 1 wa(l1), wa(l2), intbuf_tab%IRECTM,intbuf_tab%MSR,
160 2 intbuf_tab%IRTLM, ilev, x, intbuf_tab%STFNS,
161 3 ix1, ix2, ix3, ix4,
162 4 x1, x2, x3, x4,
163 5 xi, y1, y2, y3,
164 6 y4, yi, z1, z2,
165 7 z3, z4, zi, xface,
166 8 lft, llt, nft)
167 !-----------------------------------------------------------!
168 ! CALCULATION COORDONNEES ISOPARAMETRIQUES S & T NODE SECONDARY !
169 !-----------------------------------------------------------!
170 CALL i3cst3(
171 1 x1, x2, x3, x4,
172 2 xi, y1, y2, y3,
173 3 y4, yi, z1, z2,
174 4 z3, z4, zi, xface,
175 5 n1, n2, n3, ssc,
176 6 ttc, x0, y0, z0,
177 7 xx1, xx2, xx3, xx4,
178 8 yy1, yy2, yy3, yy4,
179 9 zz1, zz2, zz3, zz4,
180 a xi1, xi2, xi3, xi4,
181 b yi1, yi2, yi3, yi4,
182 c zi1, zi2, zi3, zi4,
183 d xn1, xn2, xn3, xn4,
184 e yn1, yn2, yn3, yn4,
185 f zn1, zn2, zn3, zn4,
186 g area, lft, llt)
187 !-----------------------------------------------------------!
188 ! checks that the node is on the facet and stores s & t
189 !-----------------------------------------------------------!
190 CALL i12dis3(
191 1 intbuf_tab%CSTS, intbuf_tab%NSV, itab, gap,
192 2 noint, itest, intbuf_tab%FCOUNT,ssc,
193 3 ttc, lft, llt, nft)
194 ENDDO
195 IF(itest>0)THEN
196 WRITE(iout,'(A,I8,A,I8,A)')
197 . ' *** WARNING INTERFACE',noint,' : ',
198 . itest,' SECONDARY NODES LIE OUTSIDE OF MAIN SEGMENT'
199 test=1
200 ENDIF
201 ENDIF !(ITIED==0 .OR. ITIED==3)
202
203 IF(codtot/=0 .AND. ale%GLOBAL%INCOMP==0 .AND. itied/=3)THEN
204 l1=1
205 l2=l1+nsn*ale%GLOBAL%NVCONV
206 l3=l2+nsn*ale%GLOBAL%NVCONV
207 l4=l3+nrtm
208 l5=l4+nmn*ale%GLOBAL%NVCONV
209 l6=l5+nmn
210 !-----------------------------------------------------------------!
211 ! exchange of information between the two faces of the interface
212 !-----------------------------------------------------------------!
213 ! 1- Transform Elementary values into nodal values on the second side.
214 !-----------------------------------------------------------------!
215 CALL i12nod3(nrts,intbuf_tab%IELES,intbuf_tab%IRECTS,segvar,jcodv,
216 . wa(l1),intbuf_tab%FCOUNT,nsn)
217 ! 2- Main values -> Secondary
218 !-----------------------------------------------------------------!
219 CALL i12m2s(nsn ,intbuf_tab%IRECTS,intbuf_tab%IRTLM,wa(l2),nrtm,nrts,
220 . intbuf_tab%IELEM,intbuf_tab%IELES,segvar,jcodv)
221 ! 3- NODALE values Secondary -> Main
222 !-----------------------------------------------------------------!
223 CALL i12s2m(nsn,intbuf_tab%IRTLM,nrtm,jcodv,wa(l1),wa(l3),
224 . nmn,wa(l4),intbuf_tab%IRECTM,wa(l5),intbuf_tab%MSR,
225 . segvar,intbuf_tab%IELEM,noint)
226 ENDIF
227
228 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine i12cor3(xs, xm, irect, msr, irtl, ilev, x, tets, ix1, ix2, ix3, ix4, x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, lft, llt, nft)
Definition i12cor3.F:37
subroutine i12dis3(crst, nsv, itab, gap, noint, itest, tagkine, ssc, ttc, lft, llt, nft)
Definition i12dis3.F:32
subroutine i12gathcor(x, xs, xm, nsn, nmn, nsv, msr)
Definition i12gathcor.F:29
subroutine i12loc3(xs, xm, irect, lmsr, msr, nsv, iloc, nseg, lft, llt, nft)
Definition i12loc3.F:32
subroutine i12m2s(nsn, irects, irtl, nodvar, nrtm, nrts, isegm, isegs, segvar, jcodv)
Definition i12m2s.F:33
subroutine i12msr3(xs, xm, irect, lmsr, msr, nsv, iloc, irtl, nseg, lft, llt, nft)
Definition i12msr3.F:34
subroutine i12nod3(nrt, iseg, irect, segvar, jcodv, nodvar, fcount, nsn)
Definition i12nod3.F:33
subroutine i12rot3(xs, xm, x, skew, iskwn, ilev, iref, icen, nsn, nmn, tets, tetm)
Definition i12rot3.F:30
subroutine i12s2m(nsn, irtl, nrtm, jcodv, nodvars, mcount, nmn, nodvarm, irectm, ncount, msr, segvar, isegm, noint)
Definition i12s2m.F:34
subroutine i3cst3(x1, x2, x3, x4, xi, y1, y2, y3, y4, yi, z1, z2, z3, z4, zi, xface, n1, n2, n3, ssc, ttc, x0, y0, z0, xx1, xx2, xx3, xx4, yy1, yy2, yy3, yy4, zz1, zz2, zz3, zz4, xi1, xi2, xi3, xi4, yi1, yi2, yi3, yi4, zi1, zi2, zi3, zi4, xn1, xn2, xn3, xn4, yn1, yn2, yn3, yn4, zn1, zn2, zn3, zn4, area, lft, llt)
Definition i3cst3.F:50
type(ale_) ale
Definition ale_mod.F:253
subroutine varcondec(icodv, varconv, codtot)
Definition varcondec.F:33

◆ intti12f()

subroutine intti12f ( integer, dimension(*) ipari,
type(intbuf_struct_) intbuf_tab,
x,
v,
a,
ms,
integer, dimension(*) itab,
integer, dimension(*) weight,
stifn,
wa,
skew )

Definition at line 241 of file intti12.F.

243C INTERFACE FLUIDE/FLUIDE DERIVEE DES INTERFACE 2 ET 5 (SLIDING)
244C-----------------------------------------------
245C M o d u l e s
246C-----------------------------------------------
247 USE intbufdef_mod
248C-----------------------------------------------
249C I m p l i c i t T y p e s
250C-----------------------------------------------
251#include "implicit_f.inc"
252C-----------------------------------------------
253C D u m m y A r g u m e n t s
254C-----------------------------------------------
255 INTEGER IPARI(*), ITAB(*),WEIGHT(*)
256 my_real
257 . x(*), v(*), a(*), ms(*), stifn(*),wa(*),skew(*)
258
259 TYPE(INTBUF_STRUCT_) INTBUF_TAB
260C-----------------------------------------------
261C C o m m o n B l o c k s
262C-----------------------------------------------
263#include "param_c.inc"
264C-----------------------------------------------
265C L o c a l V a r i a b l e s
266C-----------------------------------------------
267 INTEGER ITIED, NOINT, NGROUS, NGROUM
268 INTEGER ILEV,IREF
269 INTEGER :: NRTS, NRTM, NSN, NMN, NST, MST
270
271C-----------------------------------------------
272
273 nrts =ipari(3)
274 nrtm =ipari(4)
275 nsn =ipari(5)
276 nmn =ipari(6)
277 nst =ipari(8)
278 mst =ipari(9)
279 noint =ipari(15)
280 ilev =ipari(20)
281 iref =ipari(21)
282
283 ngrous=1+(nsn-1)/nvsiz
284 ngroum=1+(nmn-1)/nvsiz
285
286 itied=int(intbuf_tab%VARIABLES(1))
287 !-----------------------------------------------------------------!
288 ! CONDITIONS PERIODIQUES !
289 ! transformations of secondary accelerations
290 !-----------------------------------------------------------------!
291 IF(itied==2)CALL in12r(a,intbuf_tab%VARIABLES(1),intbuf_tab%NSV,
292 . nsn,1,intbuf_tab%FCOUNT)
293 !-----------------------------------------------------------------!
294 ! CALCULATION FORCES COTE MAIN (IDEM TYPE 2) !
295 !-----------------------------------------------------------------!
296 CALL i12for3(
297 1 nsn ,nmn ,a ,intbuf_tab%IRECTM,intbuf_tab%CSTS,
298 2 intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,ms ,weight ,
299 3 stifn ,intbuf_tab%NMAS,intbuf_tab%FCOUNT,skew ,wa ,
300 4 intbuf_tab%STFNS,intbuf_tab%STFNM,ilev,iref)
301 RETURN
subroutine i12for3(nsn, nmn, a, irect, crst, msr, nsv, irtl, ms, weight, stifn, mmass, tagkine, skew, wa, tets, tetm, ilev, iref)
Definition i12for3.F:34
subroutine in12r(x, frigap, nsv, nsn, flag)
Definition in12r.F:30

◆ intti12v()

subroutine intti12v ( integer, dimension(*) ipari,
type(intbuf_struct_) intbuf_tab,
x,
v,
a,
ms,
integer, dimension(*) weight,
wa,
skew )

Definition at line 315 of file intti12.F.

317C-----------------------------------------------
318C M o d u l e s
319C-----------------------------------------------
320 USE intbufdef_mod
321!-----------------------------------------------------------------!
322! INTERFACE FLUIDE/FLUIDE DERIVEE DES INTERFACE 2 ET 5 (SLIDING) !
323!-----------------------------------------------------------------!
324C-----------------------------------------------
325C I m p l i c i t T y p e s
326C-----------------------------------------------
327#include "implicit_f.inc"
328C-----------------------------------------------
329C D u m m y A r g u m e n t s
330C-----------------------------------------------
331 INTEGER IPARI(*), WEIGHT(*)
332 my_real
333 . x(*), v(*), a(*),ms(*),wa(*),skew(*)
334
335 TYPE(INTBUF_STRUCT_) INTBUF_TAB
336C-----------------------------------------------
337C C o m m o n B l o c k s
338C-----------------------------------------------
339C-----------------------------------------------
340C L o c a l V a r i a b l e s
341C-----------------------------------------------
342 INTEGER
343 . ITIED,ILEV,IREF
344 INTEGER :: NRTS, NRTM, NSN, NMN, NST, MST
345
346C-----------------------------------------------
347 nrts =ipari(3)
348 nrtm =ipari(4)
349 nsn =ipari(5)
350 nmn =ipari(6)
351 nst =ipari(8)
352 mst =ipari(9)
353 ilev =ipari(20)
354 iref =ipari(21)
355
356 itied=int(intbuf_tab%VARIABLES(1))
357 !-----------------------------------------------------------------!
358 ! main bc and imposes velocity and acceleration on secondary side
359 ! VELOCITY DE GRILLE (CAS TIED) FAIT DS INTERF 1 !
360 !-----------------------------------------------------------------!
361 CALL i12vit3(nsn ,nmn ,
362 2 a ,intbuf_tab%IRECTM,
363 3 intbuf_tab%CSTS,intbuf_tab%MSR,intbuf_tab%NSV,intbuf_tab%IRTLM,
364 4 v ,ms ,weight ,intbuf_tab%NMAS,intbuf_tab%FCOUNT,
365 5 skew ,wa ,intbuf_tab%STFNS,intbuf_tab%STFNM,ilev,iref)
366
367 IF(itied==2)THEN
368 CALL in12r(a,intbuf_tab%VARIABLES(1),intbuf_tab%NSV,nsn,2,intbuf_tab%FCOUNT)
369 CALL in12r(v,intbuf_tab%VARIABLES(1),intbuf_tab%NSV,nsn,2,intbuf_tab%FCOUNT)
370 ENDIF
371
372 RETURN
subroutine i12vit3(nsn, nmn, a, irect, crst, msr, nsv, irtl, v, ms, weight, mmass, tagkine, skew, wa, tets, tetm, ilev, iref)
Definition i12vit3.F:33