33#include "implicit_f.inc"
43 INTEGER NEDG,ITAGND(*)
44 INTEGER IXS10(6,*),IPARG(NPARG,NGROUP)
53 INTEGER I,J,NG, NEL, NFT,II, NF2, N, ITY,ISOLNOD,ISROT
61 isolnod = iparg(28,ng)
63 IF(isolnod == 10) isrot = iparg(74,ng)
64 IF(ity == 1.AND.isolnod == 10.AND.isrot == 2)
THEN
72 IF (itagnd(n)==0)
THEN
92 use element_mod ,
only : nixs
96#include "implicit_f.inc"
100#include "param_c.inc"
101#include "com01_c.inc"
107 INTEGER ICNDS10(3,*),IXS(NIXS,*),IXS10(6,*),IPARG(NPARG,*)
112#include
"com04_c.inc"
116 INTEGER I,J,K,NG, NEL, NFT,NF1, NF2, N, ITY,ISOLNOD,ISROT,NC(4)
117 INTEGER IPERM1(6),IPERM2(6),N1,N2,NEDG,ND,II,JJ
119 DATA iperm1/1,2,3,1,2,3/
120 DATA iperm2/2,3,1,4,4,4/
127 isolnod = iparg(28,ng)
129 IF(isolnod == 10) isrot = iparg(74,ng)
130 IF(ity == 1.AND.isolnod == 10.AND.isrot == 2)
THEN
144 IF (itagnd(n)==0)
THEN
150 icnds10(2,nedg) = nc(n1)
151 icnds10(3,nedg) = nc(n2)
158 IF (nedg/=ns10e)
THEN
159 print *,
'error!!! NEDG,NS10EDG=',nedg,ns10e
178#include "implicit_f.inc"
182 INTEGER ICNDS10(3,*), ITAGND(*)
187#include
"com04_c.inc"
191 INTEGER I,J,ICND_CP(3,NS10E),IE,N
194 icnd_cp(1:3,1:ns10e)=icnds10(1:3,1:ns10e)
198 IF (itagnd(n)>0)
THEN
201 icnds10(1:3,ie)=icnd_cp(1:3,j)
205 IF (ie /= ns10e) print *,
'Error of re-ordering in REORD_ICND',ie,ns10e
225#include "implicit_f.inc"
229 INTEGER NN, INN(*), ITAGND(*)
233 INTEGER I,J,NG, NEL, NFT,NF1, NF2, N,ND
239 IF (itagnd(n) ==0 )
THEN
257#include "implicit_f.inc"
261 INTEGER NN, INN(*), ITAGND(*)
265 INTEGER I,J,NG, NEL, NFT,NF1, NF2, N,ND
271 IF (itagnd(n) ==0 )
THEN
274 ELSEIF (itagnd(n) >0 )
THEN
275 itagnd(n) = -itagnd(n)
283!||====================================================================
299#include "implicit_f.inc"
303#include "com04_c.inc"
304#include "scr03_c.inc"
308 INTEGER NN, INN(*), ITAGND(*),ICNDS10(3,*),IU,ITAB(*)
319 INTEGER I,J,NG, NEL, NFT,NF1, NF2, N,ND,N1,N2,NNEW,ID,IER1,IER2
332 IF (itagnd(n) /=0 )
THEN
337 is1 = intab(nn,inn,n1)
338 is2 = intab(nn,inn,n2)
339 IF (is1.AND.is2)
THEN
341 itagnd(n) = itagnd(n) + ns10e
348 . anmode=aninfo_blind_1,
352 ELSEIF (.NOT.(is1).AND..NOT.(is2))
THEN
356 . anmode=aninfo_blind_1,
367 . anmode=aninfo_blind_1,
379 IF (ier1 >0.AND.ipri>=5)
THEN
382 . anmode=aninfo_blind_1,
388 IF (ier2 >0.AND.ipri>=5)
THEN
391 . anmode=aninfo_blind_1,
409#include "implicit_f.inc"
413#include "com04_c.inc"
414#include "param_c.inc"
418 INTEGER NPBY(NNPBY,*), LPBY(*) ,ITAGND(*)
423 INTEGER I,J,N,K,KK,NSL,NSL_N,K_N,
433 IF(itagnd(nn)>ns10e)
THEN
434 itagnd(nn) = -(itagnd(nn)-ns10e)
447!||====================================================================
453!||
intab ../
starter/source/interfaces/inter3d1/i24tools.f
457 SUBROUTINE rbe2modif_nd(NN, INN, ITAGND,ICNDS10,IU,ITAB,ITAGM,M,ITAGIC)
463#include "implicit_f.inc"
467 INTEGER NN, INN(*), ITAGND(*),ICNDS10(3,*),ITAGM(*),IU,ITAB(*),
478#include
"com04_c.inc"
479#include "scr03_c.inc"
483 INTEGER I,J,NG, NEL, NFT,NF1, NF2, N,ND,N1,N2,NNEW,IER1,ID,IER2,M_1,M_2
505 IF (itagnd(n) > ns10e)
THEN
509 ELSEIF (itagnd(n) /=0 )
THEN
514 IF (n1==m.OR.n1==m_1.OR.n1==m_2)
THEN
516 ELSEIF (itagm(n1)==0)
THEN
518 ELSEIF (itagm(n1)==m.OR.itagm(n1)==m_1.OR.itagm(n1)==m_2)
THEN
519 IF (itagic(n1)==itagic(nd))
THEN
528 IF (n2==m.OR.n2==m_1.OR.n2==m_2)
THEN
530 ELSEIF (itagm(n2)==0)
THEN
532 ELSEIF (itagm(n2)==m.OR.itagm(n2)==m_1.OR.itagm(n2)==m_2)
THEN
533 IF (itagic(n2)==itagic(nd))
THEN
542 IF (is1.AND.is2)
THEN
546 itagnd(n) = itagnd(n) + ns10e
551 . anmode=aninfo_blind_1,
555 ELSEIF (.NOT.(is1).AND..NOT.(is2))
THEN
559 . anmode=aninfo_blind_1,
570 . anmode=aninfo_blind_1,
582 IF (ier1 >0.AND.ipri>=5)
THEN
585 . anmode=aninfo_blind_1,
591 IF (ier2 >0.AND.ipri>=5)
THEN
594 . anmode=aninfo_blind_1,
616#include "implicit_f.inc"
620#include "com04_c.inc"
621#include "param_c.inc"
625 INTEGER IRBE2(NRBE2L,*), LRBE2(*), (*)
630 INTEGER I,J,N,K,KK,NSL,NSL_N,K_N,NS
635 itag(1:numnod) = itagnd(1:numnod)
642 IF(itag(ns)>ns10e)
THEN
643 IF(itagnd(ns)>ns10e) itagnd(ns) = -(itagnd(ns)-ns10e)
664 . NNPBY,SLRBODY,NRBE2L ,SLRBE2,
665 . NPBY ,LPBY ,IRBE2 ,LRBE2 )
671#include "implicit_f.inc"
675 INTEGER ICODE(*), ITAGND(*),ICNDS10(3,*),ITAB(*)
680#include "com04_c.inc"
681#include "scr03_c.inc"
682 INTEGER,
INTENT (IN) :: NNPBY,SLRBODY,NRBE2L,SLRBE2
683 INTEGER,
DIMENSION(NNPBY,NRBYKIN),
INTENT (IN) :: NPBY
684 INTEGER,
DIMENSION(SLRBODY) ,
INTENT (IN) :: LPBY
685 INTEGER,
DIMENSION(NRBE2L,NRBE2) ,
INTENT (IN) :: IRBE2
686 INTEGER,
DIMENSION(SLRBE2) ,
INTENT (IN) :: LRBE2
690 INTEGER I,J,NG, NEL, NFT,, NF2, N,ND,N1,N2,ID,IPR
691 INTEGER IS1,IS2,ISMIN,NSL,M,K,KK
692 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: ICODEM
696 ALLOCATE(icodem(numnod))
697 icodem(1:numnod) = icode(1:numnod)
701 IF (icodem(m) == 0) cycle
705 icodem(nd)=
max(icodem(nd),icodem(m))
712 IF (icodem(m) == 0) cycle
716 icodem(nd)=
max(icodem(nd),icodem(m))
721 IF (icodem(n)>0 .AND. itagnd(n) /=0 )
THEN
729 IF (is1/=icodem(n).AND.is2/=icodem(n).AND.ismin<icodem(n))
THEN
733 . anmode=aninfo_blind_1,
735 . c1=
'Boundary conditions ',
736 . c2=
'Boundary conditions')
741 IF (itagnd(n)>0)itagnd(n) = -itagnd(n)
745 . anmode=aninfo_blind_1,
751 IF (ipr >0.AND.ipri>=5)
THEN
754 . anmode=aninfo_blind_1,
755 . c1=
'Boundary conditions ',
756 . c2=
'Boundary conditions',
767!||--- calls -----------------------------------------------------
779#include "implicit_f.inc"
783#include "param_c.inc"
784#include "com04_c.inc"
785#include "scr03_c.inc"
789 INTEGER IBFV(NIFV,*), ITAGND(*),ICNDS10(3,*),ITAB(*)
794 INTEGER I,J,NG, NEL, DIR, N,ND,N1,N2,K,ID,IPR
807 IF (itagnd(n) /=0 )
THEN
813 is1 = samefvid(k,ibfv,n1)
814 is2 = samefvid(k,ibfv,n2)
818 IF (.NOT.(is1).AND..NOT.(is2))
THEN
822 . anmode=aninfo_blind_1,
824 . c1=
'Imposed VEL/DISP/ACC ',
825 . c2=
'Imposed VEL/DISP/ACC')
829 IF (ibfv(3,i)>0) ibfv(3,i) = -ibfv(3,i)
830 IF (itagnd(n)>0)itagnd(n) = -itagnd(n)
834 . anmode=aninfo_blind_1,
841 IF (ipr >0.AND.ipri>=5)
THEN
844 . anmode=aninfo_blind_1,
845 . c1=
'Imposed VEL/DISP/ACC',
846 . c2=
'Imposed VEL/DISP/ACC',
861#include "implicit_f.inc"
865#include "param_c.inc"
866#include "com04_c.inc"
870 INTEGER id,ibfv(nifv,*),n
908#include "implicit_f.inc"
912#include "param_c.inc"
913#include "com04_c.inc"
914#include "scr03_c.inc"
918 INTEGER IPARI(NPARI,NINTER),ITAGND(*),ITAB(*),ICNDS10(3,*)
919 TYPE(INTBUF_STRUCT_),
DIMENSION(NINTER) :: INTBUF_TAB
928 INTEGER I,J,N,NTY,NSN,NMN,ISL,NKIN,NOINT,IMODI,II,N1,N2,ND
929 INTEGER K,ILEV,NUVAR,IDEL7N,INTTH,IPR,IML,ICOM
930 INTEGER,
DIMENSION(NUMNOD) :: ITAGS,ITAGMD
931 CHARACTER(LEN=NCHARTITLE):: TITR
985 IF (ilev <= 5 .or. ilev == 30)
THEN
987 isl = intbuf_tab(n)%NSV(i)
988 IF (itags(isl)==0) itags(isl)=noint
995 n = iabs(icnds10(1,i))
1005 IF (itagmd(iml)>0) itagmd(iml) = itagmd(iml) + ns10e
1011 IF (itagmd(isl)>0 .AND.intbuf_tab(n)%IRUPT(i) == 1) itagmd(iml)=-itagmd(isl)
1013 ELSEIF (ilev == 25 .or. ilev == 26)
THEN
1015 isl = intbuf_tab(n)%NSV(i)
1016 IF (itagmd(isl)>0 ) itagmd(iml)=-itagmd
1026 n = iabs(icnds10(1,i))
1029 IF (itagmd(n)>ns10e.OR.itagmd(n)<0)
THEN
1030 IF (itags(n1)>0.OR.itags(n2)>0)
THEN
1032 IF (itags(n1)>0) itags(n1)=-itags(n1)
1033 IF (itags(n2)>0) itags(n2)=-itags(n2)
1035 IF (noint==0.AND.itags(n1)<0)noint = -itags(n1)
1036 IF (noint==0.AND.itags(n2)<0)noint = -itags(n2)
1043 . anmode=aninfo_blind_1,
1058 IF (ilev == 25 .or. ilev == 26)
THEN
1059 ELSEIF (ilev == 27 .or. ilev == 28)
THEN
1061 isl = intbuf_tab(n)%NSV(i)
1062 IF (itagnd(isl)/=0 .AND.intbuf_tab(n)%IRUPT(i) /= 1)
THEN
1063 intbuf_tab(n)%NSV(i) = -isl
1064 IF (itagnd(isl)>0 ) itagnd(isl) = -itagnd(isl)
1070 isl = intbuf_tab(n)%NSV(i)
1071 IF (itagnd(isl)/=0 )
THEN
1072 intbuf_tab(n)%NSV(i) = -isl
1073 IF (itagnd(isl)>0 ) itagnd(isl) = -itagnd(isl)
1081 IF (imodi > 0 )
THEN
1082 idel7n = ipari(17,n)
1087 IF (intbuf_tab(n)%NSV(i) > 0)
THEN
1089 intbuf_tab(n)%NSV(ii) = intbuf_tab(n)%NSV(i)
1090 intbuf_tab(n)%IRTLM(ii) = intbuf_tab(n)%IRTLM(i)
1091 IF ((ilev >= 10.AND.ilev <= 22).OR.ilev == 27.OR.ilev == 28)
THEN
1092 intbuf_tab(n)%IRUPT(ii) = intbuf_tab(n)%IRUPT(i)
1094 intbuf_tab(n)%CSTS(1+2*(ii-1)) = intbuf_tab(n)%CSTS(1+2*(i-1))
1095 intbuf_tab(n)%CSTS(1+2*(ii-1)+1) = intbuf_tab(n)%CSTS(1+2*(i-1)+1)
1096 intbuf_tab(n)%DPARA(1+7*(ii-1)) = intbuf_tab(n)%DPARA(1+7*(i-1))
1097 intbuf_tab(n)%DPARA(1+7*(ii-1)+1) = intbuf_tab(n)%DPARA(1+7*(i-1)+1)
1098 intbuf_tab(n)%DPARA(1+7*(ii-1)+2) = intbuf_tab(n)%DPARA(1+7*(i-1)+2)
1099 intbuf_tab(n)%DPARA(1+7*(ii-1)+3) = intbuf_tab(n)%DPARA(1+7*(i-1)+3)
1100 intbuf_tab(n)%DPARA(1+7*(ii-1)+4) = intbuf_tab(n)%DPARA(1+7*(i-1)+4)
1101 intbuf_tab(n)%DPARA(1+7*(ii-1)+5) = intbuf_tab(n)%DPARA(1+7*(i-1)+5)
1102 intbuf_tab(n)%DPARA(1+7*(ii-1)+6) = intbuf_tab(n)%DPARA(1+7*(i-1)+6)
1103 IF (idel7n /= 0)
THEN
1104 intbuf_tab(n)%SMAS(ii) = intbuf_tab(n)%SMAS(i)
1105 intbuf_tab(n)%SINER(ii) = intbuf_tab(n)%SINER(i)
1107 IF ((ilev>=10 .AND. ilev<=22 ).OR. intth > 0)
THEN
1108 intbuf_tab(n)%AREAS2(ii) = intbuf_tab(n)%AREAS2(i)
1110 intbuf_tab(n)%UVAR(1+nuvar*(ii-1)+k) =
1111 . intbuf_tab(n)%UVAR(1+nuvar*(i-1)+k)
1114 IF (( ilev>=10 .AND. ilev<=12).OR.( ilev>=20 .AND. ilev<=22))
THEN
1115 intbuf_tab(n)%SMAS(ii) = intbuf_tab(n)%SMAS(i)
1116 intbuf_tab(n)%SINER(ii) = intbuf_tab(n)%SINER(i)
1118 intbuf_tab(n)%UVAR(1+nuvar*(ii-1)+k) =
1119 . intbuf_tab(n)%UVAR(1+nuvar*(i-1)+k)
1122 intbuf_tab(n)%XM0(1+3*(ii-1)+k) = intbuf_tab(n)%XM0(1+3*(i-1)+k)
1123 intbuf_tab(n)%DSM(1+3*(ii-1)+k) = intbuf_tab(n)%DSM
1124 intbuf_tab(n)%FSM(1+3*(ii-1)+k) = intbuf_tab(n)%FSM(1+3*(i-1)+k)
1126 ELSEIF (ilev==27 .OR. ilev==28)
THEN
1127 intbuf_tab(n)%SMAS(ii) = intbuf_tab(n)%SMAS(i)
1128 intbuf_tab(n)%SINER(ii) = intbuf_tab(n)%SINER(i)
1129 intbuf_tab(n)%SPENALTY(ii) = intbuf_tab(n)%SPENALTY(i
1130 intbuf_tab(n)%STFR_PENALTY(ii) = intbuf_tab(n)%STFR_PENALTY
1132 intbuf_tab(n)%SKEW(1+9*(ii-1)+k) = intbuf_tab(n)%SKEW(1+9*(i-1)+k)
1135 intbuf_tab(n)%DSM(1+3*(ii-1)+k) = intbuf_tab(n)%DSM(1+3*(i-1)+k)
1136 intbuf_tab(n)%FSM(1+3*(ii-1)+k) = intbuf_tab(n)%FSM(1+3*(i-1)+k)
1137 intbuf_tab(n)%FINI(1+3*(ii-1)+k) = intbuf_tab(n)%FINI(1+3*(i-1)+k)
1140 IF (intbuf_tab(n)%S_CSTS_BIS>0)
THEN
1142 intbuf_tab(n)%CSTS_BIS(1+2*(ii-1)+k) = intbuf_tab(n)%CSTS_BIS(1+2*(i-1)+k)
1147 isl = -intbuf_tab(n)%NSV(i)
1152 . anmode=aninfo_blind_1,
1159 IF (ipr >0.AND.ipri>=5)
THEN
1162 . anmode=aninfo_blind_1,
1163 . c1=
'Interface Type2 ',
1175!||--- called by ------------------------------------------------------
1179!||====================================================================
1184#include
"implicit_f.inc"
1188#include "com04_c.inc"
1189#include "com01_c.inc"
1194 . ICNDS10(3,*), ADSKYCND(0:*),CEPCND(*),CELCND(*),ITAGND(*)
1203 INTEGER K, I, IS,IAD, J, KK, N, ,NIR,NL_L,P,NI,ICOMP(NSPMD)
1219 k = iabs(icnds10(1,i))
1220 IF (itagnd(k)>ns10e) cycle
1223 adskycnd(kk) = adskycnd(kk) + 1
1230 IF (adskycnd(1)>0)
THEN
1235 IF (adskycnd(i)>0)
THEN
1244 adskycnd(1) = adskycnd(1)+1
1249 adskycnd(i)=adskycnd(i)+adskycnd(i-1)
1251 DO i=numnod+1,ni+1,-1
1252 adskycnd(i)=adskycnd(i-1)
1260 k = iabs(icnds10(1,i))
1261 IF (itagnd(k)>ns10e) cycle
1263 IF(nlocal(k,p)==1)
THEN
1265 icomp(p) = icomp(p) + 1
1300#include
"implicit_f.inc"
1304#include "com04_c.inc"
1308 INTEGER ADDCNCND(0:*), CNCND(*),ICNDS10(3,*),ITAGND(*)
1312 INTEGER I, J, L, K, N, OFF, NTY, NRTS, NRTM, NSN, NMN,
1313 . KK, NIR,ADSKY(NUMNOD+1)
1318 adsky(i) = addcncnd(i)
1325 IF (itagnd(k)>ns10e) cycle
1328 cncnd(adsky(kk)) = i
1329 adsky(kk) = adsky(kk) + 1
1345#include "implicit_f.inc"
1349#include "com04_c.inc"
1353 INTEGER ICNDS10(3,*)
1364 nd = iabs(icnds10(1,i))
1380#include "implicit_f.inc"
1384#include "com04_c.inc"
1388 INTEGER ICNDS10(3,*)
1395 INTEGER I,J,ND,N1,N2
1401 nd = iabs(icnds10(1,i))
1402 IF (stifn(nd)<=zero) cycle
1403 stif =half*stifn(nd)
1406 stifn(n1)=stifn(n1)+stif
1407 stifn(n2)=stifn(n2)+stif
1428#include "implicit_f.inc"
1432#include "com04_c.inc"
1436 INTEGER IBCSCYC(4,*), LBCSCYC(2,*), ITAGND(*),ITAB(*)
1440 INTEGER I,J,N,K,KK,NSL,NSL_N,K_N,NS
1451 IF(itagnd(n1)==0.AND.itagnd(n2)==0)
THEN
1453 lbcscyc(1,k+nsl_n) =n1
1454 lbcscyc(2,k+nsl_n) =n2
1455 ELSEIF(itagnd(n1)/=0.AND.itagnd(n2)/=0)
THEN
1459 CALL ancmsg(msgid=1758,anmode=aninfo,msgtype=msgerror,i1=id)
1464 ibcscyc(3,i) = nsl_n
1465 ibcscyc(1,i) = k+nsl_n
1466 CALL ancmsg(msgid=1759,anmode=aninfo,msgtype=msgwarning,i1=kk,i2=id)
subroutine fillcncnd(cncnd, addcncnd, icnds10, itagnd)
subroutine bcscycmodif_nd(ibcscyc, lbcscyc, itagnd, itab)
subroutine pre_cndpon(icnds10, adskycnd, cepcnd, celcnd, itagnd)
subroutine int2modif_nd(ipari, intbuf_tab, itagnd, icnds10, itab)
subroutine ind_s10edg(icnds10, ixs, ixs10, iparg, itagnd)
subroutine stifn1_nd(icnds10, stifn)
subroutine reord_icnd(icnds10, itagnd)
subroutine rigmodif1_nd(npby, lpby, itagnd)
subroutine rigmodif_nd(nn, inn, itagnd, icnds10, iu, titr, itab)
subroutine bcsmodif_nd(icode, itagnd, icnds10, itab, nnpby, slrbody, nrbe2l, slrbe2, npby, lpby, irbe2, lrbe2)
subroutine stifn0_nd(icnds10, stifn)
subroutine remove_nd(nn, inn, itagnd)
logical function samefvid(id, ibfv, n)
subroutine rbe2modif1_nd(irbe2, lrbe2, itagnd)
subroutine remdeg_nd(nn, inn, itagnd)
subroutine rbe2modif_nd(nn, inn, itagnd, icnds10, iu, itab, itagm, m, itagic)
subroutine dim_s10edg(nedg, ixs10, iparg, itagnd)
subroutine fixmodif_nd(ibfv, itagnd, icnds10, itab)
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)
subroutine lectur(multi_fvm, lsubmodel, is_dyna, detonators, ebcs_tab, seatbelt_converted_elements, nb_seatbelt_shells, nb_dyna_include, user_windows, output, mat_elem, names_and_titles, defaults, glob_therm, pblast, sensor_user_struct, check_used)