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

Go to the source code of this file.

Functions/Subroutines

subroutine ini_diff (iadll, jll, lll, n0, n1, n2, n3, nc, id, titr)

Function/Subroutine Documentation

◆ ini_diff()

subroutine ini_diff ( integer, dimension(*) iadll,
integer, dimension(*) jll,
integer, dimension(*) lll,
integer n0,
integer n1,
integer n2,
integer n3,
integer nc,
integer id,
character(len=nchartitle) titr )

Definition at line 32 of file ini_diff.F.

34 USE message_mod
36C----------------------------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "lagmult.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER N0, N1, N2, N3 ,NC, IADLL(*), JLL(*), LLL(*)
48 INTEGER ID
49 CHARACTER(LEN=NCHARTITLE) :: TITR
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER I, II, J, JJ, IK, IAD, INOD(4)
54C======================================================================|
55 inod(1) = n1
56 inod(2) = n2
57 inod(3) = n3
58 inod(4) = n0
59C--- vx
60 nc = nc + 1
61 IF(nc>lag_ncf)THEN
62 CALL ancmsg(msgid=468,
63 . msgtype=msgerror,
64 . anmode=aninfo,
65 . i1=id,
66 . c1='DIFFERENTIAL GEAR',
67 . c2='DIFFERENTIAL GEAR',
68 . c3=titr)
69 ENDIF
70 iadll(nc+1) = iadll(nc) + 10
71 IF(iadll(nc+1)-1>lag_nkf)THEN
72 CALL ancmsg(msgid=469,
73 . msgtype=msgerror,
74 . anmode=aninfo,
75 . i1=id,
76 . c1='DIFFERENTIAL GEAR',
77 . c2='DIFFERENTIAL GEAR',
78 . c3=titr)
79 ENDIF
80 iad = iadll(nc) -1
81 DO jj=1,3
82 ik = iad+jj
83 lll(ik) = inod(jj)
84 jll(ik) = 1
85 ENDDO
86 iad = iad + 3
87 DO jj=1,3
88 ik = iad+jj
89 lll(ik) = inod(jj)
90 jll(ik) = 2
91 ENDDO
92 iad = iad + 3
93 DO jj=1,3
94 ik = iad+jj
95 lll(ik) = inod(jj)
96 jll(ik) = 3
97 ENDDO
98 ik = iad + 4
99 lll(ik) = inod(4)
100 jll(ik) = 1
101C--- vy
102 nc = nc + 1
103 IF(nc>lag_ncf)THEN
104 CALL ancmsg(msgid=468,
105 . msgtype=msgerror,
106 . anmode=aninfo,
107 . i1=id,
108 . c1='DIFFERENTIAL GEAR',
109 . c2='DIFFERENTIAL GEAR',
110 . c3=titr)
111 ENDIF
112 iadll(nc+1) = iadll(nc) + 10
113 IF(iadll(nc+1)-1>lag_nkf)THEN
114 CALL ancmsg(msgid=469,
115 . msgtype=msgerror,
116 . anmode=aninfo,
117 . i1=id,
118 . c1='DIFFERENTIAL GEAR',
119 . c2='DIFFERENTIAL GEAR',
120 . c3=titr)
121 ENDIF
122 iad = iadll(nc) -1
123 DO jj=1,3
124 ik = iad+jj
125 lll(ik) = inod(jj)
126 jll(ik) = 1
127 ENDDO
128 iad = iad + 3
129 DO jj=1,3
130 ik = iad+jj
131 lll(ik) = inod(jj)
132 jll(ik) = 2
133 ENDDO
134 iad = iad + 3
135 DO jj=1,3
136 ik = iad+jj
137 lll(ik) = inod(jj)
138 jll(ik) = 3
139 ENDDO
140 ik = iad + 4
141 lll(ik) = inod(4)
142 jll(ik) = 2
143C--- vz
144 nc = nc + 1
145 IF(nc>lag_ncf)THEN
146 CALL ancmsg(msgid=468,
147 . msgtype=msgerror,
148 . anmode=aninfo,
149 . i1=id,
150 . c1='DIFFERENTIAL GEAR',
151 . c2='DIFFERENTIAL GEAR',
152 . c3=titr)
153 ENDIF
154 iadll(nc+1) = iadll(nc) + 10
155 IF(iadll(nc+1)-1>lag_nkf)THEN
156 CALL ancmsg(msgid=469,
157 . msgtype=msgerror,
158 . anmode=aninfo,
159 . i1=id,
160 . c1='DIFFERENTIAL GEAR',
161 . c2='DIFFERENTIAL GEAR',
162 . c3=titr)
163 ENDIF
164 iad = iadll(nc) -1
165 DO jj=1,3
166 ik = iad+jj
167 lll(ik) = inod(jj)
168 jll(ik) = 1
169 ENDDO
170 iad = iad + 3
171 DO jj=1,3
172 ik = iad+jj
173 lll(ik) = inod(jj)
174 jll(ik) = 2
175 ENDDO
176 iad = iad + 3
177 DO jj=1,3
178 ik = iad+jj
179 lll(ik) = inod(jj)
180 jll(ik) = 3
181 ENDDO
182 ik = iad + 4
183 lll(ik) = inod(4)
184 jll(ik) = 3
185C --- wx
186 nc = nc + 1
187 IF(nc>lag_ncf)THEN
188 CALL ancmsg(msgid=468,
189 . msgtype=msgerror,
190 . anmode=aninfo,
191 . i1=id,
192 . c1='DIFFERENTIAL GEAR',
193 . c2='DIFFERENTIAL GEAR',
194 . c3=titr)
195 ENDIF
196 iadll(nc+1) = iadll(nc) + 10
197 IF(iadll(nc+1)-1>lag_nkf)THEN
198 CALL ancmsg(msgid=469,
199 . msgtype=msgerror,
200 . anmode=aninfo,
201 . i1=id,
202 . c1='DIFFERENTIAL GEAR',
203 . c2='DIFFERENTIAL GEAR',
204 . c3=titr)
205 ENDIF
206 iad = iadll(nc) -1
207 DO jj=1,3
208 ik = iad+jj
209 lll(ik) = inod(jj)
210 jll(ik) = 1
211 ENDDO
212 iad = iad + 3
213 DO jj=1,3
214 ik = iad+jj
215 lll(ik) = inod(jj)
216 jll(ik) = 2
217 ENDDO
218 iad = iad + 3
219 DO jj=1,3
220 ik = iad+jj
221 lll(ik) = inod(jj)
222 jll(ik) = 3
223 ENDDO
224 ik = iad + 4
225 lll(ik) = inod(4)
226 jll(ik) = 4
227C --- wy
228 nc = nc + 1
229 IF(nc>lag_ncf)THEN
230 CALL ancmsg(msgid=468,
231 . msgtype=msgerror,
232 . anmode=aninfo,
233 . i1=id,
234 . c1='DIFFERENTIAL GEAR',
235 . c2='DIFFERENTIAL GEAR',
236 . c3=titr)
237 ENDIF
238 iadll(nc+1) = iadll(nc) + 10
239 IF(iadll(nc+1)-1>lag_nkf)THEN
240 CALL ancmsg(msgid=469,
241 . msgtype=msgerror,
242 . anmode=aninfo,
243 . i1=id,
244 . c1='DIFFERENTIAL GEAR',
245 . c2='DIFFERENTIAL GEAR',
246 . c3=titr)
247 ENDIF
248 iad = iadll(nc) -1
249 DO jj=1,3
250 ik = iad+jj
251 lll(ik) = inod(jj)
252 jll(ik) = 1
253 ENDDO
254 iad = iad + 3
255 DO jj=1,3
256 ik = iad+jj
257 lll(ik) = inod(jj)
258 jll(ik) = 2
259 ENDDO
260 iad = iad + 3
261 DO jj=1,3
262 ik = iad+jj
263 lll(ik) = inod(jj)
264 jll(ik) = 3
265 ENDDO
266 ik = iad + 4
267 lll(ik) = inod(4)
268 jll(ik) = 5
269C --- wz
270 nc = nc + 1
271 IF(nc>lag_ncf)THEN
272 CALL ancmsg(msgid=468,
273 . msgtype=msgerror,
274 . anmode=aninfo,
275 . i1=id,
276 . c1='DIFFERENTIAL GEAR',
277 . c2='DIFFERENTIAL GEAR',
278 . c3=titr)
279 ENDIF
280 iadll(nc+1) = iadll(nc) + 10
281 IF(iadll(nc+1)-1>lag_nkf)THEN
282 CALL ancmsg(msgid=469,
283 . msgtype=msgerror,
284 . anmode=aninfo,
285 . i1=id,
286 . c1='DIFFERENTIAL GEAR',
287 . c2='DIFFERENTIAL GEAR',
288 . c3=titr)
289 ENDIF
290 iad = iadll(nc) -1
291 DO jj=1,3
292 ik = iad+jj
293 lll(ik) = inod(jj)
294 jll(ik) = 1
295 ENDDO
296 iad = iad + 3
297 DO jj=1,3
298 ik = iad+jj
299 lll(ik) = inod(jj)
300 jll(ik) = 2
301 ENDDO
302 iad = iad + 3
303 DO jj=1,3
304 ik = iad+jj
305 lll(ik) = inod(jj)
306 jll(ik) = 3
307 ENDDO
308 ik = iad + 4
309 lll(ik) = inod(4)
310 jll(ik) = 6
311C
312C Local Constraints
313C --- local X
314 inod(4) = n0
315 nc = nc + 1
316 IF(nc>lag_ncf)THEN
317 CALL ancmsg(msgid=468,
318 . msgtype=msgerror,
319 . anmode=aninfo,
320 . i1=id,
321 . c1='differential gear',
322 . C2='differential gear',
323 . C3=TITR)
324 ENDIF
325 IADLL(NC+1)=IADLL(NC) + 12
326 IF(IADLL(NC+1)-1>LAG_NKF)THEN
327 CALL ANCMSG(MSGID=469,
328 . MSGTYPE=MSGERROR,
329 . ANMODE=ANINFO,
330 . I1=ID,
331 . C1='differential gear',
332 . C2='differential gear',
333 . C3=TITR)
334 ENDIF
335 IK = IADLL(NC)
336 LLL(IK) = N1
337 JLL(IK) = 4
338 IK = IK+1
339 LLL(IK) = N1
340 JLL(IK) = 5
341 IK = IK+1
342 LLL(IK) = N1
343 JLL(IK) = 6
344 DO I=2,3
345 IK = IK+1
346 LLL(IK) = INOD(I)
347 JLL(IK) = 4
348 IK = IK+1
349 LLL(IK) = INOD(I)
350 JLL(IK) = 5
351 IK = IK+1
352 LLL(IK) = INOD(I)
353 JLL(IK) = 6
354 ENDDO
355 IK = IK+1
356 LLL(IK) = N0
357 JLL(IK) = 4
358 IK = IK+1
359 LLL(IK) = N0
360 JLL(IK) = 5
361 IK = IK+1
362 LLL(IK) = N0
363 JLL(IK) = 6
364C
365C local Y
366 DO I=1,3
367 NC = NC + 1
368 IF(NC>LAG_NCF)THEN
369 CALL ANCMSG(MSGID=468,
370 . MSGTYPE=MSGERROR,
371 . ANMODE=ANINFO,
372 . I1=ID,
373 . C1='differential gear',
374 . C2='differential gear',
375 . C3=TITR)
376 ENDIF
377 IADLL(NC+1)=IADLL(NC) + 6
378 IF(IADLL(NC+1)-1>LAG_NKF)THEN
379 CALL ANCMSG(MSGID=469,
380 . MSGTYPE=MSGERROR,
381 . ANMODE=ANINFO,
382 . I1=ID,
383 . C1='differential gear',
384 . C2='differential gear',
385 . C3=TITR)
386 ENDIF
387 IK = IADLL(NC)
388 LLL(IK) = INOD(I)
389 JLL(IK) = 4
390 IK = IK+1
391 LLL(IK) = INOD(I)
392 JLL(IK) = 5
393 IK = IK+1
394 LLL(IK) = INOD(I)
395 JLL(IK) = 6
396 IK = IK+1
397 LLL(IK) = N0
398 JLL(IK) = 4
399 IK = IK+1
400 LLL(IK) = N0
401 JLL(IK) = 5
402 IK = IK+1
403 LLL(IK) = N0
404 JLL(IK) = 6
405 ENDDO
406C
407C local Z
408 DO I=1,3
409 NC = NC + 1
410 IF(NC>LAG_NCF)THEN
411 CALL ANCMSG(MSGID=468,
412 . MSGTYPE=MSGERROR,
413 . ANMODE=ANINFO,
414 . I1=ID,
415 . C1='differential gear',
416 . C2='differential gear',
417 . C3=TITR)
418 ENDIF
419 IADLL(NC+1)=IADLL(NC) + 6
420 IF(IADLL(NC+1)-1>LAG_NKF)THEN
421 CALL ANCMSG(MSGID=469,
422 . MSGTYPE=MSGERROR,
423 . ANMODE=ANINFO,
424 . I1=ID,
425 . C1='differential gear',
426 . C2='differential gear',
427 . C3=TITR)
428 ENDIF
429 IK = IADLL(NC)
430 LLL(IK) = INOD(I)
431 JLL(IK) = 4
432 IK = IK+1
433 LLL(IK) = INOD(I)
434 JLL(IK) = 5
435 IK = IK+1
436 LLL(IK) = INOD(I)
437 JLL(IK) = 6
438 IK = IK+1
439 LLL(IK) = N0
440 JLL(IK) = 4
441 IK = IK+1
442 LLL(IK) = N0
443 JLL(IK) = 5
444 IK = IK+1
445 LLL(IK) = N0
446 JLL(IK) = 6
447 ENDDO
448C---
449 RETURN
initmumps id
integer, parameter nchartitle
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)
Definition message.F:889