OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
integrator.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com08_c.inc"
#include "impl1_c.inc"
#include "com04_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine integratorl (nodft, nodlt, d, dr, x, v, vr, a, ar)
subroutine integrator (nodft, nodlt, ndt, d, dr, x, v, vr, a, ar)
subroutine integrator0 (nodft, nodlt, v, x)
subroutine integrator1 (nodft, nodlt, d, x)
subroutine integrator2 (nodft, nodlt, iddl, ndof, ikc, d, dr, dd, ddr)
subroutine frac_d (nodft, nodlt, iddl, ndof, ikc, d, dr, fac)
subroutine frac_dd (nodft, nodlt, iddl, ndof, ikc, d, dr, dd, ddr, fac)
subroutine integratorl_hp (d, dr, x, v, vr, a, ar)
subroutine integrator_hp (ndt, d, dr, x, v, vr, a, ar)
subroutine integrator1_hp (d, x)
subroutine integrator2_hp (iddl, ndof, ikc, d, dr, dd, ddr)
subroutine frac_d_hp (iddl, ndof, ikc, d, dr, fac)
subroutine frac_dd_hp (iddl, ndof, ikc, d, dr, dd, ddr, fac)

Function/Subroutine Documentation

◆ frac_d()

subroutine frac_d ( integer nodft,
integer nodlt,
integer, dimension(*) iddl,
integer, dimension(*) ndof,
integer, dimension(*) ikc,
d,
dr,
fac )

Definition at line 248 of file integrator.F.

249C-----------------------------------------------
250C I m p l i c i t T y p e s
251C-----------------------------------------------
252#include "implicit_f.inc"
253C-----------------------------------------------
254C C o m m o n B l o c k s
255C-----------------------------------------------
256#include "com01_c.inc"
257C-----------------------------------------------
258C D u m m y A r g u m e n t s
259C-----------------------------------------------
260 INTEGER NODFT,NODLT ,IDDL(*),IKC(*) ,NDOF(*)
261C REAL
262 my_real
263 . fac,d(3,*),dr(3,*)
264C-----------------------------------------------
265C L o c a l V a r i a b l e s
266C-----------------------------------------------
267 INTEGER I,J,ID
268C-----------------------------------------------
269 DO i=nodft,nodlt
270 DO j=1,3
271 id = iddl(i)+j
272 IF (ikc(id)==0) d(j,i)=d(j,i)*fac
273 ENDDO
274 ENDDO
275 IF (iroddl/=0) THEN
276 DO i=nodft,nodlt
277 IF (ndof(i)>3) THEN
278 DO j=1,3
279 id = iddl(i)+j+3
280 IF (ikc(id)==0) dr(j,i)=dr(j,i)*fac
281 ENDDO
282 ENDIF
283 ENDDO
284 ENDIF
285C--------------------------------------------
286 RETURN
#define my_real
Definition cppsort.cpp:32
initmumps id

◆ frac_d_hp()

subroutine frac_d_hp ( integer, dimension(*) iddl,
integer, dimension(*) ndof,
integer, dimension(*) ikc,
d,
dr,
fac )

Definition at line 564 of file integrator.F.

