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

Go to the source code of this file.

Functions/Subroutines

subroutine i6sti3 (irect, stf, nrt, stfn, nsn, nsv, xmas, ms, npby, lpby, noint, itab, id, titr)

Function/Subroutine Documentation

◆ i6sti3()

subroutine i6sti3 ( integer, dimension(4,*) irect,
stf,
integer nrt,
stfn,
integer nsn,
integer, dimension(*) nsv,
xmas,
ms,
integer, dimension(nnpby,*) npby,
integer, dimension(*) lpby,
integer noint,
integer, dimension(*) itab,
integer id,
character(len=nchartitle) titr )

Definition at line 34 of file i6sti3.F.

37C-----------------------------------------------
38C M o d u l e s
39C-----------------------------------------------
40 USE message_mod
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C C o m m o n B l o c k s
48C-----------------------------------------------
49#include "com04_c.inc"
50#include "param_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 INTEGER NRT, NSN, NOINT
55C REAL
57 . xmas
58 INTEGER IRECT(4,*), NSV(*), NPBY(NNPBY,*), LPBY(*), ITAB(*)
59C REAL
61 . stf(*), stfn(*), ms(*)
62 INTEGER ID
63 CHARACTER(LEN=NCHARTITLE) :: TITR
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER IFL, KAD, I, J, K, L, M, N, II, NSL, IG, IL
68C-----------------------------------------------
69C E x t e r n a l F u n c t i o n s
70C-----------------------------------------------
71C
72 ifl=0
73 kad=0
74 DO n=1,nrbykin
75 m =npby(1,n)
76 nsl=npby(2,n)
77 DO j=1,nsl
78 IF (lpby(kad+j) == nsv(1)) THEN
79 xmas=ms(m)
80 GOTO 150
81 ENDIF
82 ENDDO
83 kad =kad+nsl
84 ENDDO
85C Error : no rigid body
86 ifl = 1
87 CALL ancmsg(msgid=100,
88 . msgtype=msgerror,
89 . anmode=aninfo_blind_1,
90 . i1=id,
91 . c1=titr,
92 . i2=itab(nsv(1)))
93C-------------
94 150 CONTINUE
95C-------------
96 DO i=2,nsn
97 ii = nsv(i)
98 DO j=1,nsl
99 IF (lpby(kad+j) == ii) GOTO 300
100 ENDDO
101C
102 IF (ifl == 0) THEN
103 ifl = 1
104 kad = 0
105 DO k=1,nrbykin
106 nsl = npby(2,k)
107 DO j=1,nsl
108 IF (lpby(kad+j) == ii .and. k /= n) THEN
109C Error : second rigid body
110 CALL ancmsg(msgid=1094,
111 . msgtype=msgerror,
112 . anmode=aninfo_blind_1,
113 . i1=id,
114 . c1=titr)
115 GOTO 300
116 ENDIF
117 ENDDO
118 kad = kad+nsl
119 ENDDO
120C Error : no rigid body
121 CALL ancmsg(msgid=100,
122 . msgtype=msgerror,
123 . anmode=aninfo_blind_1,
124 . i1=id,
125 . c1=titr,
126 . i2=itab(ii))
127 ENDIF
128C
129 300 CONTINUE
130 ENDDO !I=2,NSN
131C--------------------------------------------------------------
132C CALCUL DES RIGIDITES DES SEGMENTS ET DES NOEUDS
133C---------------------------------------------------------------
134 DO i=1,nrt
135 stf(i)=one
136 ENDDO
137C---------------------------------------------
138C CALCUL DES RIGIDITES NODALES
139C---------------------------------------------
140 DO j=1,nsn
141 stfn(j)=one
142 ENDDO
143C
144 DO i=1,nrt
145 DO j=1,4
146 ig=irect(j,i)
147 CALL local_index(il,ig,nsv,nsn)
148 irect(j,i)=il
149 ENDDO
150 ENDDO
151C
152 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine local_index(il, ig, nodes, n)
Definition local_index.F:37
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