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

Go to the source code of this file.

Functions/Subroutines

subroutine i11coq (irect, ixc, ixtg, nint, nel, neltg, is, geo, pm, thk, igeo, knod2elc, knod2eltg, nod2elc, nod2eltg, pm_stack, iworksh)
subroutine i11fil (irect, ixt, ixp, ixr, nint, nelt, nelp, nelr, nelx, is, nod2el1d, knod2el1d, kxx, ixx)

Function/Subroutine Documentation

◆ i11coq()

subroutine i11coq ( integer, dimension(2,*) irect,
integer, dimension(nixc,*) ixc,
integer, dimension(nixtg,*) ixtg,
integer nint,
integer nel,
integer neltg,
integer is,
geo,
pm,
thk,
integer, dimension(npropgi,*) igeo,
integer, dimension(*) knod2elc,
integer, dimension(*) knod2eltg,
integer, dimension(*) nod2elc,
integer, dimension(*) nod2eltg,
pm_stack,
integer, dimension(3,*) iworksh )

Definition at line 31 of file i11coq.F.

35 use element_mod , only :nixc,nixtg
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 "com01_c.inc"
44#include "com04_c.inc"
45#include "param_c.inc"
46C-----------------------------------------------
47C D u m m y A r g u m e n t s
48C-----------------------------------------------
49 INTEGER NINT, NEL, IS, NELTG
50 INTEGER IRECT(2,*), IXC(NIXC,*), IXTG(NIXTG,*),IGEO(NPROPGI,*),
51 . KNOD2ELC(*),KNOD2ELTG(*),NOD2ELC(*),NOD2ELTG(*),IWORKSH(3,*)
52C REAL
54 . geo(npropg,*), pm(npropm,*),thk(*),pm_stack(20,*)
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER N, J, II, K, IAD,IGTYP,IPGMAT,IGMAT,ISUBSTACK
59C REAL
61 . dxm, stm, dx, st
62C
63 nel=0
64 neltg=0
65 dxm = zero
66 stm = zero
67 ipgmat = 700
68 igmat = 0
69 IF(numeltg/=0)THEN
70 DO 230 iad=knod2eltg(irect(1,is))+1,knod2eltg(irect(1,is)+1)
71 n = nod2eltg(iad)
72 DO 220 j=1,2
73 ii=irect(j,is)
74 DO 210 k=1,3
75 IF(ixtg(k+1,n)==ii) GOTO 220
76 210 CONTINUE
77 GOTO 230
78 220 CONTINUE
79 igtyp = geo(11,ixtg(5,n))
80 IF ( thk(numelc+n) /= zero .AND. iintthick == 0) THEN
81 dx=thk(numelc+n)
82 ELSEIF(igtyp ==17 .OR. igtyp == 51 .OR. igtyp == 52) THEN
83 dx=thk(numelc+n)
84 ELSE
85 dx = geo(1,ixtg(5,n))
86 ENDIF
87 igmat = igeo(98,ixtg(5,n))
88 IF (ixtg(1,n)>0) THEN
89 st = pm(20,ixtg(1,n))
90 IF(igtyp == 11 .AND. igmat > 0) THEN
91 st=geo(ipgmat+2,ixtg(5,n))
92 ELSEIF(igtyp == 52 .OR.
93 . ((igtyp == 17 .OR. igtyp == 51) .AND. igmat > 0))THEN
94 isubstack = iworksh(3,numelc+n)
95 st=pm_stack(2,isubstack)
96 ENDIF
97 ELSE
98 st = zero
99 ENDIF
100 IF (dx>dxm) THEN
101 dxm = dx
102 neltg = n
103 stm = st
104 ELSEIF(dx==dxm) THEN
105 IF ((st>=stm).OR.(stm==zero)) THEN
106 neltg = n
107 stm = st
108 ENDIF
109 ENDIF
110 230 CONTINUE
111 ENDIF
112 IF(numelc/=0) THEN
113 DO 430 iad=knod2elc(irect(1,is))+1,knod2elc(irect(1,is)+1)
114 n = nod2elc(iad)
115 DO 420 j=1,2
116 ii=irect(j,is)
117 DO 410 k=1,4
118 IF(ixc(k+1,n)==ii) GOTO 420
119 410 CONTINUE
120 GOTO 430
121 420 CONTINUE
122 igtyp = igeo(11,ixc(6,n))
123 IF ( thk(n) /= zero .AND. iintthick == 0) THEN
124 dx=thk(n)
125 ELSEIF(igtyp == 17 .OR. igtyp == 51 .OR. igtyp == 52) THEN
126 dx=thk(n)
127 ELSE
128 dx = geo(1,ixc(6,n))
129 ENDIF
130 igmat = igeo(98,ixc(6,n))
131 IF (ixc(1,n)>0) THEN
132 st = pm(20,ixc(1,n))
133 IF(igtyp == 11 .AND. igmat > 0)THEN
134 st=geo(ipgmat + 2 ,ixc(6,n))
135 ELSEIF(igtyp == 52 .OR.
136 . ((igtyp == 17 .OR. igtyp == 51) .AND. igmat > 0)) THEN
137 isubstack = iworksh(3,n)
138 st=pm_stack(2,isubstack)
139 ENDIF
140 ELSE
141 st = 0.
142 ENDIF
143 IF (dx>dxm) THEN
144 dxm = dx
145 nel = n
146 stm = st
147 ELSEIF(dx==dxm) THEN
148 IF ((st>stm).OR.(stm==zero)) THEN
149 nel = n
150 stm = st
151 ENDIF
152 ENDIF
153 430 CONTINUE
154 ENDIF
155 RETURN
#define my_real
Definition cppsort.cpp:32