565C-----------------------------------------------
566C I m p l i c i t T y p e s
567C-----------------------------------------------
568#include "implicit_f.inc"
569C-----------------------------------------------
570C C o m m o n B l o c k s
571C-----------------------------------------------
572#include "com01_c.inc"
573#include "com04_c.inc"
574C-----------------------------------------------
575C D u m m y A r g u m e n t s
576C-----------------------------------------------
577 INTEGER IDDL(*),IKC(*) ,NDOF(*)
578C REAL
579 my_real
580 . fac,d(3,*),dr(3,*)
581C-----------------------------------------------
582C L o c a l V a r i a b l e s
583C-----------------------------------------------
584 INTEGER NODFT,NODLT ,ITSK
585 INTEGER I,J,ID
586C-----------------------------------------------
587!$OMP PARALLEL PRIVATE(ITSK,NODFT ,NODLT,ID,I,J)
588 CALL imp_smpini(itsk ,nodft ,nodlt ,numnod )
589 DO i=nodft,nodlt
590 DO j=1,3
591 id = iddl(i)+j
592 IF (ikc(id)==0) d(j,i)=d(j,i)*fac
593 ENDDO
594 ENDDO
595 IF (iroddl/=0) THEN
596 DO i=nodft,nodlt
597 IF (ndof(i)>3) THEN
598 DO j=1,3
599 id = iddl(i)+j+3
600 IF (ikc(id)==0) dr(j,i)=dr(j,i)*fac
601 ENDDO
602 ENDIF
603 ENDDO
604 ENDIF
605!$OMP END PARALLEL
606C--------------------------------------------
607 RETURN
subroutine imp_smpini(itsk, n1ftsk, n1ltsk, n1)
Definition imp_solv.F:6895

◆ frac_dd()

subroutine frac_dd ( integer nodft,
integer nodlt,
integer, dimension(*) iddl,
integer, dimension(*) ndof,
integer, dimension(*) ikc,
d,
dr,
dd,
ddr,
fac )

Definition at line 294 of file integrator.F.

295C-----------------------------------------------
296C I m p l i c i t T y p e s
297C-----------------------------------------------
298#include "implicit_f.inc"
299C-----------------------------------------------
300C C o m m o n B l o c k s
301C-----------------------------------------------
302#include "com01_c.inc"
303C-----------------------------------------------
304C D u m m y A r g u m e n t s
305C-----------------------------------------------
306 INTEGER NODFT,NODLT ,IDDL(*),IKC(*) ,NDOF(*)
307C REAL
308 my_real
309 . fac,d(3,*),dr(3,*),dd(3,*),ddr(3,*)
310C-----------------------------------------------
311C L o c a l V a r i a b l e s
312C-----------------------------------------------
313 INTEGER I,J,ID
314C-----------------------------------------------
315 DO i=nodft,nodlt
316 DO j=1,3
317 id = iddl(i)+j
318 IF (ikc(id)==0) d(j,i)=d(j,i)+fac*dd(j,i)
319 ENDDO
320 ENDDO
321 IF (iroddl/=0) THEN
322 DO i=nodft,nodlt
323 IF (ndof(i)>3) THEN
324 DO j=1,3
325 id = iddl(i)+j+3
326 IF (ikc(id)==0) dr(j,i)=dr(j,i)+fac*ddr(j,i)
327 ENDDO
328 ENDIF
329 ENDDO
330 ENDIF
331C--------------------------------------------
332 RETURN

◆ frac_dd_hp()

subroutine frac_dd_hp ( integer, dimension(*) iddl,
integer, dimension(*) ndof,
integer, dimension(*) ikc,
d,
dr,
dd,
ddr,
fac )

Definition at line 617 of file integrator.F.

618C-----------------------------------------------
619C I m p l i c i t T y p e s
620C-----------------------------------------------
621#include "implicit_f.inc"
622C-----------------------------------------------
623C C o m m o n B l o c k s
624C-----------------------------------------------
625#include "com01_c.inc"
626#include "com04_c.inc"
627C-----------------------------------------------
628C D u m m y A r g u m e n t s
629C-----------------------------------------------
630 INTEGER IDDL(*),IKC(*) ,NDOF(*)
631C REAL
632 my_real
633 . fac,d(3,*),dr(3,*),dd(3,*),ddr(3,*)
634C-----------------------------------------------
635C L o c a l V a r i a b l e s
636C-----------------------------------------------
637 INTEGER NODFT,NODLT ,ITSK
638 INTEGER I,J,ID
639C-----------------------------------------------
640!$OMP PARALLEL PRIVATE(ITSK,NODFT ,NODLT,I,J,ID)
641 CALL imp_smpini(itsk ,nodft ,nodlt ,numnod )
642 DO i=nodft,nodlt
643 DO j=1,3
644 id = iddl(i)+j
645 IF (ikc(id)==0) d(j,i)=d(j,i)+fac*dd(j,i)
646 ENDDO
647 ENDDO
648 IF (iroddl/=0) THEN
649 DO i=nodft,nodlt
650 IF (ndof(i)>3) THEN
651 DO j=1,3
652 id = iddl(i)+j+3
653 IF (ikc(id)==0) dr(j,i)=dr(j,i)+fac*ddr(j,i)
654 ENDDO
655 ENDIF
656 ENDDO
657 ENDIF
658!$OMP END PARALLEL
659C--------------------------------------------
660 RETURN

