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 32 of file h3d_oned_torsor.F.

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