49 SUBROUTINE lecins(IPARI ,ITAB ,PM ,IPM ,BUFMAT ,
50 . IGRNOD ,IGRSURF ,IGRSLIN ,XFILTR ,STFAC ,
51 . FRIC_P ,FRIGAP ,I2RUPT ,AREASL ,LIXINT ,
52 . X ,LINTER ,IXS ,NOM_OPT ,
53 . IXC ,IXTG ,KNOD2ELC ,KNOD2ELTG ,NOD2ELC ,
54 . NOD2ELTG,INTBUF_TAB ,KNOD2ELS ,NOD2ELS ,IXS10 ,
55 . IXS16 ,IXS20 ,NIGE,RIGE,XIGE ,VIGE ,
56 . IGRBRIC ,MULTI_FVM ,NALE ,IGEO ,INTERFACES,
57 . S_NOD2ELS,S_NOD2ELTG,FLAG_ELEM_INTER25 ,LIST_NIN25)
68 USE i2_surfi_mod ,
ONLY : i2_surfi
69 use element_mod ,
only : nixs
73#include "implicit_f.inc"
82#include "tabsiz_c.inc"
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
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)
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)
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) ::
109 TYPE (INTERFACES_) ,
INTENT(INOUT):: INTERFACES
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
122 INTEGER,
DIMENSION(:),
ALLOCATABLE,
TARGET :: NTAG_TARGET
123 INTEGER,
DIMENSION(:),
POINTER :: NTAG
124 INTEGER,
DIMENSION(:,:),
POINTER :: SURF_NODES,SURF_NODES_IGE,LINE_NODES
128 CHARACTER(LEN=NCHARTITLE) :: TITR
129 DATA mess/
'INTERFACE INPUT '/
131 ALLOCATE(ntag_target(2*numnod+1), stat=stat)
133 ntag(0:2*numnod) => ntag_target(1:2*numnod+1)
152 inacti = ipari(22,ni)
153 multimp= ipari(23,ni)
154 is1 = ipari(13,ni)/10
155 is2 = mod(ipari(13,ni),10)
159 intnitsche = ipari(86,ni)
160 grbric_id = ipari(83,ni)
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)
186 IF(ntyp==7 .AND. inacti==7)type18=.true.
189 CALL fretitl2(titr,nom_opt(lnopt1-ltitr+1,ni),ltitr)
191 intbuf_tab(ni)%STFAC(1) = stfac(ni)
193 intbuf_tab(ni)%VARIABLES(j) = frigap(j,ni)
200 IF ( ntyp == 15 )
THEN
202 CALL ancmsg(msgid=118, msgtype=msgerror, anmode=aninfo, i1=id, c1=titr)
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
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)
219 ELSEIF(NTYP == 23) THEN
221.AND.
IF(NRTS == 0IS1/=2) THEN
222 CALL ANCMSG(MSGID=118, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=ID, C1=TITR)
224 IF(IPRI>=1) WRITE(IOUT,'(//,a)
')' secondary surface
'
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,
234 ELSEIF (NTYP == 24) THEN
239 ELSEIF (NTYP == 25) THEN
242.AND..AND..AND.
IF(NRTS == 0IS1/=2IS1/=5IS1/=-1) THEN
243 CALL ANCMSG(MSGID=118, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=ID, C1=TITR)
245 IF(IPRI>=1) WRITE(IOUT,'(//,a)
')' secondary surface
'
247.OR.
IF (NTYP == 3 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)
262 CALL INPOINT(NSN,NOINT,IGRNOD(ISU1)%ENTITY,ITAB,INTBUF_TAB(NI)%NSV)
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,
268 ELSEIF(IS1 == 5) THEN
270 NBRIC = IGRBRIC(GRBRIC_ID)%NENTITY
271 IF (MULTI_FVM%IS_USED)THEN
273 CALL INGRBRIC_CENTROIDS(IGRBRIC(GRBRIC_ID)%ENTITY, INTBUF_TAB(NI)%NSV,
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)
282 CALL ELTY_SURF(0,NRTS,IGRSURF(ISU1)%NSEG,IGRSURF(ISU1)%ELTYP,
283 . INTBUF_TAB(NI)%MSEGTYP,ISU1)
292 IF ( NTYP == 15 ) THEN
294 CALL ANCMSG(MSGID=119, MSGTYPE=MSGERROR, ANMODE=ANINFO,I1=ID,C1=TITR)
296 IF(IPRI>=1) WRITE(IOUT,'(//,a,i10)
')
297 . ' main surface is
the hyper-ellipsoidal surface :
',
299 INTBUF_TAB(NI)%KSURF(1)=ISU2
300 ELSEIF ( NTYP == 14 ) THEN
302 CALL ANCMSG(MSGID=119, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=ID,C1=TITR)
304 IF(IPRI>=1) WRITE(IOUT,'(//,a,i10)
')
305 . ' main surface is
the hyper-ellipsoidal surface :
',
307 INTBUF_TAB(NI)%KSURF(1)=ISU2
308 ELSEIF (NTYP == 20) THEN
311 ELSEIF( NTYP == 23) THEN
314 CALL ANCMSG(MSGID=119, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=ID, C1=TITR)
316 IF(IPRI>=1) WRITE(IOUT,'(//,a)
')' main surface
'
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,
325 CALL ELTY_SURF(0,NRTM,IGRSURF(ISU2)%NSEG,IGRSURF(ISU2)%ELTYP,
326 . INTBUF_TAB(NI)%MSEGTYP,ISU2)
329 ELSEIF (NTYP == 24) THEN
330 NRTM_SH = IPARI(42,NI)
331 NRTM0 = NRTM -NRTM_SH
334 CALL ANCMSG(MSGID=119, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=ID, C1=TITR)
336 IF(IPRI>=1) WRITE(IOUT,'(//,a)
')' main surface
'
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)
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)
352 ELSEIF (NTYP == 25) THEN
354.OR..OR..OR.
IF (NTYP == 3 NTYP == 5 NTYP == 6 NTYP == 8)
357.AND.
IF(NRTM_FE == 0 NRTM_IGE == 0) THEN
358 CALL ANCMSG(MSGID=119, MSGTYPE=MSGERROR, ANMODE=ANINFO, I1=ID, C1=TITR)
360 IF(IPRI>=1) WRITE(IOUT,'(//,a)
')' main surface
'
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,
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)
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,
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)
387 CALL ELTY_SURF(NRTS,NRTM,IGRSURF(ISU2)%NSEG,IGRSURF(ISU2)%ELTYP,
388 . INTBUF_TAB(NI)%MSEGTYP,ISU2)
389.AND..OR..OR..OR.
ELSEIF ((NTYP==2IS2>0) NTYP==5 NTYP==7
390.OR.
+ NTYP==10 NTYP==21) THEN
391 CALL ELTY_SURF(0,NRTM,IGRSURF(ISU2)%NSEG,IGRSURF(ISU2)%ELTYP,
392 . INTBUF_TAB(NI)%MSEGTYP,ISU2)
402 . IPARI(9,NI),INTBUF_TAB(NI)%IRECTM,INTBUF_TAB(NI)%MSR,
403 . INTBUF_TAB(NI)%NSEGM,NMT,NRTM,NMN)
405 ELSEIF (NTYP == 2) THEN
407.OR..OR..OR.
IF (ILEV == 20 ILEV == 21 ILEV == 22INTTH >0) THEN
409 INTBUF_TAB(NI)%AREAS2(J) = AREASL(NI)
412.OR..OR.
IF (ILEV == 20 ILEV == 21 ILEV == 22) THEN
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)
421.AND.
IF (IS1==-1 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)
435.OR..OR.
ELSEIF (NTYP == 3 NTYP == 4 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)
444 IF(IPARI(31,NI)/=0) THEN
445 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
448 . IPARI(8,NI),INTBUF_TAB(NI)%IRECTS,INTBUF_TAB(NI)%NSV,INTBUF_TAB(NI)%NSEGS,
451 . IPARI(9,NI),INTBUF_TAB(NI)%IRECTM,INTBUF_TAB(NI)%MSR,INTBUF_TAB(NI)%NSEGM,
454 ELSEIF (NTYP == 5) THEN
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)
464 IF(IPARI(31,NI)/=0) THEN
465 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
468 . IPARI(8,NI),INTBUF_TAB(NI)%IRECTS,INTBUF_TAB(NI)%NSV,INTBUF_TAB(NI)%NSEGS,
471 . IPARI(9,NI),INTBUF_TAB(NI)%IRECTM,INTBUF_TAB(NI)%MSR,INTBUF_TAB(NI)%NSEGM,
474 ELSEIF (NTYP == 6) THEN
476 . IPARI(8,NI),INTBUF_TAB(NI)%IRECTS,INTBUF_TAB(NI)%NSV,INTBUF_TAB(NI)%NSEGS,
479 . IPARI(9,NI),INTBUF_TAB(NI)%IRECTM,INTBUF_TAB(NI)%MSR,INTBUF_TAB(NI)%NSEGM,
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)
491 IF(IPARI(31,NI)/=0) THEN
492 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
494 LIXINT = LIXINT+MULTIMP*(NSN_IGE+NSN_FE)
496 ELSEIF (NTYP == 8) THEN
499 . IPARI(9,NI),INTBUF_TAB(NI)%IRECTM,INTBUF_TAB(NI)%MSR,INTBUF_TAB(NI)%NSEGM,
502 ELSEIF (NTYP == 11) THEN
503 CALL I11EDGE( IPARI(1,NI),INTBUF_TAB(NI) )
505 ELSEIF (NTYP == 12) THEN
507 . IPARI(8,NI),INTBUF_TAB(NI)%IRECTS,INTBUF_TAB(NI)%NSV,INTBUF_TAB(NI)%NSEGS,
510 . IPARI(9,NI),INTBUF_TAB(NI)%IRECTM,INTBUF_TAB(NI)%MSR,INTBUF_TAB(NI)%NSEGM,
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)
522 IF(IPARI(31,NI)/=0) THEN
523 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
525 LIXINT = LIXINT+MULTIMP*NSN
526 IALLO = 2 ! initialization of arrays
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)
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)
545 IF(IPARI(31,NI)/=0) THEN
546 INTBUF_TAB(NI)%ALPHA0(1) = XFILTR(NI)
548 LIXINT = MAX(LIXINT,MULTIMP*NSN)
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)
559 IF(IPARI(31,NI)/=0) THEN
560 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
562 LIXINT = LIXINT+MULTIMP*NSN
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)
573 IF(IPARI(31,NI)/=0) THEN
574 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
576 LIXINT = MAX(LIXINT,MULTIMP*NSN)
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)
587 IF(IPARI(31,NI)/=0) THEN
588 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
590 LIXINT = LIXINT+MULTIMP*NSN
592 IALLO = 2 ! initialization of arrays
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 )
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)
614 IF(IPARI(31,NI)/=0) THEN
615 INTBUF_TAB(NI)%XFILTR(1) = XFILTR(NI)
617 LIXINT = LIXINT+MULTIMP*NSN
619 IALLO = 2 ! initialization of arrays
622 INTBUF_TAB(NI)%NBINFLG(1:INTBUF_TAB(NI)%S_NBINFLG)=0
623 INTBUF_TAB(NI)%MBINFLG(1:INTBUF_TAB(NI)%S_MBINFLG)=0
626 LIST_NIN25(NI) = NIN25
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 )
642 INTBUF_TAB(NI)%VARIABLES(J) = FRIGAP(J,NI)
648 DEALLOCATE(NTAG_TARGET)
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)
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)
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 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)