◆ integrator()

subroutine integrator ( integer nodft,
integer nodlt,
integer ndt,
d,
dr,
x,
v,
vr,
a,
ar )

Definition at line 79 of file integrator.F.

81C-----------------------------------------------
82C I m p l i c i t T y p e s
83C-----------------------------------------------
84#include "implicit_f.inc"
85C-----------------------------------------------
86C C o m m o n B l o c k s
87C-----------------------------------------------
88#include "com01_c.inc"
89#include "com08_c.inc"
90#include "impl1_c.inc"
91C-----------------------------------------------
92C D u m m y A r g u m e n t s
93C-----------------------------------------------
94 INTEGER NODFT,NODLT,NDT
95C REAL
97 . d(3,*),dr(3,*),v(3,*),vr(3,*),a(3,*),ar(3,*),x(3,*)
98C-----------------------------------------------
99C L o c a l V a r i a b l e s
100C-----------------------------------------------
101 INTEGER I,K
102 my_real
103 . dti
104C------- integrateur ----------
105 IF (idyna>0) CALL inte_dyna(nodft,nodlt ,
106 . d ,dr ,v ,vr )
107 dti = one/dt2/ndt
108 DO i=nodft,nodlt
109 v(1,i)=dti*d(1,i)
110 v(2,i)=dti*d(2,i)
111 v(3,i)=dti*d(3,i)
112 ENDDO
113 IF (iroddl/=0) THEN
114 DO i=nodft,nodlt
115 vr(1,i)=dti*dr(1,i)
116 vr(2,i)=dti*dr(2,i)
117 vr(3,i)=dti*dr(3,i)
118 ENDDO
119 ENDIF
120C
121 CALL integrator0(nodft,nodlt,v ,x )
122 DO i=nodft,nodlt
123 a(1,i)=zero
124 a(2,i)=zero
125 a(3,i)=zero
126 ENDDO
127 IF (iroddl/=0) THEN
128 DO i=nodft,nodlt
129 ar(1,i)=zero
130 ar(2,i)=zero
131 ar(3,i)=zero
132 ENDDO
133 ENDIF
134C--------------------------------------------
135 RETURN
subroutine inte_dyna(nodft, nodlt, d, dr, v, vr)
Definition imp_dyna.F:186
subroutine integrator0(nodft, nodlt, v, x)
Definition integrator.F:144

◆ integrator0()

subroutine integrator0 ( integer nodft,
integer nodlt,
v,
x )

Definition at line 143 of file integrator.F.

144C-----------------------------------------------
145C I m p l i c i t T y p e s
146C-----------------------------------------------
147#include "implicit_f.inc"
148C-----------------------------------------------
149C C o m m o n B l o c k s
150C-----------------------------------------------
151#include "com08_c.inc"
152C-----------------------------------------------
153C D u m m y A r g u m e n t s
154C-----------------------------------------------
155 INTEGER NODFT,NODLT
156C REAL
157 my_real
158 . v(3,*),x(3,*)
159C-----------------------------------------------
160C L o c a l V a r i a b l e s
161C-----------------------------------------------
162 INTEGER I
163C------- integrateur de base---------
164 DO i=nodft,nodlt
165 x(1,i)=x(1,i)+v(1,i)*dt2
166 x(2,i)=x(2,i)+v(2,i)*dt2
167 x(3,i)=x(3,i)+v(3,i)*dt2
168 ENDDO
169C--------------------------------------------
170 RETURN

