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

Go to the source code of this file.

Functions/Subroutines

subroutine inelts (x, irect, ixs, nint, nel, i, area, noint, ir, surf_eltyp, surf_elem)
subroutine ineltc (nelc, neltg, is, surf_eltyp, surf_elem)
subroutine i20nelts (x, irect, ixs, nint, nel, i, area, noint, ir, surf_eltyp, surf_elem)
subroutine ineltigeo (xe, irect, ixs, nint, nelig3d, i, area, noint, ir, surf_eltyp_ige, ixig3d, kxig3d, igeo, surf_elem_ige)

Function/Subroutine Documentation

◆ i20nelts()

subroutine i20nelts ( x,
integer, dimension(4) irect,
integer, dimension(nixs,*) ixs,
integer nint,
integer nel,
integer i,
area,
integer noint,
integer ir,
integer, dimension(*) surf_eltyp,
integer, dimension(*) surf_elem )

Definition at line 168 of file inelt.F.

171 use element_mod , only : nixs
172C-----------------------------------------------
173C I m p l i c i t T y p e s
174C-----------------------------------------------
175#include "implicit_f.inc"
176C-----------------------------------------------
177C C o m m o n B l o c k s
178C-----------------------------------------------
179C-----------------------------------------------
180C D u m m y A r g u m e n t s
181C-----------------------------------------------
182 INTEGER NINT, NEL, I, NOINT,IR,SURF_ELTYP(*),SURF_ELEM(*)
183C REAL
184 my_real
185 . area
186 INTEGER IRECT(4), IXS(NIXS,*)
187C REAL
188 my_real
189 . x(3,*)
190C-----------------------------------------------
191C L o c a l V a r i a b l e s
192C-----------------------------------------------
193 INTEGER IY(4), N, JJ, II, K, NN, KK, IC, IAD,
194 . NUSER, NUSERM
195C REAL
196 my_real
197 . n1, n2, n3, dds
198 my_real xx1(4), xx2(4),xx3(4),xs1,ys1,zs1,xc,yc,zc
199C-----------------------------------------------
200C E x t e r n a l F u n c t i o n s
201C-----------------------------------------------
202C
203 ic =0
204 nel=0
205
206 IF (i <= 0) RETURN
207 IF (surf_eltyp(i) /= 1) RETURN
208C
209 nel=surf_elem(i)
210C-----------------------------------------------
211C VERIFICATION OF THE ORIENTATION OF THE SEGMENTS
212C-----------------------------------------------
213 xs1=0.
214 ys1=0.
215 zs1=0.
216 DO 100 jj=1,4
217 nn=irect(jj)
218 iy(jj)=nn
219 xx1(jj)=x(1,nn)
220 xx2(jj)=x(2,nn)
221 xx3(jj)=x(3,nn)
222 xs1=xs1+.25*x(1,nn)
223 ys1=ys1+.25*x(2,nn)
224 100 zs1=zs1+.25*x(3,nn)
225C
226 CALL norma1(n1,n2,n3,area,xx1,xx2,xx3)
227 xc=0.
228 yc=0.
229 zc=0.
230 DO 110 k=1,8
231 kk=ixs(k+1,nel)
232 xc=xc+x(1,kk)
233 yc=yc+x(2,kk)
234 zc=zc+x(3,kk)
235 110 CONTINUE
236 xc=xc*one_over_8
237 yc=yc*one_over_8
238 zc=zc*one_over_8
239 IF(ir/=0) RETURN
240 IF(ic>=2)RETURN
241 dds=n1*(xc-xs1)+n2*(yc-ys1)+n3*(zc-zs1)
242 IF(dds<0) RETURN
243 IF(iy(3)==iy(4)) THEN
244 irect(1)=iy(2)
245 irect(2)=iy(1)
246 ELSE
247 DO 120 kk=1,4
248 120 irect(kk)=iy(4-kk+1)
249 ENDIF
250 RETURN
251C
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)
subroutine norma1(n1, n2, n3, area, xx1, xx2, xx3)
Definition norma1.F:38

◆ ineltc()

subroutine ineltc ( integer nelc,
integer neltg,
integer is,
integer, dimension(*) surf_eltyp,
integer, dimension(*) surf_elem )

