OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
lecins.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "units_c.inc"
#include "param_c.inc"
#include "scr03_c.inc"
#include "scr17_c.inc"
#include "tabsiz_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine lecins (ipari, itab, pm, ipm, bufmat, igrnod, igrsurf, igrslin, xfiltr, stfac, fric_p, frigap, i2rupt, areasl, lixint, x, linter, ixs, nom_opt, ixc, ixtg, knod2elc, knod2eltg, nod2elc, nod2eltg, intbuf_tab, knod2els, nod2els, ixs10, ixs16, ixs20, nige, rige, xige, vige, igrbric, multi_fvm, nale, igeo, interfaces, s_nod2els, s_nod2eltg, flag_elem_inter25, list_nin25)
subroutine elty_surf (nrtm0, nrtm, nseg, surf_eltyp, msegtyp, isu2)

Function/Subroutine Documentation

◆ elty_surf()

subroutine elty_surf ( integer nrtm0,
integer nrtm,
integer nseg,
integer, dimension(*) surf_eltyp,
integer, dimension(*) msegtyp,
integer isu2 )

Definition at line 657 of file lecins.F.

658C-----------------------------------------------
659C I m p l i c i t T y p e s
660C-----------------------------------------------
661#include "implicit_f.inc"
662C-----------------------------------------------
663C D u m m y A r g u m e n t s
664C-----------------------------------------------
665 INTEGER NRTM0,NRTM,NSEG,ISU2
666 INTEGER MSEGTYP(*),SURF_ELTYP(*)
667C-----------------------------------------------
668C L o c a l V a r i a b l e s
669C-----------------------------------------------
670 INTEGER I, J, L
671C=======================================================================
672 DO i=1+nrtm0,nrtm+nrtm0
673 msegtyp(i) = 0
674 ENDDO
675 l = nrtm0
676 IF(isu2 /= 0)THEN
677 DO j=1,nseg
678 l = l+1
679 msegtyp(l) = surf_eltyp(j)
680C---------input by seg will not be avoided degenerate s10
681 IF (msegtyp(l)==0) msegtyp(l)=10
682 ENDDO
683 ENDIF
684C------------------------------------------------------------
685 RETURN

◆ lecins()

subroutine lecins ( integer, dimension(npari,ninter) ipari,
integer, dimension(numnod) itab,
dimension(*), intent(in) pm,
integer, dimension(npropmi,nummat), intent(in) ipm,
dimension(sbufmat), intent(in) bufmat,
type (group_), dimension(ngrnod) igrnod,
type (surf_), dimension(nsurf), target igrsurf,
type (surf_), dimension(nslin), target igrslin,
xfiltr,
stfac,
fric_p,
frigap,
i2rupt,
areasl,
integer lixint,
dimension(3,numnod), intent(in) x,
integer linter,
integer, dimension(nixs,numels) ixs,
integer, dimension(lnopt1,*) nom_opt,
integer, dimension(*) ixc,
integer, dimension(*) ixtg,
integer, dimension(*) knod2elc,
integer, dimension(*) knod2eltg,
integer, dimension(*) nod2elc,
integer, dimension(*) nod2eltg,
type(intbuf_struct_), dimension(*) intbuf_tab,
integer, dimension(*) knod2els,
integer, dimension(*) nod2els,
integer, dimension(6,*) ixs10,
integer, dimension(8,*) ixs16,
integer, dimension(12,*) ixs20,
integer, dimension(*) nige,
rige,
xige,
vige,
type (group_), dimension(ngrbric) igrbric,
type(multi_fvm_struct) multi_fvm,
integer, dimension(numnod), intent(in) nale,
integer, dimension(npropgi,numgeo), intent(in) igeo,
type (interfaces_), intent(inout) interfaces,
integer, intent(in) s_nod2els,
integer, intent(in) s_nod2eltg,
integer, dimension(ninter25,numels), intent(inout) flag_elem_inter25,
integer, dimension(ninter), intent(inout) list_nin25 )

Definition at line 49 of file lecins.F.