◆ integrator1()

subroutine integrator1 ( integer nodft,
integer nodlt,
d,
x )

Definition at line 175 of file integrator.F.

176C-----------------------------------------------
177C I m p l i c i t T y p e s
178C-----------------------------------------------
179#include "implicit_f.inc"
180C-----------------------------------------------
181C D u m m y A r g u m e n t s
182C-----------------------------------------------
183 INTEGER NODFT,NODLT
184C REAL
185 my_real
186 . d(3,*),x(3,*)
187C-----------------------------------------------
188C L o c a l V a r i a b l e s
189C-----------------------------------------------
190 INTEGER I,K
191C------- integrateur de base---------
192 DO i=nodft,nodlt
193 x(1,i)=x(1,i)+d(1,i)
194 x(2,i)=x(2,i)+d(2,i)
195 x(3,i)=x(3,i)+d(3,i)
196 ENDDO
197C--------------------------------------------
198 RETURN

◆ integrator1_hp()

subroutine integrator1_hp ( d,
x )

Definition at line 472 of file integrator.F.

473C-----------------------------------------------
474C I m p l i c i t T y p e s
475C-----------------------------------------------
476#include "implicit_f.inc"
477C-----------------------------------------------
478C C o m m o n B l o c k s
479C-----------------------------------------------
480#include "com04_c.inc"
481C-----------------------------------------------
482C D u m m y A r g u m e n t s
483C-----------------------------------------------
484C REAL
485 my_real
486 . d(3,*),x(3,*)
487C-----------------------------------------------
488C L o c a l V a r i a b l e s
489C-----------------------------------------------
490 INTEGER NODFT,NODLT ,ITSK
491 INTEGER I,K
492C------- integrateur de base---------
493!$OMP PARALLEL PRIVATE(ITSK,NODFT ,NODLT,I)
494 CALL imp_smpini(itsk ,nodft ,nodlt ,numnod )
495 DO i=nodft,nodlt
496 x(1,i)=x(1,i)+d(1,i)
497 x(2,i)=x(2,i)+d(2,i)
498 x(3,i)=x(3,i)+d(3,i)
499 ENDDO
500!$OMP END PARALLEL
501C--------------------------------------------
502 RETURN

◆ integrator2()

subroutine integrator2 ( integer nodft,
integer nodlt,
integer, dimension(*) iddl,
integer, dimension(*) ndof,
integer, dimension(*) ikc,
d,
dr,
dd,
ddr )

Definition at line 206 of file integrator.F.

207C-----------------------------------------------
208C I m p l i c i t T y p e s
209C-----------------------------------------------
210#include "implicit_f.inc"
211C-----------------------------------------------
212C C o m m o n B l o c k s
213C-----------------------------------------------
214#include "com01_c.inc"
215C-----------------------------------------------
216C D u m m y A r g u m e n t s
217C-----------------------------------------------
218 INTEGER NODFT,NODLT ,IDDL(*),IKC(*) ,NDOF(*)
219C REAL
220 my_real
221 . d(3,*),dr(3,*),dd(3,*),ddr(3,*)
222C-----------------------------------------------
223C L o c a l V a r i a b l e s
224C-----------------------------------------------
225 INTEGER I,J,ID
226 DO i=nodft,nodlt
227 DO j=1,3
228 id = iddl(i)+j
229 IF (ikc(id)==0) d(j,i)=d(j,i)+dd(j,i)
230 ENDDO
231 ENDDO
232 IF (iroddl/=0) THEN
233 DO i=nodft,nodlt
234 IF (ndof(i)>3) THEN
235 DO j=1,3
236 id = iddl(i)+j+3
237 IF (ikc(id)==0) dr(j,i)=dr(j,i)+ddr(j,i)
238 ENDDO
239 ENDIF
240 ENDDO
241 ENDIF
242C--------------------------------------------
243 RETURN

◆ integrator2_hp()