Definition at line 133 of file inelt.F.

134C-----------------------------------------------
135C I m p l i c i t T y p e s
136C-----------------------------------------------
137#include "implicit_f.inc"
138C-----------------------------------------------
139C D u m m y A r g u m e n t s
140C-----------------------------------------------
141 INTEGER NELC, IS, NELTG,SURF_ELTYP(*),SURF_ELEM(*)
142C-----------------------------------------------
143C L o c a l V a r i a b l e s
144C-----------------------------------------------
145 INTEGER ELTYP
146C-----------------------------------------------
147 nelc=0
148 neltg=0
149
150 IF (is <= 0) RETURN
151 eltyp = surf_eltyp(is)
152 IF (eltyp == 3) THEN
153 nelc = surf_elem(is)
154 ELSEIF (eltyp == 7) THEN
155 neltg = surf_elem(is)
156 ENDIF
157!---
158 RETURN

◆ ineltigeo()

subroutine ineltigeo ( xe,
integer, dimension(4,*) irect,
integer, dimension(nixs,*) ixs,
integer nint,
integer nelig3d,
integer i,
area,
integer noint,
integer ir,
integer, dimension(*) surf_eltyp_ige,
integer, dimension(*) ixig3d,
integer, dimension(nixig3d,*) kxig3d,
integer, dimension(npropgi,*) igeo,
integer, dimension(*) surf_elem_ige )

Definition at line 261 of file inelt.F.

264 use element_mod , only : nixs
265C-----------------------------------------------
266C I m p l i c i t T y p e s
267C-----------------------------------------------
268#include "implicit_f.inc"
269C-----------------------------------------------
270C C o m m o n B l o c k s
271C-----------------------------------------------
272#include "param_c.inc"
273C-----------------------------------------------
274C D u m m y A r g u m e n t s
275C-----------------------------------------------
276 INTEGER NINT, NELIG3D, I, NOINT,IR
277C REAL
278 my_real
279 . area
280 INTEGER IRECT(4,*), IXS(NIXS,*),SURF_ELTYP_IGE(*),
281 . SURF_ELEM_IGE(*),KXIG3D(NIXIG3D,*),IGEO(NPROPGI,*),
282 . IXIG3D(*)
283C REAL
284 my_real
285 . xe(3,*)
286C-----------------------------------------------
287C L o c a l V a r i a b l e s
288C-----------------------------------------------
289 INTEGER IY(4), N, JJ, II, K, NN, KK, IC, IAD,
290 . NUSER, NUSERM, COIN_IGE(8), PX, PY, PZ, IPID
291C REAL
292 my_real
293 . n1, n2, n3, dds
294 my_real :: xx1(4), xx2(4),xx3(4),xc,yc,zc,xs1,ys1,zs1
295C-----------------------------------------------
296C E x t e r n a l F u n c t i o n s
297C-----------------------------------------------
298C
299 ic =0
300 nelig3d=0
301 IF (surf_eltyp_ige(i) /= 101) RETURN
302C
303 nelig3d=surf_elem_ige(i)
304
305C-----------------------------------------------
306C VERIFICATION OF THE ORIENTATION OF THE SEGMENTS
307C-----------------------------------------------
308 xs1=0.
309 ys1=0.
310 zs1=0.
311 DO jj=1,4
312 nn=irect(jj,i)
313 iy(jj)=nn
314 xx1(jj)=xe(1,nn)
315 xx2(jj)=xe(2,nn)
316 xx3(jj)=xe(3,nn)
317 xs1=xs1+.25*xe(1,nn)
318 ys1=ys1+.25*xe(2,nn)
319 zs1=zs1+.25*xe(3,nn)
320 ENDDO
321C
322 CALL norma1(n1,n2,n3,area,xx1,xx2,xx3)
323 xc=0.
324 yc=0.
325 zc=0.
326
327 ipid = kxig3d(2,nelig3d)
328 px = igeo(41,ipid)-1
329 py = igeo(42,ipid)-1
330 pz = igeo(43,ipid)-1
331 coin_ige(1) = (px+1)*py+1
332 coin_ige(2) = (px+1)*(py+1)
333 coin_ige(3) = px+1
334 coin_ige(4) = 1
335 coin_ige(5) = (px+1)*(py+1)*pz+(px+1)*py+1
336 coin_ige(6) = (px+1)*(py+1)*(pz+1)
337 coin_ige(7) = (px+1)*(py+1)*pz+px+1
338 coin_ige(8) = (px+1)*(py+1)*pz+1
339
340 DO k=1,8
341 xc=xc+xe(1,ixig3d(kxig3d(4,nelig3d)+coin_ige(k)-1))
342 yc=yc+xe(2,ixig3d(kxig3d(4,nelig3d)+coin_ige(k)-1))
343 zc=zc+xe(3,ixig3d(kxig3d(4,nelig3d)+coin_ige(k)-1))
344 ENDDO
345 xc=xc*one_over_8
346 yc=yc*one_over_8
347 zc=zc*one_over_8
348 IF(ir/=0) RETURN
349 IF(ic>=2)RETURN
350 dds=n1*(xc-xs1)+n2*(yc-ys1)+n3*(zc-zs1)
351 IF(dds<0) RETURN
352 DO kk=1,4
353 irect(kk,i)=iy(4-kk+1)
354 ENDDO
355 RETURN
356C

