OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
h3d_oned_torsor.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "mvsiz_p.inc"
#include "com04_c.inc"
#include "param_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine h3d_oned_torsor (iparg, ifunc, ixt, ixp, ixr, tors, oned_torsor, id_elem, ity_elem, info1, info2, is_written_oned, ipartt, ipartp, ipartr, h3d_part, keyword)

Function/Subroutine Documentation

◆ h3d_oned_torsor()

subroutine h3d_oned_torsor ( integer, dimension(nparg,*) iparg,
integer ifunc,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
tors,
oned_torsor,
integer, dimension(*) id_elem,
integer, dimension(*) ity_elem,
integer info1,
integer info2,
integer, dimension(*) is_written_oned,
integer, dimension(*) ipartt,
integer, dimension(*) ipartp,
integer, dimension(*) ipartr,
integer, dimension(*) h3d_part,
character(len=ncharline100) keyword )

Definition at line 33 of file h3d_oned_torsor.F.

38C-----------------------------------------------
39C M o d u l e s
40C-----------------------------------------------
42 use element_mod , only : nixt,nixr,nixp
43C-----------------------------------------------
44C I m p l i c i t T y p e s
45C-----------------------------------------------
46#include "implicit_f.inc"
47C-----------------------------------------------
48C C o m m o n B l o c k s
49C-----------------------------------------------
50#include "com01_c.inc"
51#include "mvsiz_p.inc"
52#include "com04_c.inc"
53#include "param_c.inc"
54C-----------------------------------------------
55C D u m m y A r g u m e n t s
56C-----------------------------------------------
57C REAL
59 . evar(9,mvsiz),tors(15,*),oned_torsor(9,*)
60 INTEGER IPARG(NPARG,*),IFUNC,INFO1 ,INFO2 ,
61 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
62 . IS_WRITTEN_ONED(*),ID_ELEM(*),ITY_ELEM(*),
63 . IPARTT(*) ,IPARTP(*),IPARTR(*),H3D_PART(*)
64 CHARACTER(LEN=NCHARLINE100) :: KEYWORD
65C-----------------------------------------------
66C L o c a l V a r i a b l e s
67C-----------------------------------------------
68C REAL
70 . off, fac, a1, a2, a3, thk
71
72 INTEGER I, NG, NEL, NFT, IAD, ITY, LFT, M,
73 . IADD, N, J, LLT, MLW, NB1, NB2, NB3, NB4, NB5,
74 . NB6, NB7, NB8, NB9, NB10, NB11, NB12, ISTRAIN,
75 . IPID, I1, I2, IAD2, NS1, NS2 , IALEL, ISTRE,
76 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,NNI,N0,
77 . IHBE,BUF,IOK_PART(MVSIZ),OFFSET
78C-----------------------------------------------
79C
80 DO ng=1,ngroup
81C IF(ANIM_K==0.AND.IPARG(8,NG)==1)GOTO 490
82 mlw =iparg(1,ng)
83 nel =iparg(2,ng)
84 nft =iparg(3,ng)
85 iad =iparg(4,ng)
86 ity =iparg(5,ng)
87 nb1 =iad - 1
88 lft=1
89 llt=nel
90
91 IF (ity == 4) offset = 0
92 IF (ity == 5) offset = numelt
93 IF (ity == 6) offset = numelt+numelp
94c
95 DO i=1,nel
96 IF (ity == 4) THEN
97 id_elem(offset+nft+i) = ixt(nixt,nft+i)
98 ity_elem(offset+nft+i) = 4
99 IF( h3d_part(ipartt(nft+i)) == 1) iok_part(i) = 1
100 ELSEIF (ity == 5) THEN
101 id_elem(offset+nft+i) = ixp(nixp,nft+i)
102 ity_elem(offset+nft+i) = 5
103 IF( h3d_part(ipartp(nft+i)) == 1) iok_part(i) = 1
104 ELSEIF (ity == 6) THEN
105 id_elem(offset+nft+i) = ixr(nixr,nft+i)
106 ity_elem(offset+nft+i) = 6
107 IF( h3d_part(ipartr(nft+i)) == 1) iok_part(i) = 1
108 ENDIF
109 ENDDO
110
111 IF(ity==4 .OR. ity==5 .OR. ity==6)THEN
112 DO i=1,nel
113 oned_torsor(1:9,offset+nft+i) = zero ! Default = zero in all cases !
114 ENDDO
115 ENDIF
116c
117 IF(ity==4)THEN
118C-----------------------------------------------
119 IF (keyword == 'F1') THEN
120C------------------------------------------------
121 DO i=1,nel
122 m = nft+i+offset
123 evar(1,i) = tors(1,m)
124 ENDDO
125C---------------------------------------------
126 ELSEIF (keyword == 'F2') THEN
127C------------------------------------------------
128 DO i=1,nel
129 m = nft+i+offset
130 evar(1,i) = tors(2,m)
131 ENDDO
132C---------------------------------------------
133 ELSEIF (keyword == 'F3') THEN
134C------------------------------------------------
135 DO i=1,nel
136 m = nft+i+offset
137 evar(1,i) = tors(3,m)
138 ENDDO
139C---------------------------------------------
140 ELSEIF (keyword == 'M11') THEN
141C------------------------------------------------
142 DO i=1,nel
143 m = nft+i+offset
144 evar(1,i) = tors(4,m)
145 ENDDO
146C---------------------------------------------
147 ELSEIF (keyword == 'M21') THEN
148C------------------------------------------------
149 DO i=1,nel
150 m = nft+i+offset
151 evar(1,i) = tors(5,m)
152 ENDDO
153C---------------------------------------------
154 ELSEIF (keyword == 'M31') THEN
155C------------------------------------------------
156 DO i=1,nel
157 m = nft+i+offset
158 evar(1,i) = tors(6,m)
159 ENDDO
160C---------------------------------------------
161 ELSEIF (keyword == 'M12') THEN
162C------------------------------------------------
163 DO i=1,nel
164 m = nft+i+offset
165 evar(1,i) = tors(7,m)
166 ENDDO
167C---------------------------------------------
168 ELSEIF (keyword == 'M22') THEN
169C------------------------------------------------
170 DO i=1,nel
171 m = nft+i+offset
172 evar(1,i) = tors(8,m)
173 ENDDO
174C---------------------------------------------
175 ELSEIF (keyword == 'M32') THEN
176C------------------------------------------------
177 DO i=1,nel
178 m = nft+i+offset
179 evar(1,i) = tors(9,m)
180 ENDDO
181 ENDIF
182
183 CALL h3d_write_torsor(iok_part,is_written_oned,oned_torsor,nel,offset,nft,
184 . evar)
185
186 ELSEIF(ity==5)THEN
187C-----------------------------------------------
188 IF (keyword == 'F1') THEN
189C------------------------------------------------
190 DO i=1,nel
191 m = nft+i+offset
192 evar(1,i) = tors(1,m)
193 ENDDO
194C---------------------------------------------
195 ELSEIF (keyword == 'F2') THEN
196C------------------------------------------------
197 DO i=1,nel
198 m = nft+i+offset
199 evar(1,i) = tors(2,m)
200 ENDDO
201C---------------------------------------------
202 ELSEIF (keyword == 'F3') THEN
203C------------------------------------------------
204 DO i=1,nel
205 m = nft+i+offset
206 evar(1,i) = tors(3,m)
207 ENDDO
208C---------------------------------------------
209 ELSEIF (keyword == 'M11') THEN
210C------------------------------------------------
211 DO i=1,nel
212 m = nft+i+offset
213 evar(1,i) = tors(4,m)
214 ENDDO
215C---------------------------------------------
216 ELSEIF (keyword == 'M21') THEN
217C------------------------------------------------
218 DO i=1,nel
219 m = nft+i+offset
220 evar(1,i) = tors(5,m)
221 ENDDO
222C---------------------------------------------
223 ELSEIF (keyword == 'M31') THEN
224C------------------------------------------------
225 DO i=1,nel
226 m = nft+i+offset
227 evar(1,i) = tors(6,m)
228 ENDDO
229C---------------------------------------------
230 ELSEIF (keyword == 'M12') THEN
231C------------------------------------------------
232 DO i=1,nel
233 m = nft+i+offset
234 evar(1,i) = tors(7,m)
235 ENDDO
236C---------------------------------------------
237 ELSEIF (keyword == 'M22') THEN
238C------------------------------------------------
239 DO i=1,nel
240 m = nft+i+offset
241 evar(1,i) = tors(8,m)
242 ENDDO
243C---------------------------------------------
244 ELSEIF (keyword == 'M32') THEN
245C------------------------------------------------
246 DO i=1,nel
247 m = nft+i+offset
248 evar(1,i) = tors(9,m)
249 ENDDO
250 ENDIF
251
252 CALL h3d_write_torsor(iok_part,is_written_oned,oned_torsor,nel,offset,nft,
253 . evar)
254 ELSEIF(ity==6)THEN
255C-----------------------------------------------
256 IF (keyword == 'F1') THEN
257C------------------------------------------------
258 DO i=1,nel
259 m = nft+i+offset
260 evar(1,i) = tors(1,m)
261 ENDDO
262C---------------------------------------------
263 ELSEIF (keyword == 'F2') THEN
264C------------------------------------------------
265 DO i=1,nel
266 m = nft+i+offset
267 evar(1,i) = tors(2,m)
268 ENDDO
269C---------------------------------------------
270 ELSEIF (keyword == 'F3') THEN
271C------------------------------------------------
272 DO i=1,nel
273 m = nft+i+offset
274 evar(1,i) = tors(3,m)
275 ENDDO
276C---------------------------------------------
277 ELSEIF (keyword == 'M11') THEN
278C------------------------------------------------
279 DO i=1,nel
280 m = nft+i+offset
281 evar(1,i) = tors(4,m)
282 ENDDO
283C---------------------------------------------
284 ELSEIF (keyword == 'M21') THEN
285C------------------------------------------------
286 DO i=1,nel
287 m = nft+i+offset
288 evar(1,i) = tors(5,m)
289 ENDDO
290C---------------------------------------------
291 ELSEIF (keyword == 'M31') THEN
292C------------------------------------------------
293 DO i=1,nel
294 m = nft+i+offset
295 evar(1,i) = tors(6,m)
296 ENDDO
297C---------------------------------------------
298 ELSEIF (keyword == 'M12') THEN
299C------------------------------------------------
300 DO i=1,nel
301 m = nft+i+offset
302 evar(1,i) = tors(7,m)
303 ENDDO
304C---------------------------------------------
305 ELSEIF (keyword == 'M22') THEN
306C------------------------------------------------
307 DO i=1,nel
308 m = nft+i+offset
309 evar(1,i) = tors(8,m)
310 ENDDO
311C---------------------------------------------
312 ELSEIF (keyword == 'M32') THEN
313C------------------------------------------------
314 DO i=1,nel
315 m = nft+i+offset
316 evar(1,i) = tors(9,m)
317 ENDDO
318 ENDIF
319
320 CALL h3d_write_torsor(iok_part,is_written_oned,oned_torsor,nel,offset,nft,
321 . evar)
322 ENDIF
323C-----------------------------------------------
324 ENDDO
325C
326C-----------------------------------------------
327 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine h3d_write_torsor(iok_part, is_written, torsor, nel, offset, nft, value)
integer, parameter ncharline100