subroutine integrator2_hp ( integer, dimension(*) iddl,
integer, dimension(*) ndof,
integer, dimension(*) ikc,
d,
dr,
dd,
ddr )

Definition at line 512 of file integrator.F.

513C-----------------------------------------------
514C I m p l i c i t T y p e s
515C-----------------------------------------------
516#include "implicit_f.inc"
517C-----------------------------------------------
518C C o m m o n B l o c k s
519C-----------------------------------------------
520#include "com01_c.inc"
521#include "com04_c.inc"
522C-----------------------------------------------
523C D u m m y A r g u m e n t s
524C-----------------------------------------------
525 INTEGER IDDL(*),IKC(*) ,NDOF(*)
526C REAL
527 my_real
528 . d(3,*),dr(3,*),dd(3,*),ddr(3,*)
529C-----------------------------------------------
530C L o c a l V a r i a b l e s
531C-----------------------------------------------
532 INTEGER NODFT,NODLT ,ITSK
533 INTEGER I,J,ID
534C-----------------------------------------------
535!$OMP PARALLEL PRIVATE(ITSK,NODFT ,NODLT,ID,I,J)
536 CALL imp_smpini(itsk ,nodft ,nodlt ,numnod )
537 DO i=nodft,nodlt
538 DO j=1,3
539 id = iddl(i)+j
540 IF (ikc(id)==0) d(j,i)=d(j,i)+dd(j,i)
541 ENDDO
542 ENDDO
543 IF (iroddl/=0) THEN
544 DO i=nodft,nodlt
545 IF (ndof(i)>3) THEN
546 DO j=1,3
547 id = iddl(i)+j+3
548 IF (ikc(id)==0) dr(j,i)=dr(j,i)+ddr(j,i)
549 ENDDO
550 ENDIF
551 ENDDO
552 ENDIF
553!$OMP END PARALLEL
554C--------------------------------------------
555 RETURN

◆ integrator_hp()

subroutine integrator_hp ( integer ndt,
d,
dr,
x,
v,
vr,
a,
ar )

Definition at line 402 of file integrator.F.

404C-----------------------------------------------
405C I m p l i c i t T y p e s
406C-----------------------------------------------
407#include "implicit_f.inc"
408C-----------------------------------------------
409C C o m m o n B l o c k s
410C-----------------------------------------------
411#include "com01_c.inc"
412#include "com08_c.inc"
413#include "impl1_c.inc"
414#include "com04_c.inc"
415C-----------------------------------------------
416C D u m m y A r g u m e n t s
417C-----------------------------------------------
418 INTEGER NDT
419C REAL
420 my_real
421 . d(3,*),dr(3,*),v(3,*),vr(3,*),a(3,*),ar(3,*),x(3,*)
422C-----------------------------------------------
423C L o c a l V a r i a b l e s
424C-----------------------------------------------
425 INTEGER NODFT,NODLT,ITSK
426 INTEGER I,K
427 my_real
428 . dti
429C------- integrateur ----------
430 dti = one/dt2/ndt
431!$OMP PARALLEL PRIVATE(ITSK,NODFT ,NODLT,I)
432 CALL imp_smpini(itsk ,nodft ,nodlt ,numnod )
433 IF (idyna>0) CALL inte_dyna(nodft,nodlt ,
434 . d ,dr ,v ,vr )
435 DO i=nodft,nodlt
436 v(1,i)=dti*d(1,i)
437 v(2,i)=dti*d(2,i)
438 v(3,i)=dti*d(3,i)
439 ENDDO
440 IF (iroddl/=0) THEN
441 DO i=nodft,nodlt
442 vr(1,i)=dti*dr(1,i)
443 vr(2,i)=dti*dr(2,i)
444 vr(3,i)=dti*dr(3,i)
445 ENDDO
446 ENDIF
447C
448 CALL integrator0(nodft,nodlt,v ,x )
449 DO i=nodft,nodlt
450 a(1,i)=zero
451 a(2,i)=zero
452 a(3,i)=zero
453 ENDDO
454 IF (iroddl/=0) THEN
455 DO i=nodft,nodlt
456 ar(1,i)=zero
457 ar(2,i)=zero
458 ar(3,i)=zero
459 ENDDO
460 ENDIF
461!$OMP END PARALLEL
462C--------------------------------------------
463 RETURN