◆ inelts()

subroutine inelts ( x,
integer, dimension(4,*) irect,
integer, dimension(nixs,*) ixs,
integer nint,
integer nel,
integer i,
area,
integer noint,
integer ir,
integer, dimension(*) surf_eltyp,
integer, dimension(*) surf_elem )

Definition at line 37 of file inelt.F.

40 use element_mod , only :nixs
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51 INTEGER NINT, NEL, I, NOINT,IR,SURF_ELTYP(*),SURF_ELEM(*)
52C REAL
54 . area
55 INTEGER IRECT(4,*), IXS(NIXS,*)
56C REAL
58 . x(3,*)
59C-----------------------------------------------
60C L o c a l V a r i a b l e s
61C-----------------------------------------------
62 INTEGER IY(4), N, JJ, II, K, NN, KK, IC, IAD,
63 . NUSER, NUSERM
64C REAL
66 . n1, n2, n3, dds
67 my_real :: xx1(4), xx2(4),xx3(4),xs1,ys1,zs1,xc,yc,zc
68C-----------------------------------------------
69C E x t e r n a l F u n c t i o n s
70C-----------------------------------------------
71C
72 ic =0
73 nel=0
74 IF (i <= 0) RETURN
75 IF (surf_eltyp(i) /= 1) RETURN
76C
77 nel=surf_elem(i)
78C-----------------------------------------------
79C VERIFICATION OF THE ORIENTATION OF THE SEGMENTS
80C-----------------------------------------------
81 xs1=0.
82 ys1=0.
83 zs1=0.
84 DO 100 jj=1,4
85 nn=irect(jj,i)
86 iy(jj)=nn
87 xx1(jj)=x(1,nn)
88 xx2(jj)=x(2,nn)
89 xx3(jj)=x(3,nn)
90 xs1=xs1+.25*x(1,nn)
91 ys1=ys1+.25*x(2,nn)
92 100 zs1=zs1+.25*x(3,nn)
93C
94 CALL norma1(n1,n2,n3,area,xx1,xx2,xx3)
95 xc=0.
96 yc=0.
97 zc=0.
98 DO 110 k=1,8
99 kk=ixs(k+1,nel)
100 xc=xc+x(1,kk)
101 yc=yc+x(2,kk)
102 zc=zc+x(3,kk)
103 110 CONTINUE
104 xc=xc*one_over_8
105 yc=yc*one_over_8
106 zc=zc*one_over_8
107 IF(ir/=0) RETURN
108 IF(ic>=2)RETURN
109 dds=n1*(xc-xs1)+n2*(yc-ys1)+n3*(zc-zs1)
110 IF(dds<0) RETURN
111 IF(iy(3)==iy(4)) THEN
112 irect(1,i)=iy(2)
113 irect(2,i)=iy(1)
114 ELSE
115 DO 120 kk=1,4
116 120 irect(kk,i)=iy(4-kk+1)
117 ENDIF
118 RETURN
119C