58C============================================================================
59C-----------------------------------------------
60C M o d u l e s
61C-----------------------------------------------
62 USE message_mod
63 USE intbufdef_mod
64 USE groupdef_mod
65 USE multi_fvm_mod
66 USE interfaces_mod
68 USE i2_surfi_mod , ONLY : i2_surfi
69 use element_mod , only : nixs
70C-----------------------------------------------
71C I m p l i c i t T y p e s
72C-----------------------------------------------
73#include "implicit_f.inc"
74C-----------------------------------------------
75C C o m m o n B l o c k s
76C-----------------------------------------------
77#include "com04_c.inc"
78#include "units_c.inc"
79#include "param_c.inc"
80#include "scr03_c.inc"
81#include "scr17_c.inc"
82#include "tabsiz_c.inc"
83C-----------------------------------------------
84C D u m m y A r g u m e n t s
85C-----------------------------------------------
86 INTEGER IPARI(NPARI,NINTER), ITAB(NUMNOD),IXS(NIXS,NUMELS),
87 . IXC(*),IXTG(*),KNOD2ELC(*),KNOD2ELTG(*),
88 . NOD2ELC(*),NOD2ELTG(*),KNOD2ELS(*),NOD2ELS(*),
89 . IXS10(6,*), IXS16(8,*), IXS20(12,*),NIGE(*)
90 INTEGER ,INTENT(IN) :: S_NOD2ELS,S_NOD2ELTG
91 INTEGER LIXINT, NBRIC
92 INTEGER,INTENT(IN) :: IPM(NPROPMI,NUMMAT), IGEO(NPROPGI,NUMGEO)
93 my_real,INTENT(IN) :: bufmat(sbufmat)
94 my_real :: xfiltr(*),stfac(*),fric_p(10,ninter),frigap(nparir,ninter)
95 my_real :: i2rupt(6,ninter),areasl(*),rige(*),xige(*),vige(*)
96 my_real,INTENT(IN) :: x(3,numnod)
97 my_real, INTENT(IN) :: pm(*)
98 INTEGER NOM_OPT(LNOPT1,*)
99 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
100 INTEGER, INTENT(IN) :: NALE(NUMNOD)
101 INTEGER, INTENT(INOUT) :: LIST_NIN25(NINTER)
102 INTEGER, INTENT(INOUT) :: FLAG_ELEM_INTER25(NINTER25,NUMELS)
103C-----------------------------------------------
104 TYPE (GROUP_) , DIMENSION(NGRNOD) :: IGRNOD
105 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
106 TYPE (SURF_) , DIMENSION(NSURF) ,TARGET :: IGRSURF
107 TYPE (SURF_) , DIMENSION(NSLIN) ,TARGET :: IGRSLIN
108 TYPE(MULTI_FVM_STRUCT) :: MULTI_FVM
109 TYPE (INTERFACES_) ,INTENT(INOUT):: INTERFACES
110C-----------------------------------------------
111C L o c a l V a r i a b l e s
112C-----------------------------------------------
113 INTEGER J, K, IRS, IRM, NI, NSN, NMN,NMT,
114 . NTYP,IS1,IS2,NOINT,NRTS,NRTM,NST,ILEV,
115 . MULTIMP,IGAP,INACTI,NME,IALLO,LINTER,
116 . ISU1,ISU2,NRTM0,NRTM_SH,
117 . NRTS_NEW, NRTM_NEW,IBID,INTTH,
118 . NRTM_IGE,NRTM_FE,NRTS_IGE,NRTS_FE,
119 . NMN_IGE,NMN_FE,NSN_IGE,NSN_FE,INTNITSCHE,IAD_IGE,GRBRIC_ID,NIN25
120
121 INTEGER :: STAT
122 INTEGER, DIMENSION(:), ALLOCATABLE, TARGET :: NTAG_TARGET
123 INTEGER, DIMENSION(:), POINTER :: NTAG
124 INTEGER, DIMENSION(:,:), POINTER :: SURF_NODES,SURF_NODES_IGE,LINE_NODES
125 LOGICAL TYPE18
126 CHARACTER MESS*40
127 INTEGER ID
128 CHARACTER(LEN=NCHARTITLE) :: TITR
129 DATA mess/'INTERFACE INPUT '/
130C=======================================================================
131 ALLOCATE(ntag_target(2*numnod+1), stat=stat)
132
133 ntag(0:2*numnod) => ntag_target(1:2*numnod+1)
134
135 DO k=0,2*numnod
136 ntag(k) = 0
137 ENDDO
138 lixint = 0
139 nin25 = 0
140C---------------------
141 DO ni = 1,linter
142C
143 nrts = ipari(3,ni)
144 nrtm = ipari(4,ni)
145 nme = ipari(4,ni)
146 nsn = ipari(5,ni)
147 nmn = ipari(6,ni)
148 ntyp = ipari(7,ni)
149 noint = ipari(15,ni)
150 ilev = ipari(20,ni)
151 igap = ipari(21,ni)
152 inacti = ipari(22,ni)
153 multimp= ipari(23,ni)
154 is1 = ipari(13,ni)/10
155 is2 = mod(ipari(13,ni),10)
156 isu1 = ipari(45,ni)
157 isu2 = ipari(46,ni)
158 intth = ipari(47,ni)
159 intnitsche = ipari(86,ni)
160 grbric_id = ipari(83,ni) !int18
161 irm = 0
162 irs = 0
163C- deactivated interfaces
164 IF (ntyp==0) cycle
165C-----Isogeometric elements
166 IF(ntyp==7) THEN
167 nrtm_ige = ipari(73,ni)
168 nrtm_fe = ipari(74,ni)
169 nrts_ige = ipari(75,ni)
170 nrts_fe = ipari(76,ni)
171 nsn_ige = ipari(77,ni)
172 nsn_fe = ipari(78,ni)
173 nmn_ige = ipari(79,ni)
174 nmn_fe = ipari(80,ni)
175 ELSE
176 nrtm_ige = 0
177 nrtm_fe = nrtm
178 nrts_ige = 0
179 nrts_fe = nrts
180 nsn_ige = 0
181 nsn_fe = nsn
182 nmn_ige = 0
183 nmn_fe = nmn
184 ENDIF
185 type18=.false.
186 IF(ntyp==7 .AND. inacti==7)type18=.true.
187C-------------------------------------------
188 id=nom_opt(1,ni)
189 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,ni),ltitr)
190C-------------------------------------------
191 intbuf_tab(ni)%STFAC(1) = stfac(ni)
192 DO j = 1,nparir
193 intbuf_tab(ni)%VARIABLES(j) = frigap(j,ni)
194 ENDDO
195C-----
196C READING SURFACE INFORMATION SECONDARY/MAIN
197C-----
198C 1) SURFACE SECONDARY
199C
200 IF ( ntyp == 15 ) THEN
201 IF(nrts == 0) THEN
202 CALL ancmsg(msgid=118, msgtype=msgerror, anmode=aninfo, i1=id, c1=titr)
203 ENDIF
204 IF(ipri>=1) WRITE(iout,'(//,A)')' SECONDARY SURFACE'
205 surf_nodes => igrsurf(isu1)%NODES(1:nrts,1:4)
206 CALL insurf(nrts,nsn,irs,intbuf_tab(ni)%IRECTS,
207 . surf_nodes,itab,intbuf_tab(ni)%NSV,id,titr,
208 . ntag,intbuf_tab(ni)%S_NSV,intbuf_tab(ni)%S_IRECTS,type18)
209 ELSEIF (ntyp == 17) THEN
210 ELSEIF (ntyp == 20) THEN
211 ELSEIF (ntyp == 22) THEN
212 IF(isu1>0)THEN
213 IF(ipri>=1) WRITE(iout,'(//,A)')' SECONDARY SURFACE'
214 nbric=igrbric(isu1)%NENTITY
215 CALL ingrbric(nsn, igrbric(isu1)%ENTITY, intbuf_tab(ni)%NSV,
216 + ixs, nbric, pm, intbuf_tab(ni)%S_NSV,igeo)
217 ENDIF
218C--------------------------------------------
219 ELSEIF(ntyp == 23) THEN
220 IF(is1/=0) THEN
221 IF(nrts == 0.AND.is1/=2) THEN
222 CALL ancmsg(msgid=118, msgtype=msgerror, anmode=aninfo, i1=id, c1=titr)
223 ENDIF
224 IF(ipri>=1) WRITE(iout,'(//,A)')' SECONDARY SURFACE'
225 IF(is1 == 1)THEN
226 nrts=igrsurf(isu1)%NSEG
227 surf_nodes => igrsurf(isu1)%NODES(1:nrts,1:4)
228 CALL insurf23(nrts,nsn,irs,intbuf_tab(ni)%IRECTS,noint,
229 . surf_nodes,itab,intbuf_tab(ni)%NSV,nrts_new,x,
230 . ntag)
231 nrts=nrts_new
232 ENDIF
233 ENDIF
234 ELSEIF (ntyp == 24) THEN
235c IF (IS1 == -2)THEN
236c IAD=IGRN(3,ISU1)
237c CALL INPOINT(NSN,NOINT,IBUFSSG(IAD),ITAB,INTBUF_TAB(NI)%NSV)
238c END IF
239 ELSEIF (ntyp == 25) THEN
240 ELSE
241 IF(is1/=0) THEN
242 IF(nrts == 0.AND.is1/=2.AND.is1/=5.AND.is1/=-1) THEN
243 CALL ancmsg(msgid=118, msgtype=msgerror, anmode=aninfo, i1=id, c1=titr)
244 ENDIF
245 IF(ipri>=1) WRITE(iout,'(//,A)')' SECONDARY SURFACE'
246 IF(is1 == 1)THEN
247 IF (ntyp == 3 .OR. ntyp == 6) irs = ipari(25,ni)
248 surf_nodes => igrsurf(isu1)%NODES(1:nrts_fe,1:4)
249 CALL insurf(nrts_fe,nsn_fe,irs,intbuf_tab(ni)%IRECTS,
250 . surf_nodes,itab,intbuf_tab(ni)%NSV,id,titr,
251 . ntag,intbuf_tab(ni)%S_NSV,intbuf_tab(ni)%S_IRECTS,type18)
252 IF (igrsurf(isu1)%NSEG_IGE >= 1) THEN
253 surf_nodes_ige => igrsurf(isu1)%NODES_IGE(1:nrts_ige,1:4)
254 iad_ige = igrsurf(isu1)%IAD_IGE
255 CALL insurfigeo(nrts_ige,nrts_fe,nsn_ige,0,iad_ige,irs,
256 . intbuf_tab(ni)%IRECTS,noint,
257 . surf_nodes_ige,itab,intbuf_tab(ni)%NSV,id,titr,intbuf_tab(ni)%NIGE,
258 . intbuf_tab(ni)%RIGE,intbuf_tab(ni)%XIGE,intbuf_tab(ni)%VIGE,
259 . nige,rige,xige,vige)
260 ENDIF
261 ELSEIF(is1 == 2)THEN
262 CALL inpoint(nsn,noint,igrnod(isu1)%ENTITY,itab,intbuf_tab(ni)%NSV)
263 ELSEIF(is1 == 3)THEN
264 line_nodes = > igrslin(isu1)%NODES(1:nrts,1:2)
265 CALL inslin(nrts,nsn,intbuf_tab(ni)%IRECTS,noint,
266 . line_nodes,itab,intbuf_tab(ni)%NSV,
267 . ntag)
268 ELSEIF(is1 == 5) THEN
269 !INTER18 + GRBRIC_ID
270 nbric = igrbric(grbric_id)%NENTITY
271 IF (multi_fvm%IS_USED)THEN
272 ipari(14,ni) = 151
273 CALL ingrbric_centroids(igrbric(grbric_id)%ENTITY, intbuf_tab(ni)%NSV,
274 . ixs, nbric)
275 ELSE
276 ipari(14,ni) = 0
277 CALL ingrbric_nodes(nsn_fe, igrbric(grbric_id)%ENTITY, itab, intbuf_tab(ni)%NSV,
278 . ixs, nbric, nale, ipm, bufmat, intbuf_tab(ni)%S_NSV)
279 ENDIF
280 ENDIF
281 IF (ntyp==3) THEN
282 CALL elty_surf(0,nrts,igrsurf(isu1)%NSEG,igrsurf(isu1)%ELTYP,
283 . intbuf_tab(ni)%MSEGTYP,isu1)
284 ENDIF
285 ENDIF
286 nsn = nsn_fe+nsn_ige
287 ENDIF
288C
289C----------------------------------------------
290C 2)SURFACE MAIN :
291C-----
292 IF ( ntyp == 15 ) THEN
293 IF(nrtm == 0) THEN
294 CALL ancmsg(msgid=119, msgtype=msgerror, anmode=aninfo,i1=id,c1=titr)
295 ENDIF
296 IF(ipri>=1) WRITE(iout,'(//,A,I10)')
297 . ' MAIN SURFACE IS THE HYPER-ELLIPSOIDAL SURFACE :',
298 . igrsurf(isu2)%ID
299 intbuf_tab(ni)%KSURF(1)=isu2
300 ELSEIF ( ntyp == 14 ) THEN
301 IF(nrtm == 0) THEN
302 CALL ancmsg(msgid=119, msgtype=msgerror, anmode=aninfo, i1=id,c1=titr)
303 ENDIF
304 IF(ipri>=1) WRITE(iout,'(//,A,I10)')
305 . ' MAIN SURFACE IS THE HYPER-ELLIPSOIDAL SURFACE :',
306 . igrsurf(isu2)%ID
307 intbuf_tab(ni)%KSURF(1)=isu2
308 ELSEIF (ntyp == 20) THEN
309C
310C--------------------------------------------
311 ELSEIF( ntyp == 23) THEN
312 IF(is2/=0) THEN
313 IF(nrtm == 0) THEN
314 CALL ancmsg(msgid=119, msgtype=msgerror, anmode=aninfo, i1=id, c1=titr)
315 ENDIF
316 IF(ipri>=1) WRITE(iout,'(//,A)')' MAIN SURFACE'
317 IF(is2 == 1)THEN
318 nrtm=igrsurf(isu2)%NSEG
319 surf_nodes => igrsurf(isu2)%NODES(1:nrtm,1:4)
320 CALL insurf23(nrtm,nmn,irm,intbuf_tab(ni)%IRECTM,noint,
321 . surf_nodes,itab,intbuf_tab(ni)%MSR,nrtm_new,x,
322 . ntag)
323 nrtm = nrtm_new
324 ENDIF
325 CALL elty_surf(0,nrtm,igrsurf(isu2)%NSEG,igrsurf(isu2)%ELTYP,
326 . intbuf_tab(ni)%MSEGTYP,isu2)
327 ENDIF
328C--------------------------------------------
329 ELSEIF (ntyp == 24) THEN
330 nrtm_sh = ipari(42,ni)
331 nrtm0 = nrtm -nrtm_sh
332 IF (is2/=0) THEN
333 IF(nrtm0 == 0) THEN
334 CALL ancmsg(msgid=119, msgtype=msgerror, anmode=aninfo, i1=id, c1=titr)
335 ENDIF
336 IF(ipri>=1) WRITE(iout,'(//,A)')' MAIN SURFACE'
337 IF(is2 == -1)THEN
338 nrtm0 = igrsurf(isu2)%NSEG
339 surf_nodes => igrsurf(isu2)%NODES(1:nrtm0,1:4)
340 CALL insurf(nrtm0,nmn,irm,intbuf_tab(ni)%IRECTM,
341 . surf_nodes,itab,intbuf_tab(ni)%MSR,id,titr,
342 . ntag,intbuf_tab(ni)%S_MSR,intbuf_tab(ni)%S_IRECTM,type18)
343 ENDIF
344 IF(is1/=-2)THEN
345 nrtm0 = igrsurf(isu1)%NSEG
346 surf_nodes => igrsurf(isu1)%NODES(1:nrtm0,1:4)
347 CALL insurf(nrtm0,nmn,irm,intbuf_tab(ni)%IRECTM,
348 . surf_nodes,itab,intbuf_tab(ni)%MSR,id,titr,
349 . ntag,intbuf_tab(ni)%S_MSR,intbuf_tab(ni)%S_IRECTM,type18)
350 ENDIF
351 ENDIF
352 ELSEIF (ntyp == 25) THEN
353 ELSE
354 IF (ntyp == 3 .OR. ntyp == 5 .OR. ntyp == 6 .OR. ntyp == 8)
355 . irm = ipari(24,ni)
356 IF (is2/=0) THEN
357 IF(nrtm_fe == 0 .AND. nrtm_ige == 0) THEN
358 CALL ancmsg(msgid=119, msgtype=msgerror, anmode=aninfo, i1=id, c1=titr)
359 ENDIF
360 IF(ipri>=1) WRITE(iout,'(//,A)')' MAIN SURFACE'
361 IF(is2 == 1 )THEN
362 surf_nodes => igrsurf(isu2)%NODES(1:nrtm_fe,1:4)
363 CALL insurf(nrtm_fe,nmn_fe,irm,intbuf_tab(ni)%IRECTM,
364 . surf_nodes,itab,intbuf_tab(ni)%MSR,id,titr,
365 . ntag,intbuf_tab(ni)%S_MSR,intbuf_tab(ni)%S_IRECTM,type18)
366 IF (igrsurf(isu2)%NSEG_IGE >= 1) THEN
367 surf_nodes_ige => igrsurf(isu2)%NODES_IGE(1:nrtm_ige,1:4)
368 iad_ige = igrsurf(isu2)%IAD_IGE
369 CALL insurfigeo(nrtm_ige,nrtm_fe,nmn_ige,nsn_ige,iad_ige,irm,intbuf_tab(ni)%IRECTM,noint,
370 . surf_nodes_ige,
371 . itab,intbuf_tab(ni)%MSR,id,titr,intbuf_tab(ni)%NIGE(nsn_ige+1),
372 . intbuf_tab(ni)%RIGE(3*nsn_ige+1),intbuf_tab(ni)%XIGE(3*nsn_ige+1),intbuf_tab(ni)%VIGE(3*nsn_ige+1),
373 . nige,rige,xige,vige)
374 ENDIF
375 ELSEIF(is2 == 3)THEN
376 line_nodes => igrslin(isu2)%NODES(1:nrtm,1:2)
377 CALL inslin(nrtm,nmn,intbuf_tab(ni)%IRECTM,noint,
378 . line_nodes,itab,intbuf_tab(ni)%MSR,
379 . ntag)
380 ELSEIF(is2 == 4) THEN
381 surf_nodes => igrsurf(isu2)%NODES(1:nrtm,1:4)
382 CALL insurf(nrtm,nmn,irm,intbuf_tab(ni)%IRECTM,
383 . surf_nodes,itab,intbuf_tab(ni)%MSR,id,titr,
384 . ntag,intbuf_tab(ni)%S_MSR,intbuf_tab(ni)%S_IRECTM,type18)
385 ENDIF
386 IF (ntyp==3 ) THEN
387 CALL elty_surf(nrts,nrtm,igrsurf(isu2)%NSEG,igrsurf(isu2)%ELTYP,
388 . intbuf_tab(ni)%MSEGTYP,isu2)
389 ELSEIF ((ntyp==2.AND.is2>0) .OR. ntyp==5 .OR. ntyp==7 .OR.
390 + ntyp==10 .OR. ntyp==21) THEN
391 CALL elty_surf(0,nrtm,igrsurf(isu2)%NSEG,igrsurf(isu2)%ELTYP,
392 . intbuf_tab(ni)%MSEGTYP,isu2)
393 END IF
394 nmn = nmn_fe+nmn_ige
395 ENDIF
396C
397 ENDIF
398C--------------------------
399 IF (ntyp == 1) THEN
400C-------
401 CALL nsegmt(
402 . ipari(9,ni),intbuf_tab(ni)%IRECTM,intbuf_tab(ni)%MSR,
403 . intbuf_tab(ni)%NSEGM,nmt,nrtm,nmn)
404C-------
405 ELSEIF (ntyp == 2) THEN
406 lixint = lixint+nsn
407 IF (ilev == 20 .OR. ilev == 21 .OR. ilev == 22.OR.intth >0) THEN
408 DO j = 1,nsn
409 intbuf_tab(ni)%AREAS2(j) = areasl(ni)
410 ENDDO
411 ENDIF
412 IF (ilev == 20 .OR. ilev == 21 .OR. ilev == 22) THEN
413
414 intbuf_tab(ni)%RUPT(1) = i2rupt(1,ni)
415 intbuf_tab(ni)%RUPT(2) = i2rupt(2,ni)
416 intbuf_tab(ni)%RUPT(3) = i2rupt(3,ni)
417 intbuf_tab(ni)%RUPT(4) = i2rupt(4,ni)
418 intbuf_tab(ni)%RUPT(5) = i2rupt(5,ni)
419 intbuf_tab(ni)%RUPT(6) = i2rupt(6,ni)
420 ENDIF
421 IF (is1==-1.AND. is2==-1) THEN
422 IF(ipri>=1) WRITE(iout,'(//,A,I10)')' SURFACE TO SURFACE INFO OF INTERFACE NUMBER :',id
423 CALL i2_surfi(npari ,ipari(1,ni),nsurf ,igrsurf ,
424 1 nsn ,intbuf_tab(ni)%NSV,nrtm ,intbuf_tab(ni)%IRECTM,
425 2 nmn ,intbuf_tab(ni)%MSR,intbuf_tab(ni)%MSEGTYP,
426 3 frigap(4,ni),x ,numnod,itab ,ipri ,iout ,
427 4 ixs ,numels ,noint ,intbuf_tab(ni)%IRTLM ,
428 5 intbuf_tab(ni)%CSTS,intbuf_tab(ni)%DPARA,ixc ,
429 6 ixtg , knod2elc ,knod2eltg,nod2elc ,nod2eltg ,
430 7 knod2els,nod2els ,ixs10 ,ixs16 ,ixs20 ,
431 8 s_nod2els,s_nod2eltg,numelc ,numeltg ,numels10 ,
432 9 numels16,numels20 ,id,titr)
433 END IF
434C-------
435 ELSEIF (ntyp == 3 .OR. ntyp == 4 .OR. ntyp == 9) THEN
436 IF(ipari(30,ni)/=0) THEN
437 intbuf_tab(ni)%FRIC_P(1) = fric_p(1,ni)
438 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
439 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
440 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
441 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
442 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
443 ENDIF
444 IF(ipari(31,ni)/=0) THEN
445 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
446 ENDIF
447 CALL nsegmt(
448 . ipari(8,ni),intbuf_tab(ni)%IRECTS,intbuf_tab(ni)%NSV,intbuf_tab(ni)%NSEGS,
449 . nst,nrts,nsn)
450 CALL nsegmt(
451 . ipari(9,ni),intbuf_tab(ni)%IRECTM,intbuf_tab(ni)%MSR,intbuf_tab(ni)%NSEGM,
452 . nmt,nrtm,nmn)
453C-------
454 ELSEIF (ntyp == 5) THEN
455C-------
456 IF (ipari(30,ni)/=0) THEN
457 intbuf_tab(ni)%FRIC_P(1) =fric_p(1,ni)
458 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
459 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
460 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
461 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
462 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
463 ENDIF
464 IF(ipari(31,ni)/=0) THEN
465 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
466 ENDIF
467 CALL nsegmt(
468 . ipari(8,ni),intbuf_tab(ni)%IRECTS,intbuf_tab(ni)%NSV,intbuf_tab(ni)%NSEGS,
469 . nst,nrts,nsn)
470 CALL nsegmt(
471 . ipari(9,ni),intbuf_tab(ni)%IRECTM,intbuf_tab(ni)%MSR,intbuf_tab(ni)%NSEGM,
472 . nmt,nrtm,nmn)
473C-------
474 ELSEIF (ntyp == 6) THEN
475 CALL nsegmt(
476 . ipari(8,ni),intbuf_tab(ni)%IRECTS,intbuf_tab(ni)%NSV,intbuf_tab(ni)%NSEGS,
477 . nst,nrts,nsn)
478 CALL nsegmt(
479 . ipari(9,ni),intbuf_tab(ni)%IRECTM,intbuf_tab(ni)%MSR,intbuf_tab(ni)%NSEGM,
480 . nmt,nrtm,nmn)
481C-------
482 ELSEIF (ntyp == 7) THEN
483 IF (ipari(30,ni)/=0) THEN
484 intbuf_tab(ni)%FRIC_P(1) = fric_p(1,ni)
485 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
486 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
487 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
488 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
489 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
490 ENDIF
491 IF(ipari(31,ni)/=0) THEN
492 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
493 ENDIF
494 lixint = lixint+multimp*(nsn_ige+nsn_fe)
495C-------
496 ELSEIF (ntyp == 8) THEN
497C-------
498 CALL nsegmt(
499 . ipari(9,ni),intbuf_tab(ni)%IRECTM,intbuf_tab(ni)%MSR,intbuf_tab(ni)%NSEGM,
500 . nmt,nrtm,nmn)
501C-------
502 ELSEIF (ntyp == 11) THEN
503 CALL i11edge( ipari(1,ni),intbuf_tab(ni) )
504C-------
505 ELSEIF (ntyp == 12) THEN
506 CALL nsegmt(
507 . ipari(8,ni),intbuf_tab(ni)%IRECTS,intbuf_tab(ni)%NSV,intbuf_tab(ni)%NSEGS,
508 . nst,nrts,nsn)
509 CALL nsegmt(
510 . ipari(9,ni),intbuf_tab(ni)%IRECTM,intbuf_tab(ni)%MSR,intbuf_tab(ni)%NSEGM,
511 . nmt,nrtm,nmn)
512C-------
513 ELSEIF (ntyp == 20) THEN
514 IF (ipari(30,ni)/=0) THEN
515 intbuf_tab(ni)%FRIC_P(1) = fric_p(1,ni)
516 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
517 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
518 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
519 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
520 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
521 ENDIF
522 IF(ipari(31,ni)/=0) THEN
523 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
524 ENDIF
525 lixint = lixint+multimp*nsn
526 iallo = 2 ! initialization of arrays
527 CALL i20surfi(
528 1 iallo ,ipari(1,ni) ,igrnod ,igrsurf ,
529 2 igrslin ,intbuf_tab(ni)%IRECTM,frigap(1,ni) ,
530 3 intbuf_tab(ni)%NSV,intbuf_tab(ni)%MSR,intbuf_tab(ni)%IXLINS,intbuf_tab(ni)%IXLINM,
531 4 intbuf_tab(ni)%NSVL,intbuf_tab(ni)%MSRL,itab ,intbuf_tab(ni)%ISLINS,
532 5 intbuf_tab(ni)%ISLINM,intbuf_tab(ni)%NLG,x ,intbuf_tab(ni)%NBINFLG,
533 5 intbuf_tab(ni)%MBINFLG)
534
535C-------
536 ELSEIF (ntyp == 21) THEN
537 IF (ipari(30,ni)/=0) THEN
538 intbuf_tab(ni)%FROT_P(1) = fric_p(1,ni)
539 intbuf_tab(ni)%FROT_P(2) = fric_p(2,ni)
540 intbuf_tab(ni)%FROT_P(3) = fric_p(3,ni)
541 intbuf_tab(ni)%FROT_P(4) = fric_p(4,ni)
542 intbuf_tab(ni)%FROT_P(5) = fric_p(5,ni)
543 intbuf_tab(ni)%FROT_P(6) = fric_p(6,ni)
544 ENDIF
545 IF(ipari(31,ni)/=0) THEN
546 intbuf_tab(ni)%ALPHA0(1) = xfiltr(ni)
547 ENDIF
548 lixint = max(lixint,multimp*nsn)
549C-------
550 ELSEIF (ntyp == 22) THEN
551 IF (ipari(30,ni)/=0) THEN
552 intbuf_tab(ni)%FRIC_P(1) = fric_p(1,ni)
553 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
554 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
555 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
556 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
557 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
558 ENDIF
559 IF(ipari(31,ni)/=0) THEN
560 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
561 ENDIF
562 lixint = lixint+multimp*nsn
563C-------
564 ELSEIF (ntyp == 23) THEN
565 IF (ipari(30,ni)/=0) THEN
566 intbuf_tab(ni)%FRIC_P(1) = fric_p(1,ni)
567 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
568 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
569 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
570 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
571 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
572 ENDIF
573 IF(ipari(31,ni)/=0) THEN
574 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
575 ENDIF
576 lixint = max(lixint,multimp*nsn)
577C-------
578 ELSEIF (ntyp == 24) THEN
579 IF (ipari(30,ni)/=0) THEN
580 intbuf_tab(ni)%FRIC_P(1) = fric_p(1,ni)
581 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
582 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
583 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
584 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
585 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
586 ENDIF
587 IF(ipari(31,ni)/=0) THEN
588 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
589 ENDIF
590 lixint = lixint+multimp*nsn
591C-----------inside I24SURFI NRTM=NRTM0
592 iallo = 2 ! initialization of arrays
593 CALL i24surfi(
594 1 iallo , ipari(1,ni) ,igrnod ,igrsurf ,
595 2 intbuf_tab(ni)%IRECTM ,frigap(1,ni) ,
596 3 intbuf_tab(ni)%NSV , intbuf_tab(ni)%MSR ,itab ,x ,
597 4 intbuf_tab(ni)%NBINFLG , intbuf_tab(ni)%MBINFLG ,intbuf_tab(ni)%MSEGTYP24 ,intbuf_tab(ni)%ISEADD,
598 5 intbuf_tab(ni)%ISEDGE , ibid ,ibid ,ixc ,
599 6 ixtg , knod2elc ,knod2eltg ,nod2elc ,
600 7 nod2eltg , knod2els ,nod2els ,ixs ,
601 8 ixs10 ,ixs16 ,ixs20 ,intbuf_tab(ni)%IRTSE ,
602 9 intbuf_tab(ni)%IS2SE ,intbuf_tab(ni)%IS2PT ,intbuf_tab(ni)%IS2ID ,intnitsche )
603C------initialization of doubler M_seg pour shells ---> move inside I24SURFI
604C-------
605 ELSEIF (ntyp == 25) THEN
606 IF (ipari(30,ni)/=0) THEN
607 intbuf_tab(ni)%FRIC_P(1) = fric_p(1,ni)
608 intbuf_tab(ni)%FRIC_P(2) = fric_p(2,ni)
609 intbuf_tab(ni)%FRIC_P(3) = fric_p(3,ni)
610 intbuf_tab(ni)%FRIC_P(4) = fric_p(4,ni)
611 intbuf_tab(ni)%FRIC_P(5) = fric_p(5,ni)
612 intbuf_tab(ni)%FRIC_P(6) = fric_p(6,ni)
613 ENDIF
614 IF(ipari(31,ni)/=0) THEN
615 intbuf_tab(ni)%XFILTR(1) = xfiltr(ni)
616 ENDIF
617 lixint = lixint+multimp*nsn
618C-----------inside I24SURFI NRTM=NRTM0
619 iallo = 2 ! initialization of arrays
620 IF(ilev==2)THEN
621C necessary in the 2nd passage (see iddlevel)
622 intbuf_tab(ni)%NBINFLG(1:intbuf_tab(ni)%S_NBINFLG)=0
623 intbuf_tab(ni)%MBINFLG(1:intbuf_tab(ni)%S_MBINFLG)=0
624 END IF
625 nin25 = nin25 + 1
626 list_nin25(ni) = nin25
627 CALL i25surfi(
628 1 iallo ,ipari(1,ni) ,igrnod , igrsurf ,
629 2 intbuf_tab(ni)%IRECTM , frigap(1,ni) ,
630 3 intbuf_tab(ni)%NSV ,intbuf_tab(ni)%MSR ,itab , x ,
631 4 intbuf_tab(ni)%NBINFLG ,intbuf_tab(ni)%MBINFLG ,intbuf_tab(ni)%MSEGTYP24 , intbuf_tab(ni)%ISEADD ,
632 5 intbuf_tab(ni)%ISEDGE ,ibid ,ibid ,ixc ,
633 6 ixtg ,knod2elc ,knod2eltg ,nod2elc ,
634 7 nod2eltg ,knod2els ,nod2els ,ixs ,
635 8 ixs10 ,ixs16 ,ixs20 ,intbuf_tab(ni)%IRTSE ,
636 9 intbuf_tab(ni)%IS2SE ,intbuf_tab(ni)%IS2PT ,intbuf_tab(ni)%IS2ID ,interfaces%PARAMETERS ,
637 a nin25 ,flag_elem_inter25 )
638C------initialization of doubler M_seg pour shells ---> move inside I24SURFI
639 ENDIF
640C
641 DO j = 1,nparir
642 intbuf_tab(ni)%VARIABLES(j) = frigap(j,ni)
643 ENDDO
644C-----
645 ENDDO
646C-----
647 NULLIFY(ntag)
648 DEALLOCATE(ntag_target)
649
650 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine i11edge(ipari, intbuf_tab)
Definition i11edge.F:31
subroutine i20surfi(iallo, ipari, igrnod, igrsurf, igrslin, irect, frigap, nsv, msr, ixlins, ixlinm, nsve, msre, itab, islins, islinm, nlg, x, nbinflg, mbinflg)
Definition i20surfi.F:41
subroutine i24surfi(iallo, ipari, igrnod, igrsurf, irect, frigap, nsv, msr, itab, x, nbinflg, mbinflg, msegtyp, iseadd, isedge, itag, intply, ixc, ixtg, knod2elc, knod2eltg, nod2elc, nod2eltg, knod2els, nod2els, ixs, ixs10, ixs16, ixs20, irtse, is2se, is2pt, is2id, intnitsche)
Definition i24surfi.F:46
subroutine i25surfi(iallo, ipari, igrnod, igrsurf, irect, frigap, nsv, msr, itab, x, nbinflg, mbinflg, msegtyp, iseadd, isedge, itag, intply, ixc, ixtg, knod2elc, knod2eltg, nod2elc, nod2eltg, knod2els, nod2els, ixs, ixs10, ixs16, ixs20, irtse, is2se, is2pt, is2id, parameters, nin25, flag_elem_inter25)
Definition i25surfi.F:47
subroutine ingrbric(msn, brics, msv, ixs, nbric, pm, s_msv, igeo)
Definition ingrbric.F:32
subroutine ingrbric_centroids(ibufssg, msv, ixs, nbric)
subroutine ingrbric_nodes(msn, ibufssg, itab, msv, ixs, nbric, nale, ipm, bufmat, s_msv)
subroutine inpoint(msn, noint, brics, itab, msv)
Definition inpoint.F:32
subroutine inslin(nrt, msn, irect, noint, slin_nodes, itab, msv, ntag)
Definition inslin.F:34
subroutine insurf23(nrt, msn, ir, irect, noint, surf_nodes, itab, msv, nrtnew, x, ntag)
Definition insurf23.F:36
subroutine insurf(nrt, msn, ir, irect, surf_nodes, itab, msv, id, titr, ntag, s_msv, sirect, type18)
Definition insurf.F:38
subroutine insurfigeo(nrt_ige, offset_seg, msn_ige, offset_node, iadtabige, ir, irect, noint, surf_nodes_ige, itab, msv, id, titr, nige, rige, xige, vige, nige_tmp, rige_tmp, xige_tmp, vige_tmp)
Definition insurfigeo.F:37
subroutine i2rupt(x, v, a, ms, in, stifn, fsav, weight, irect, nsv, msr, irtl, irupt, crst, mmass, miner, smass, siner, area, uvar, xsm0, dsm, fsm, prop, ipari, nsn, nmn, nuvar, igtyp, pid, npf, tf, itab, fncont, pdama2, isym, inorm, h3d_data, fncontp, ftcontp)
Definition int2rupt.F:122
subroutine elty_surf(nrtm0, nrtm, nseg, surf_eltyp, msegtyp, isu2)
Definition lecins.F:658
#define max(a, b)
Definition macros.h:21
initmumps id
integer, parameter nchartitle
subroutine nsegmt(ipar, irect, nodes, nseg, nst, nrt, nno)
Definition nsegmt.F:30
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
subroutine fretitl2(titr, iasc, l)
Definition freform.F:799