◆ integratorl()

subroutine integratorl ( integer nodft,
integer nodlt,
d,
dr,
x,
v,
vr,
a,
ar )

Definition at line 26 of file integrator.F.

28C-----------------------------------------------
29C I m p l i c i t T y p e s
30C-----------------------------------------------
31#include "implicit_f.inc"
32C-----------------------------------------------
33C C o m m o n B l o c k s
34C-----------------------------------------------
35#include "com01_c.inc"
36#include "com08_c.inc"
37C-----------------------------------------------
38C D u m m y A r g u m e n t s
39C-----------------------------------------------
40 INTEGER NODFT,NODLT
41C REAL
43 . d(3,*),dr(3,*),v(3,*),vr(3,*),a(3,*),ar(3,*),x(3,*)
44C-----------------------------------------------
45C L o c a l V a r i a b l e s
46C-----------------------------------------------
47 INTEGER I,K
49 . dti
50C------- integrateur ----------
51 dti = one/dt2
52 DO i=nodft,nodlt
53 v(1,i)=d(1,i)*dti
54 v(2,i)=d(2,i)*dti
55 v(3,i)=d(3,i)*dti
56 a(1,i)=zero
57 a(2,i)=zero
58 a(3,i)=zero
59 ENDDO
60 IF (iroddl/=0) THEN
61 DO i=nodft,nodlt
62 vr(1,i)=dr(1,i)*dti
63 vr(2,i)=dr(2,i)*dti
64 vr(3,i)=dr(3,i)*dti
65 ar(1,i)=zero
66 ar(2,i)=zero
67 ar(3,i)=zero
68 ENDDO
69 ENDIF
70C--------------------------------------------
71 RETURN

◆ integratorl_hp()

subroutine integratorl_hp ( d,
dr,
x,
v,
vr,
a,
ar )

Definition at line 342 of file integrator.F.

344C-----------------------------------------------
345C I m p l i c i t T y p e s
346C-----------------------------------------------
347#include "implicit_f.inc"
348C-----------------------------------------------
349C C o m m o n B l o c k s
350C-----------------------------------------------
351#include "com01_c.inc"
352#include "com04_c.inc"
353#include "com08_c.inc"
354C-----------------------------------------------
355C D u m m y A r g u m e n t s
356C-----------------------------------------------
357C REAL
358 my_real
359 . d(3,*),dr(3,*),v(3,*),vr(3,*),a(3,*),ar(3,*),x(3,*)
360C-----------------------------------------------
361C L o c a l V a r i a b l e s
362C-----------------------------------------------
363 INTEGER NODFT,NODLT,ITSK
364 INTEGER I,K
365 my_real
366 . dti
367C------- integrateur ----------
368 dti = one/dt2
369!$OMP PARALLEL PRIVATE(ITSK,NODFT ,NODLT,I)
370 CALL imp_smpini(itsk ,nodft ,nodlt ,numnod )
371 DO i=nodft,nodlt
372 v(1,i)=d(1,i)*dti
373 v(2,i)=d(2,i)*dti
374 v(3,i)=d(3,i)*dti
375 a(1,i)=zero
376 a(2,i)=zero
377 a(3,i)=zero
378 ENDDO
379 IF (iroddl/=0) THEN
380 DO i=nodft,nodlt
381 vr(1,i)=dr(1,i)*dti
382 vr(2,i)=dr(2,i)*dti
383 vr(3,i)=dr(3,i)*dti
384 ar(1,i)=zero
385 ar(2,i)=zero
386 ar(3,i)=zero
387 ENDDO
388 ENDIF
389!$OMP END PARALLEL
390C--------------------------------------------
391 RETURN