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