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

Go to the source code of this file.

Functions/Subroutines

subroutine insolt10 (ixs, ixs10, irect, noint, nrtm, itab, knod2els, nod2els, nty, nsv, msegtyp, id, titr)

Function/Subroutine Documentation

◆ insolt10()

subroutine insolt10 ( integer, dimension(nixs,*) ixs,
integer, dimension(6,*) ixs10,
integer, dimension(4,*) irect,
integer noint,
integer nrtm,
integer, dimension(*) itab,
integer, dimension(*) knod2els,
integer, dimension(*) nod2els,
integer nty,
integer, dimension(*) nsv,
integer, dimension(*) msegtyp,
integer id,
character(len=nchartitle) titr )

Definition at line 32 of file insolt10.F.

34C
35 USE message_mod
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C C o m m o n B l o c k s
43C-----------------------------------------------
44#include "com04_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER IXS(NIXS,*),IXS10(6,*),IRECT(4,*),NOINT,NRTM,
49 . ITAB(*), KNOD2ELS(*), NOD2ELS(*),NTY,NSV(*),MSEGTYP(*)
50 INTEGER ID
51 CHARACTER(LEN=NCHARTITLE) :: TITR
52C-----------------------------------------------
53C L o c a l V a r i a b l e s
54C-----------------------------------------------
55 INTEGER I,J,K,IW,I1,I2,I3,IPERM1(6),IPERM2(6),IPERM3(6),
56 . IDBID, IAD, IEDGE, N, N10, NC(4)
57 DATA nc/2,4,7,6/
58 DATA iperm1/2,4,7,2,6,7/
59 DATA iperm2/4,7,2,6,4,6/
60 DATA iperm3/1,2,3,4,5,6/
61 DATA idbid/0/
62 INTEGER IDEGEN(6)
63C-----------------------------------------------
64C Previous version in inint3.F
65C-----------------------------------------------
66C
67
68 DO i=1,nrtm
69 IF (msegtyp(i) /= 10) cycle
70 DO iedge=1,4
71 IF (nty == 5)THEN
72 i1=nsv(irect(iedge,i))
73 i2=nsv(irect(mod(iedge,4)+1,i))
74 ELSE
75 i1=irect(iedge,i)
76 i2=irect(mod(iedge,4)+1,i)
77 ENDIF
78 IF(i2==i1)cycle
79
80 DO iad=knod2els(i1)+1,knod2els(i1+1)
81 n = nod2els(iad)
82 IF(numels8 < n .AND. n <= numels8+numels10)THEN
83 n10=n-numels8
84 DO j=1,4
85 IF(ixs(nc(j),n10)==i2)THEN
86 DO k=1,6
87 IF((i1==ixs(iperm1(k),n10).AND.
88 . i2==ixs(iperm2(k),n10)).OR.
89 . (i2==ixs(iperm1(k),n10).AND.
90 . i1==ixs(iperm2(k),n10)))THEN
91 i3=ixs10(iperm3(k),j)
92 IF(i3/=0)THEN
93 ixs10(iperm3(k),n10)=-abs(ixs10(iperm3(k),n10))
94 END IF
95 END IF
96 END DO
97 END IF
98 END DO
99 END IF
100 ENDDO
101 ENDDO
102 ENDDO
103C
104 DO j=1,numels10
105 iw=0
106 DO k=1,6
107 i3=ixs10(iperm3(k),j)
108 IF(i3 < 0)THEN
109 iw=1
110 ixs10(iperm3(k),j)=0
111 END IF
112 ENDDO
113 IF(iw==1)THEN
114 idegen=0
115 IF(ixs10(1,j)/=0)THEN
116 idegen(1)=itab(ixs10(1,j))
117 ENDIF
118 IF(ixs10(2,j)/=0)THEN
119 idegen(2)=itab(ixs10(2,j))
120 ENDIF
121 IF(ixs10(3,j)/=0)THEN
122 idegen(3)=itab(ixs10(3,j))
123 ENDIF
124 IF(ixs10(4,j)/=0)THEN
125 idegen(4)=itab(ixs10(4,j))
126 ENDIF
127 IF(ixs10(5,j)/=0)THEN
128 idegen(5)=itab(ixs10(5,j))
129 ENDIF
130 IF(ixs10(6,j)/=0)THEN
131 idegen(6)=itab(ixs10(6,j))
132 ENDIF
133 CALL ancmsg(msgid=344,
134 . msgtype=msgwarning,
135 . anmode=aninfo_blind_2,
136 . i1=id,
137 . c1=titr,
138 . i2=ixs(nixs,j),
139 . i3=itab(ixs(2,j)),
140 . i4=itab(ixs(4,j)),
141 . i5=itab(ixs(7,j)),
142 . i6=itab(ixs(6,j)),
143C
144 . i7=idegen(1),
145 . i8=idegen(2),
146 . i9=idegen(3),
147 . i10=idegen(4),
148 . i11=idegen(5),
149 . i12=idegen(6))
150 ENDIF
151 ENDDO
152C
153 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