◆ i11fil()

subroutine i11fil ( integer, dimension(2,*) irect,
integer, dimension(nixt,*) ixt,
integer, dimension(nixp,*) ixp,
integer, dimension(nixr,*) ixr,
integer nint,
integer nelt,
integer nelp,
integer nelr,
integer nelx,
integer is,
integer, dimension(*) nod2el1d,
integer, dimension(*) knod2el1d,
integer, dimension(nixx,*) kxx,
integer, dimension(*) ixx )

Definition at line 165 of file i11coq.F.

168 use element_mod , only : nixt,nixp,nixr
169C-----------------------------------------------
170C I m p l i c i t T y p e s
171C-----------------------------------------------
172#include "implicit_f.inc"
173C-----------------------------------------------
174C C o m m o n B l o c k s
175C-----------------------------------------------
176#include "com04_c.inc"
177#include "scr23_c.inc"
178C-----------------------------------------------
179C D u m m y A r g u m e n t s
180C-----------------------------------------------
181 INTEGER NINT, NELT, IS, NELP, NELR, NELX
182 INTEGER IRECT(2,*),
183 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
184 . NOD2EL1D(*),KNOD2EL1D(*),KXX(NIXX,*),IXX(*)
185C-----------------------------------------------
186C L o c a l V a r i a b l e s
187C-----------------------------------------------
188 INTEGER N, J, IAD
189C
190 nelp=0
191 nelt=0
192 nelr=0
193 nelx=0
194 IF(numelt+numelp+numelr+numelx/=0)THEN
195 DO iad=knod2el1d(irect(1,is))+1,knod2el1d(irect(1,is)+1)
196 n = nod2el1d(iad)
197 IF(n>0.AND.n<=numelt)THEN
198 IF(irect(1,is)==ixt(2,n).AND.irect(2,is)==ixt(3,n).OR.
199 . irect(2,is)==ixt(2,n).AND.irect(1,is)==ixt(3,n))THEN
200 nelt=n
201 RETURN
202 ENDIF
203 ELSEIF(n>0.AND.n<=numelt+numelp)THEN
204 n=n-numelt
205 IF(irect(1,is)==ixp(2,n).AND.irect(2,is)==ixp(3,n).OR.
206 . irect(2,is)==ixp(2,n).AND.irect(1,is)==ixp(3,n))THEN
207 nelp=n
208 RETURN
209 ENDIF
210 ELSEIF(n>0.AND.n<=numelt+numelp+numelr)THEN
211 n=n-numelt-numelp
212 IF(irect(1,is)==ixr(2,n).AND.irect(2,is)==ixr(3,n).OR.
213 . irect(2,is)==ixr(2,n).AND.irect(1,is)==ixr(3,n).OR.
214 . irect(1,is)==ixr(3,n).AND.irect(2,is)==ixr(4,n).OR.
215 . irect(2,is)==ixr(3,n).AND.irect(1,is)==ixr(4,n))THEN
216 nelr=n
217 RETURN
218 ENDIF
219 ELSEIF(n>0.AND.n<=numelt+numelp+numelr+numelx)THEN
220 n=n-numelt-numelp-numelr
221 DO j=kxx(4,n),kxx(4,n)+kxx(3,n)-1
222 IF(irect(1,is)==ixx(j).AND.irect(2,is)==ixx(j+1).OR.
223 . irect(2,is)==ixx(j).AND.irect(1,is)==ixx(j+1))THEN
224 nelx=n
225 RETURN
226 ENDIF
227 ENDDO
228
229 ENDIF
230 ENDDO
231 ENDIF
232C
233 RETURN