44 2 NB_SURF,FLAG,EANI2,BUF_NOD,IXR_KJ,
45 3 INOM_OPT,RESERVEP,NALE_R2R,NSPCOND0,
46 4 SUBSET ,IGRSURF,IGRNOD ,IGRBRIC,IGRQUAD,
47 5 IGRSH4N,IGRSH3N,IGRTRUSS,IGRBEAM,IGRSPRING,
48 6 IGRPART,IGRSLIN,LSUBMODEL,RBY_MSN,IWORKSH,
49 7 SEATBELT_SHELL_TO_SPRING,NB_SEATBELT_SHELLS)
66#include "implicit_f.inc"
74#include "tabsiz_c.inc"
84 . IXR_KJ(*),INOM_OPT(*),RESERVEP(*),(ALE%GLOBAL%SNALE),
86 INTEGER,
INTENT(INOUT) :: (3,NUMELC+NUMELTG)
87 INTEGER ,
INTENT(IN) :: NB_SEATBELT_SHELLS
88 INTEGER ,
INTENT(IN) :: SEATBELT_SHELL_TO_SPRING(NUMELC,2)
89 TYPE (SUBSET_)
DIMENSION(NSUBS) :: SUBSET
90 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
91 TYPE (SURF_) ,
DIMENSION(NSLIN) :: IGRSLIN
92 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
93 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
94 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
95 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
96 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
97 TYPE (GROUP_) ,
DIMENSION(NGRTRUS) :: IGRTRUSS
98 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
99 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
100 TYPE (GROUP_) ,
DIMENSION(NGRPART) :: IGRPART
109 INTEGER I,,J,ADD,IAD,CUR_ID,TPP,CCPL,NF1,NF2,TYP2
111INTEGER ISUR,ISURS,NTOT,NB_NOD_SUB,NB_NOD_CPL,NB_NOD
112 INTEGER MAXN,MAXANUS,SIXSN,ID_INTER,NUL,TAG,COMPTB
113 INTEGER COMPT10,COMPT20,COMPT16,COMPT8,J10,J20,J16,JJ
114 INTEGER G1,G2,GRS,GRM,GRS2,LN1,LN2,NI,ID_MON,IAD3,IO_ERR
115 INTEGER LNM,LNS,NEW_ID,SIPART0,SIPARTTH,,COMPT_IP_TMP,L0
116 INTEGER ID_PROP,COEFF,NUMSPHA,NSPHRESN,FIRST_CELL,NOD_ID,PART_RES,INOD
117 INTEGER JJB,IUN,NRB,NRBODY_OLD
119 INTEGER,
DIMENSION(:),
POINTER :: ,PART2
120 INTEGER,
DIMENSION(:),
ALLOCATABLE :: BUF_TEMP,ITAB_TEMP,IX_TEMP
121 INTEGER,
DIMENSION(:),
ALLOCATABLE :: CORESN,CORESC,CORESTG,COREST
122 INTEGER,
DIMENSION(:),
ALLOCATABLE :: CORESPA,CORESR,CORESP,CORESS,CORESSP
123 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IPART_TEMP,IWA_TEMP
124 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IPM_TEMP,IGEO_TEMP,CORESMA
125 INTEGER,
DIMENSION(:),
ALLOCATABLE :: CORESPRO,TAGNO_TEMP
126 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IX10_TEMP,IX20_TEMP
127 INTEGER,
DIMENSION(:),
ALLOCATABLE :: IX16_TEMP,CORESQ,ITAB_SUP
128 INTEGER,
DIMENSION(:),
ALLOCATABLE :: KXSP_TEMP,RES_TEMP,NALE_R2R_TEMP
129 INTEGER,
DIMENSION(:,:),
ALLOCATABLE :: RBY_MSN_TEMP,IWORKSH_TEMP
130 my_real,
DIMENSION(:,:),
ALLOCATABLE :: x_temp
131 my_real,
DIMENSION(:),
ALLOCATABLE :: thk_tmp,pm_temp
132 my_real,
DIMENSION(:),
ALLOCATABLE :: eani_temp,geo_temp
134 CHARACTER(LEN=NCHARKEY) :: OPT,KEY
135 DATA mess/
'MULTIDOMAIN INITIALIZATION'/
156 ALLOCATE(
tag_surf(numelc+numeltg+numels+npart))
232 DO k=1,subset(j)%NTPART
261 sipart0 = lipart1*npart+lipart1*nthpart
262 sipartth= 2*9*npart+2*9*nthpart
263 l0 =sipartth+sipart0+1
284 l0 = l0+numeltg+numelx
310 siz_ipm_new = npropmi
312 siz_igeo_new = npropgi
318 siz_ipm_new = siz_ipm_new + npropmi
319 siz_pm_new = siz_pm_new + npropm
325 siz_igeo_new = siz_igeo_new + npropgi
326 siz_geo_new = siz_geo_new + npropg
331 IF (
tagno(j+npart)>=0)
THEN
385 IF (eani2(j)==10) nels10n = nels10n+1
386 IF (eani2(j)==20) nels20n = nels20n+1
387 IF (eani2(j)==16) nels16n = nels16n+1
397 first_cell = first_sphres
399 IF (
tag_elsp(first_cell+npart)/=0)
THEN
400 ninletn = ninletn + 1
402 first_cell = first_cell + reservep(j)
418 ALLOCATE (ipm_temp(npropmi*nummat),pm_temp(npropm*nummat))
419 ALLOCATE(coresma(nummat))
422 ipm_temp(npropmi*(i-1)+j)=
ipm(npropmi*(i-1)+j)
427 pm_temp(npropm*(i-1)+j)=pm(npropm*(i-1)+j)
434 ALLOCATE(
ipm(siz_ipm_new),pm(siz_pm_new))
437 IF ((
tag_mat(j)/=0).OR.(j==nummat))
THEN
441 ipm(npropmi*(compt-1)+k)=ipm_temp(npropmi*(j-1)+k)
444 pm(npropm*(compt-1)+k)=pm_temp(npropm*(j-1)+k)
450 DEALLOCATE(ipm_temp,pm_temp)
456 ALLOCATE (igeo_temp(npropgi*numgeo),geo_temp(npropg*numgeo))
457 ALLOCATE(corespro(numgeo))
460 igeo_temp(npropgi*(i-1)+j)=
igeo(npropgi*(i-1)+j)
465 geo_temp(npropg*(i-1)+j)=geo(npropg*(i-1)+j)
472 ALLOCATE(
igeo(siz_igeo_new),geo(siz_geo_new))
480 maxanus = npropgi*(compt-1)+k
481 igeo(npropgi*(compt-1)+k)=igeo_temp(npropgi*(j-1)+k)
484 geo(npropg*(compt-1)+k)=geo_temp(npropg*(j-1)+k)
490 DEALLOCATE(igeo_temp,geo_temp)
497 ipart(lipart1*(j-1)+1)=coresma(
ipart(lipart1*(j-1)+1))
498 ipart(lipart1*(j-1)+2)=corespro(
ipart(lipart1*(j-1)+2))
505 ALLOCATE(coresn(numnod),x_temp(3,numnod))
506 ALLOCATE(itab_temp(numnod))
509 x_temp(1,j)=x(3*(j-1)+1)
510 x_temp(2,j)=x(3*(j-1)+2)
511 x_temp(3,j)=x(3*(j-1)+3)
516 ALLOCATE(
itab(nnodn),x(3*nnodn),itab_sup(nodsupr))
525 IF (
tagno(j+npart)>=0)
THEN
527 itab(compt)=itab_temp(j)
528 IF (
itab(compt)>maxn) maxn =
itab(compt)
530 x(3*(compt-1)+1)=x_temp(1,j)
531 x(3*(compt-1)+2)=x_temp(2,j)
532 x(3*(compt-1)+3)=x_temp(3,j)
541 IF (
tagno(j+npart)>1)
THEN
543 IF (iroddl==1) in(compt)=1e-20
547 itab_sup(comptb)=itab_temp(j)
554 IF (
iskwn(liskn*j+k)>0)
561 IF (nsphn==numsph)
THEN
564 IF (
iskwn(jj+liskn*j+k)>0)
565 .
iskwn(jj+liskn*j+k)=coresn(
iskwn(jj+liskn*j+k))
570 jjb = siskwn-siframe-
min(iun,nspcond0)*(numsph-nsphn)*liskn
573 IF (
iskwn(jj+liskn*j+k)>0)
THEN
574 iskwn(jjb+liskn*j+k)=coresn(
iskwn(jj+liskn*j+k))
586 DEALLOCATE(itab_temp,x_temp)
589 part1 =>
itabm1(1:2*numnod)
594 part2 =>
itabm1(2*numnod+1:2*numnod_old)
595 CALL constit(itab_sup,part2,nodsupr)
603 IF (ale%GLOBAL%SNALE>0)
THEN
605 ALLOCATE(nale_r2r_temp(ale%GLOBAL%SNALE))
607 nale_r2r_temp(j)=nale_r2r(j)
614 IF (
tagno(j+npart)>=0)
THEN
616 nale_r2r(compt) = nale_r2r_temp(j)
619 DEALLOCATE(nale_r2r_temp)
627 ntot = nelsn+nelcn+neltgn+nelqn
628 ALLOCATE(eani_temp(seani))
632 eani_temp(j)=eani2(j)
641 eani2(compt)=eani_temp(j)
645 compt = nelsn+nelcn+nelqn
649 eani2(compt)=eani_temp(numels+numelq+numelc+j)
657 sipart0 = lipart1*npart+lipart1*nthpart
658 sipartth= 2*9*npart+2*9*nthpart
659 ALLOCATE(ipart_temp(sipart))
662 ipart_temp(j)=
ipart(j)
666 sipart = sipart0+sipartth+nelsn+nelqn+nelcn+neltn+nelpn
667 . + nelrn+neltgn+numelx+numsph
668 ALLOCATE(
ipart(sipart))
670 DO j=1,sipart0+sipartth
671 ipart(j)=ipart_temp(j)
674 compt_ip = sipart0+sipartth
675 compt_ip_tmp = sipart0+sipartth
681 ALLOCATE(ix_temp(sixs),coress(numels))
685 ix_temp(nixs*(j-1)+k)=
ixs(nixs*(j-1)+k)
699 sixsn = nelsn*nixs+nels10n*6+nels20n*12+nels16n*8
712 compt_ip_tmp=compt_ip_tmp+1
713 IF (eani_temp(j)==10) j10 = j10+1
714 IF (eani_temp(j)==20) j20 = j20+1
715 IF (eani_temp(j)==16) j16 = j16+1
720 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
722 ixs(nixs*(compt-1)+k)=ix_temp(nixs*(j-1)+k)
724 ixs(nixs*(compt-1)+1)=coresma(ix_temp(nixs*(j-1)+1))
725 ixs(nixs*(compt-1)+10)=corespro(ix_temp(nixs*(j-1)+10))
727 ixs(nixs*(compt-1)+k)=coresn(ix_temp(nixs*(j-1)+k))
730 IF (eani_temp(j)==10)
THEN
733 ixs(nixs*nelsn+6*(compt10-1)+k)=
734 . coresn(ix_temp(nixs*numels+6*(j10-1)+k))
736 ELSEIF (eani_temp(j)==20)
THEN
739 ixs((nixs*nelsn+6*nels10n)+12*(compt20-1)+k)=
740 . coresn(ix_temp((nixs*numels+6*numels10)+
743 ELSEIF (eani_temp(j)==16)
THEN
746 ixs((nixs*nelsn+6*nels10n+12*nels20n)+8*(compt16-1)+k)=
747 . coresn(ix_temp((nixs*numels+6*numels10+
748 . 12*numels20)+8*(j16-1)+k))
770 ALLOCATE(ix_temp(numelq*nixq),coresq(numelq))
773 ix_temp(nixq*(j-1)+k)=
ixq(nixq*(j-1)+k)
780 ALLOCATE(
ixq(nelqn*nixq))
783 compt_ip_tmp=compt_ip_tmp+1
788 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
790 ixq(nixq*(compt-1)+k)=ix_temp(nixq*(j-1)+k)
792 ixq(nixq*(compt-1)+1)=coresma(ix_temp(nixq*(j-1)+1))
793 ixq(nixq*(compt-1)+6)=corespro(ix_temp(nixq*(j-1)+6))
795 ixq(nixq*(compt-1)+k)=coresn(ix_temp(nixq*(j-1)+k))
808 ALLOCATE(ix_temp(numelc*nixc),coresc(numelc))
809 CALL my_alloc (iworksh_temp,3,numelc)
814 iworksh_temp(1,j) = iworksh(1,j)
815 iworksh_temp(2,j) = iworksh(2,j)
816 iworksh_temp(3,j) = iworksh(3,j)
825 compt_ip_tmp=compt_ip_tmp+1
830 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
832 ixc(nixc*(compt-1)+k)=ix_temp(nixc*(j-1)+k)
834 ixc(nixc*(compt-1)+1)=coresma(ix_temp(nixc*(j-1)+1))
835 ixc(nixc*(compt-1)+6)=corespro(ix_temp(nixc*(j-1)+6))
837 ixc(nixc*(compt-1)+k)=coresn(ix_temp(nixc*(j-1)+k))
841 iworksh(1,compt)=iworksh_temp(1,j)
842 iworksh(2,compt)=iworksh_temp(2,j)
843 iworksh(3,compt)=iworksh_temp(3,j)
845 iworksh(1,compt)=zero
846 iworksh(2,compt)=zero
847 iworksh(3,compt)=zero
853 DEALLOCATE(ix_temp,iworksh_temp)
859 ALLOCATE(ix_temp(numelt*nixt),corest(numelt))
862 ix_temp(nixt*(j-1)+k)=
ixt(nixt*(j-1)+k)
869 ALLOCATE(
ixt(neltn*nixt))
872 compt_ip_tmp=compt_ip_tmp+1
877 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
879 ixt(nixt*(compt-1)+k)=ix_temp(nixt*(j-1)+k)
881 ixt(nixt*(compt-1)+1)=coresma(ix_temp(nixt*(j-1)+1))
882 ixt(nixt*(compt-1)+4)=corespro(ix_temp(nixt*(j-1)+4))
897 ALLOCATE(ix_temp(numelp*nixp),coresp(numelp))
900 ix_temp(nixp*(j-1)+k)=
ixp(nixp*(j-1)+k)
907 ALLOCATE(
ixp(nelpn*nixp))
910 compt_ip_tmp=compt_ip_tmp+1
915 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
917 ixp(nixp*(compt-1)+k)=ix_temp(nixp*(j-1)+k)
919 ixp(nixp*(compt-1)+1)=coresma(ix_temp(nixp*(j-1)+1))
920 ixp(nixp*(compt-1)+5)=corespro(ix_temp(nixp*(j-1)+5))
922 ixp(nixp*(compt-1)+k)=coresn(ix_temp(nixp*(j-1)+k))
935 ALLOCATE(ix_temp(numelr*5+1))
938 ix_temp(5*(j-1)+k)=ixr_kj(5*(j-1)+k)
939 ixr_kj(5*(j-1)+k) = 0
948 id_prop = corespro(
ixr(nixr*(j-1)+1))
949 IF (
igeo(npropgi*(id_prop-1)+11)==45)
THEN
954 ixr_kj(5*(compt-1)+k)=coresn(ix_temp(5*(comptb-1)+k))
956 ixr_kj(5*(compt-1)+4)=ix_temp(5*(comptb-1)+4)
957 ixr_kj(5*(compt-1)+5)=0
962 ixr_kj(5*nelrn+1) = compt
969 ALLOCATE(ix_temp(numelr*nixr),coresr(numelr))
972 ix_temp(nixr*(j-1)+k)=
ixr(nixr*(j
979 ALLOCATE(
ixr(nelrn*nixr))
982 compt_ip_tmp=compt_ip_tmp+1
987 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
989 ixr(nixr*(compt-1)+k)=ix_temp(nixr*(j-1)+k)
991 ixr(nixr*(compt-1)+1)=corespro(ix_temp
993 ixr(nixr*(compt-1)+k)=coresn(ix_temp(nixr*(j-1)+k))
995 IF (
ixr(nixr*(compt-1)+4)/=0)
THEN
996 ixr(nixr*(compt-1)+4)=coresn(ix_temp(nixr*(j-1)+4))
1009 ALLOCATE(ix_temp(numeltg*nixtg),corestg(numeltg))
1012 ix_temp(nixtg*(j-1)+k)=
ixtg(nixtg*(j-1)+k)
1019 ALLOCATE(
ixtg(neltgn*nixtg))
1022 compt_ip_tmp=compt_ip_tmp+1
1027 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
1029 ixtg(nixtg*(compt-1)+k)=ix_temp(nixtg*(j-1)+k)
1031 ixtg(nixtg*(compt-1)+1)=coresma(ix_temp(nixtg*(j-1)+1))
1032 ixtg(nixtg*(compt-1)+5)=corespro(ix_temp(nixtg*(j-1)+5))
1034 ixtg(nixtg*(compt-1)+k)=coresn(ix_temp(nixtg*(j-1)+k))
1046 ALLOCATE(res_temp(nbpartinlet))
1048 res_temp(j) = reservep(j)
1054 first_cell = first_sphres
1056 IF (
tag_elsp(first_cell+npart)/=0)
THEN
1058 reservep(compt) = res_temp(j)
1061 inod =
kxsp(nisp*(first_cell-1)+3)
1074 IF (nsphn>0) coeff = 1
1075 numspha = numsph - nsphres
1086 ALLOCATE(
ixsp(kvoisph,nsphn),
kxsp(nisp*nsphn),
nod2sp(coeff*numnod))
1087 ALLOCATE(spbuf(nspbuf*nsphn))
1091 compt_ip_tmp=compt_ip_tmp+1
1096 IF (j>=first_sphres) nsphresn=nsphresn+1
1097 ipart(compt_ip)=ipart_temp(compt_ip_tmp)
1099 kxsp(nisp*(compt-1)+k)=kxsp_temp(nisp*(j-1)+k)
1101 kxsp(nisp*(compt-1)+3)=coresn(kxsp_temp(nisp
1102 nod2sp(coresn(kxsp_temp(nisp*(j-1)+3))) = compt
1105 IF ((compt/=0).AND.(compt/=numsph))
THEN
1107 . msgtype=msgwarning,
1108 . anmode=aninfo_blind_1)
1111 numspha = compt - nsphresn
1113 first_sphres = numspha + 1
1114 DEALLOCATE(kxsp_temp)
1118 DEALLOCATE(ipart_temp)
1124 ALLOCATE(thk_tmp(numeltg0+numelc0))
1125 DO j=1,numeltg0+numelc0
1132 ALLOCATE(thke(numeltg+numelc))
1135 thke(coresc(j))=thk_tmp(j)
1140 thke(corestg(j)+numelc)=thk_tmp(j+numelc0)
1159 igrbric(i)%R2R_SHARE = 0
1160 DO j=1,igrbric(i)%NENTITY
1161 cur_id = igrbric(i)%ENTITY(j)
1164 igrbric(i)%ENTITY(compt) = coress(cur_id)
1166 . igrbric(i)%R2R_SHARE = igrbric(i)%R2R_SHARE + 1
1169 igrbric(i)%R2R_ALL = igrbric(i)%NENTITY
1170 igrbric(i)%NENTITY = compt
1175 igrquad(i)%R2R_SHARE = 0
1176 DO j=1,igrquad(i)%NENTITY
1177 cur_id = igrquad(i)%ENTITY(j)
1178 IF (
tag_elq(cur_id+npart)/=0)
THEN
1180 igrquad(i)%ENTITY(compt) = coresq(cur_id)
1182 . igrquad(i)%R2R_SHARE = igrquad(i)%R2R_SHARE + 1
1185 igrquad(i)%R2R_ALL = igrquad(i)%NENTITY
1186 igrquad(i)%NENTITY = compt
1191 igrsh4n(i)%R2R_SHARE = 0
1192 DO j=1,igrsh4n(i)%NENTITY
1193 cur_id = igrsh4n(i)%ENTITY(j)
1194 IF (
tag_elc(cur_id+npart)/=0)
THEN
1196 igrsh4n(i)%ENTITY(compt) = coresc(cur_id)
1198 . igrsh4n(i)%R2R_SHARE = igrsh4n(i)%R2R_SHARE + 1
1201 igrsh4n(i)%R2R_ALL = igrsh4n(i)%NENTITY
1202 igrsh4n(i)%NENTITY = compt
1207 igrtruss(i)%R2R_SHARE = 0
1208 DO j=1,igrtruss(i)%NENTITY
1209 cur_id = igrtruss(i)%ENTITY(j)
1210 IF (
tag_elt(cur_id+npart)/=0)
THEN
1212 igrtruss(i)%ENTITY(compt) = corest(cur_id)
1214 . igrtruss(i)%R2R_SHARE = igrtruss(i)%R2R_SHARE + 1
1217 igrtruss(i)%R2R_ALL = igrtruss(i)%NENTITY
1218 igrtruss(i)%NENTITY = compt
1223 igrbeam(i)%R2R_SHARE = 0
1224 DO j=1,igrbeam(i)%NENTITY
1225 cur_id = igrbeam(i)%ENTITY(j)
1226 IF (
tag_elp(cur_id+npart)/=0)
THEN
1228 igrbeam(i)%ENTITY(compt) = coresp(cur_id)
1230 . igrbeam(i)%R2R_SHARE = igrbeam(i)%R2R_SHARE + 1
1233 igrbeam(i)%R2R_ALL = igrbeam(i)%NENTITY
1239 igrspring(i)%R2R_SHARE = 0
1240 DO j=1,igrspring(i)%NENTITY
1241 cur_id = igrspring(i)%ENTITY
1242 IF (
tag_elr(cur_id+npart)/=0)
THEN
1244 igrspring(i)%ENTITY(compt) = coresr(cur_id)
1246 . igrspring(i)%R2R_SHARE = igrspring(i)%R2R_SHARE + 1
1249 igrspring(i)%R2R_ALL = igrspring(i)%NENTITY
1250 igrspring(i)%NENTITY = compt
1255 igrsh3n(i)%R2R_SHARE = 0
1256 DO j=1,igrsh3n(i)%NENTITY
1257 cur_id = igrsh3n(i)%ENTITY(j)
1258 IF (
tag_elg(cur_id+npart)/=0)
THEN
1260 igrsh3n(i)%ENTITY(compt) = corestg(cur_id)
1262 . igrsh3n(i)%R2R_SHARE = igrsh3n(i)%R2R_SHARE + 1
1265 igrsh3n(i)%R2R_ALL = igrsh3n(i)%NENTITY
1266 igrsh3n(i)%NENTITY = compt
1273 DO j=1,igrpart(i)%NENTITY
1274 cur_id = igrpart(i)%ENTITY(j)
1277 igrpart(i)%ENTITY(compt) = cur_id
1280 igrpart(i)%R2R_ALL = igrpart(i)%NENTITY
1281 igrpart(i)%NENTITY = compt
1290 DO j=1,igrsurf(i)%NSEG
1294 cur_id = igrsurf(i)%ELEM(j)
1295 IF (igrsurf(i)%ELTYP(j) == 1)
THEN
1297 IF (
tag_els(cur_id+npart)/=0)
THEN
1298 new_id = coress(cur_id)
1301 ELSEIF (igrsurf(i)%ELTYP(j) == 2)
THEN
1303 IF (
tag_elq(cur_id+npart)/=0)
THEN
1304 new_id = coresq(cur_id)
1307 ELSEIF (igrsurf(i)%ELTYP(j) == 3)
THEN
1309 IF (
tag_elc(cur_id+npart)/=0)
THEN
1310 new_id = coresc(cur_id)
1313 ELSEIF (igrsurf(i)%ELTYP(j) == 7)
THEN
1315 IF (
tag_elg(cur_id+npart)/=0)
THEN
1316 new_id = corestg(cur_id)
1319 ELSEIF (igrsurf(i)%ELTYP(j) > 10)
THEN
1321 IF (igrsurf(i)%ELTYP(j) == 11)
THEN
1322 IF (
tag_els(cur_id+npart)/=0) tag=1
1323 ELSEIF (igrsurf(i)%ELTYP(j) == 13)
THEN
1324 IF (
tag_elc(cur_id+npart)/=0) tag=1
1325 ELSEIF (igrsurf(i)%ELTYP(j) == 17)
THEN
1326 IF (
tag_elg(cur_id+npart)/=0) tag=1
1329 igrsurf(i)%ELTYP(j) = 0
1331 ELSEIF (igrsurf(i)%ELTYP(j) == 0)
THEN
1334 nod_id = igrsurf(i)%NODES(j,k)
1335 IF (
tagno(nod_id+npart)/=-1) nb_nod_cpl=nb_nod_cpl+1
1337 IF (nb_nod_cpl==4)
THEN
1346 cur_id = igrsurf(i)%NODES(j,k)
1347 IF (
tagno(cur_id+npart)>1) nb_nod_cpl=nb_nod_cpl+1
1348 igrsurf(i)%NODES(nseg,k) = coresn(cur_id)
1350 IF (nb_nod_cpl==4) ccpl
1351 igrsurf(i)%ELTYP(nseg) = igrsurf(i)%ELTYP(j)
1352 igrsurf(i)%ELEM(nseg) = new_id
1356 igrsurf(i)%NSEG = nseg
1365 DO j=1,igrslin(i)%NSEG
1368 cur_id = igrslin(i)%ELEM(j)
1369 IF (igrslin(i)%ELTYP(j)==1)
THEN
1371 IF (
tag_els(cur_id+npart)/=0)
THEN
1372 new_id = coress(cur_id)
1375 ELSEIF (igrslin(i)%ELTYP(j)==2)
THEN
1377 IF (
tag_elq(cur_id+npart)/=0)
THEN
1378 new_id = coresq(cur_id)
1381 ELSEIF (igrslin(i)%ELTYP(j)==3)
THEN
1383 IF (
tag_elc(cur_id+npart)/=0)
THEN
1384 new_id = coresc(cur_id)
1387 ELSEIF (igrslin(i)%ELTYP(j)==4)
THEN
1389 IF (
tag_elt(cur_id+npart)/=0)
THEN
1390 new_id = corest(cur_id)
1393 ELSEIF (igrslin(i)%ELTYP(j)==5)
THEN
1395 IF (
tag_elp(cur_id+npart)/=0)
THEN
1396 new_id = coresp(cur_id)
1399 ELSEIF (igrslin(i
THEN
1401 IF (
tag_elr(cur_id+npart)/=0)
THEN
1402 new_id = coresr(cur_id)
1405 ELSEIF (igrslin(i)%ELTYP(j)==7)
THEN
1411 ELSEIF (igrslin(i)%ELTYP(j)==0)
THEN
1415 cur_id = igrslin(i)%NODES(j,k)
1416 IF (
tagno(cur_id+npart)>=0) nb_nod_sub=nb_nod_sub
1418 IF (nb_nod_sub==2) tag = 8
1424 cur_id = igrslin(i)%NODES(j,k)
1425 igrslin(i)%NODES(nseg,k) = coresn(cur_id)
1427 igrslin(i)%ELTYP(nseg) = igrslin(i)%ELTYP(j)
1428 igrslin(i)%ELEM(nseg) = new_id
1432 igrslin(i)%NSEG = nseg
1443 DO j=1,igrnod(i)%NENTITY
1444 cur_id = igrnod(i)%ENTITY(j)
1445 IF (
tagno(cur_id+npart) >= 0)
THEN
1447 igrnod(i)%ENTITY(compt) = coresn(cur_id)
1449 IF (
tagno(cur_id+npart)>1) ccpl=ccpl+1
1451 igrnod(i)%R2R_ALL = igrnod(i)%NENTITY
1452 igrnod(i)%R2R_SHARE = ccpl
1453 igrnod(i)%NENTITY = compt
1460 ALLOCATE(tagno_temp(2*numnod_old+npart))
1461 DO j=1,npart+2*numnod_old
1462 tagno_temp(j)=
tagno(j)
1466 ALLOCATE(
tagno(2*numnod+npart))
1468 tagno(j)=tagno_temp(j)
1472 IF (tagno_temp(j+npart)>=0)
THEN
1474 tagno(compt+npart)=tagno_temp(j+npart)
1475 tagno(compt+npart+numnod)=tagno_temp(j+npart+numnod_old)
1485 2 igrbric ,igrquad ,igrsh4n ,igrsh3n ,igrtruss,
1486 3 igrbeam ,igrspring ,igrnod, lsubmodel ,seatbelt_shell_to_spring,
1487 4 nb_seatbelt_shells)
1495 IF ((
taggau(i)>0).AND.(numels>0))
THEN
1498 ELSEIF ((
taggau(i)<0).AND.(numsph>0))
THEN
1513 nrbody_old =
SIZE(
tagrby)
1514 ALLOCATE(rby_msn_temp(2,nrbody_old))
1516 rby_msn_temp(1,i) = rby_msn(1,i)
1517 rby_msn_temp(2,i) = rby_msn(2,i)
1528 rby_msn(1,nrb) = rby_msn_temp(1,i)
1529 rby_msn(2,nrb) = coresn(rby_msn_temp(2,i))
1537 DEALLOCATE(coresc,coresn,corestg,corest)
1538 DEALLOCATE(corespro,coresr,coresp,coress)
1539 DEALLOCATE(coresq,eani_temp,tagno_temp)