55 2 IPARTC,IPARTG,IPARTT,IPARTP,IPARTR,IPARTSP,COMPT_T2,
56 3 MODIF,PASSE,INOM_OPT,NSPCONDN,NSPHION,IPART_L,MEMTR,
57 4 PM_STACK ,IWORKSH ,IGRNOD ,IGRSURF ,IGRSLIN ,
58 5 IGRBRIC ,IGRQUAD ,IGRSH4N ,IGRSH3N ,IGRTRUSS,
59 6 IGRBEAM ,IGRSPRING ,NEW_NSLASH_INT,LSUBMODEL,NEW_HM_NINTER,
60 7 NEW_NINTSUB,NEW_NINIVOL,IXS10,IXS20,IXS16,
61 8 DETONATORS,SEATBELT_SHELL_TO_SPRING,NB_SEATBELT_SHELLS,
76 USE reader_old_mod ,
ONLY : kinter, kcur, line, nslash
77 use element_mod ,
only : nixc
81#include "implicit_f.inc"
97 INTEGER IPARTS(*),IPARTC(*),IPARTG(*),IPARTT(*),IPARTP(*),
98 . IPARTR(*),COMPT_T2,MODIF,PASSE,INOM_OPT(*),IPARTSP(*),NSPCONDN,
99 . NSPHION,IPART_L(LIPART1,*),MEMTR(*),IWORKSH(*),NEW_NSLASH_INT,NEW_HM_NINTER,NEW_NINTSUB,
100 . NEW_NINIVOL,IXS10(*), IXS16(*), IXS20(*)
101 INTEGER ,
INTENT(IN) :: NB_SEATBELT_SHELLS
102 INTEGER ,
INTENT(IN) :: SEATBELT_SHELL_TO_SPRING(NUMELC,2)
103 INTEGER ,
INTENT(IN) :: NEBCS
104 INTEGER ,
INTENT(INOUT) :: NEW_NEBCS
108 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
109 TYPE (SURF_) ,
DIMENSION(NSURF) :: IGRSURF
110 TYPE (SURF_) ,
DIMENSION(NSLIN) :: IGRSLIN
111 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
112 TYPE (GROUP_) ,
DIMENSION(NGRQUAD) :: IGRQUAD
113 TYPE (GROUP_) ,
DIMENSION(NGRSHEL) :: IGRSH4N
114 TYPE (GROUP_) ,
DIMENSION(NGRSH3N) :: IGRSH3N
115 TYPE (GROUP_) ,
DIMENSION(NGRTRUS) :: IGRTRUSS
116 TYPE (GROUP_) ,
DIMENSION(NGRBEAM) :: IGRBEAM
117 TYPE (GROUP_) ,
DIMENSION(NGRSPRI) :: IGRSPRING
126 INTEGER I,J,L,NI,GRM,GRS,IGU,MAIN,NUL,NOD,ISK,NRB
127 INTEGER GR_ID,COMPT,TAG,IAD,CUR_ID,NB_RBY
128 INTEGER NB_KIN,NB_LAG,N1,N2,ID_RBY,DOMA,ISTER
129 INTEGER ID_CYL,CCPL,DIFF,D1,D2,G1,G2,GX,,JOE,JIE
130 INTEGER COMPT_M,COMPT_S,CUR_TYP,SUM,CONT,K,TYPE2
131 INTEGER NB_INT,ID_INTER,LNM,LNS,L1,L2,ISENS,VAL,WARN
132 INTEGER ID_RLINK,NUL50(50),ID_RBE3,ID_RBE2,ID_JOIN
133 INTEGER NU(4),NS(4),JREC,ID_MPC,ISUR,ISURS,ID_MON,FLG
134 INTEGER COMPT2,IGR9_TEMP,IGR8_TEMP,IGR2_TEMP,ID,ID_PART,IDS
135 INTEGER SPTFL,BID(LNOPT1),IUD,IGRPP_R2R(2,NGRNOD),FLAG_T24T25
136 INTEGER SUB_ID,IDTITL,IDINT,GR_BRIC,NUMC
137 INTEGER NTRANS,NNODE_TRANSFORM,NODE_TRANSFORM(6)
141 CHARACTER MESS*40,TSENS*40
142 CHARACTER(LEN=NCHARTITLE) :: TITR
143 CHARACTER(LEN=NCHARKEY) :: KEY,KEY2
144 CHARACTER(LEN=NCHARFIELD) :: STRING
145 INTEGER,
DIMENSION(:),
ALLOCATABLE :: BUF_TEMP
146 DATA mess/
'MULTIDOMAIN PREREADING OF OPTIONS'/
147 LOGICAL :: IS_AVAILABLE
155 . ipartc,ipartg,igrpp_r2r ,pm_stack , iworksh,
156 . igrnod,igrsurf,igrslin,igrbric,ixs10,
169 . msgtype=msgwarning,
170 . anmode=aninfo_blind_1,
179 . msgtype=msgwarning,
199 2 igrbric ,igrquad ,igrsh4n ,igrsh3n ,igrtruss,
200 3 igrbeam ,igrspring ,igrnod, lsubmodel , seatbelt_shell_to_spring,
201 4 nb_seatbelt_shells)
209 CALL hm_get_intv(
'nodeid', nod, is_available, lsubmodel)
210 CALL hm_get_intv(
'skewid', isk, is_available, lsubmodel)
212 nod = usr2sys(nod,
itabm1, mess, id)
224 . option_titr = titr,
227 IF (key(1:3)/=
'MAT')
THEN
228 CALL hm_get_intv(
'node1',n1,is_available,lsubmodel)
229 CALL hm_get_intv(
'node2',n2,is_available,lsubmodel)
231 n1=usr2sys(n1,
itabm1,mess,ni)
235 n2=usr2sys(n2,
itabm1,mess,ni)
250 . option_id = isens, keyword2 = key )
251 IF (key(1
'DIST'.OR. key(1:5) ==
'TYPE2')
THEN
252 CALL hm_get_intv (
'N1' ,n1 ,is_available,lsubmodel)
253 CALL hm_get_intv (
'N2' ,n2 ,is_available,lsubmodel)
254 n1 = usr2sys(n1,
itabm1,mess,ni)
256 n2 = usr2sys(n2,
itabm1,mess,ni)
258 ELSEIF (key(1:5) ==
'INTER'.OR.key(1:5) ==
'TYPE6')
THEN
259 CALL ancmsg(msgid=835, msgtype=msgerror, anmode=aninfo,
260 . c1=
"/SENSOR/INTER")
261 ELSEIF (key(1:4) ==
'RWAL'.OR.key(1:5) ==
'TYPE7')
THEN
262 CALL ancmsg(msgid=835, msgtype=msgerror, anmode=aninfo,
263 . c1=
"/SENSOR/RWALL")
264 ELSEIF (key(1:3) ==
'VEL' .OR. key(1:5) ==
'TYPE9')
THEN
268 ELSEIF (key(1:4) /=
'SENS'.AND.key(1:5)/=
'TYPE3'
269 . .AND.key(1:3)/=
'AND'.AND.key(1:5)/=
'TYPE4'
270 . .AND.key(1:2)/=
'OR'.AND.key(1:5)/=
'TYPE5'
271 . .AND.key(1:3)/=
'NOT'.AND.key(1:5)/=
'TYPE8'
272 . .AND.key(1:4)/=
'TIME'.AND.key(1:5)/=
'TYPE0'
273 . .AND.key(1:4)/=
'ACCE'.AND.key(1:5)/=
'TYPE1')
THEN
274 tsens =
'/SENSOR/'//key(1:5)
275 CALL ancmsg(msgid=835, msgtype=msgerror, anmode=aninfo,
296 IF (key(1:3) ==
'SPH') cycle
300 CALL hm_get_intv (
'NODE1' ,nod ,is_available,lsubmodel)
301 CALL hm_get_intv (
'shell_ID' ,ids ,is_available,lsubmodel)
302 IF ((nod== 0).AND.(ids /= 0))
THEN
306 IF(
ixc(nixc*j)==ids)
THEN
311 IF (
tag_elc(ids+npart) < 1)
THEN
316 nod=usr2sys(nod,
itabm1,mess,id)
330 IF (key(1:3) ==
'SPH')
THEN
334 CALL hm_get_intv (
'NODE1' ,nod ,is_available,lsubmodel)
335 CALL hm_get_intv (
'shell_ID' ,ids ,is_available,lsubmodel)
336 IF ((nod== 0).AND.(ids /= 0))
THEN
340 IF(
ixc(nixc*j)==ids)
THEN
345 IF (
tag_elc(ids+npart) < 1)
THEN
348 ELSEIF ((nod/=0).AND.(ids==0))
THEN
350 nod=usr2sys(nod,
itabm1,mess,id)
360 ALLOCATE(
tagmon(nmonvol + nvolu))
373 . option_id = id_mon,
376 IF (key(1:7) ==
'AIRBAG1')
THEN
377 CALL hm_get_intv(
'surf_IDex', isur, is_available, lsubmodel)
378 ELSEIF ((key(1:4) ==
'PRES').OR.(key(1:6) ==
'AIRBAG'))
THEN
379 CALL hm_get_intv(
'entityiddisplayed', isur, is_available, lsubmodel)
381 CALL hm_get_intv(
'surf_IDex', isur, is_available, lsubmodel)
386 IF(isur==igrsurf(j)%ID) isurs=j
389 IF (isurs==0)
GOTO 139
391 IF (igrsurf(isurs)%NSEG>0)
THEN
392 IF (
isurf_r2r(3,isurs)==igrsurf(isurs)%NSEG)
THEN
421 IF (passe==0)
ALLOCATE
427 . option_id = id_cyl)
428 CALL hm_get_intv(
'independentnode',n1,is_available,lsubmodel)
429 CALL hm_get_intv(
'dependentnodes',n2,is_available,lsubmodel)
430 CALL hm_get_intv(
'dependentnodeset',igu,is_available,lsubmodel)
434 IF (igrnod(j)%ID==igu) gr_id = j
436 n1=usr2sys(n1,
itabm1,mess,id_cyl)
437 n2=usr2sys(n2,
itabm1,mess,id_cyl)
444 igr2_temp = igrnod(gr_id)%NENTITY
445 igr8_temp = igrnod(gr_id)%R2R_ALL
446 igr9_temp = igrnod(gr_id)%R2R_SHARE
449 IF (
tagno(n1+npart)>1) igr9_temp=igr9_temp+1
450 IF (
tagno(n2+npart)>1) igr9_temp=igr9_temp+1
451 IF (
tagno(n1+npart)>0) igr8_temp=igr8_temp+1
452 IF (
tagno(n2+npart)>0) igr8_temp=igr8_temp+1
453 IF (
tagno(n1+npart)/=0) igr2_temp=igr2_temp+1
454 IF (
tagno(n2+npart)/=0) igr2_temp=igr2_temp+1
456 IF (igr8_temp>0)
THEN
457 diff = igr2_temp-igr8_temp
458 IF ((igr9_temp>0).OR.(diff/=0))
THEN
461 DO j=1,igrnod(gr_id)%NENTITY
462 cur_id = igrnod(gr_id)%ENTITY(j)
463 IF (
tagno(cur_id+npart)<3)
THEN
468 IF (
tagno(n1+npart)<3)
THEN
471 IF (
tagno(n2+npart)<3)
THEN
490 IF (passe==0)
ALLOCATE(
tagmpc(nummpc))
498 . option_id = id_mpc,
499 . option_titr = titr)
500 CALL hm_get_intv(
'number_of_nodes',numc,is_available,lsubmodel)
503 n2 = usr2sys(n1,
itabm1,mess,id_mpc)
504 IF (
tagno(n2+npart)>=0) compt_m=compt_m+1
505 IF (
tagno(n2+npart)>1) compt_s=compt_s+1
506 IF (
tagno(n2+npart)<=0) compt_s=compt_s+1
532 IF (passe==0)
ALLOCATE(
tagjoin(ngjoint))
541 . option_id = id_join,
542 . option_titr = titr,
545 CALL hm_get_intv(
'node_ID0',nu(1),is_available,lsubmodel)
546 CALL hm_get_intv(
'node_ID1',nu(2),is_available,lsubmodel)
547 CALL hm_get_intv(
'node_ID2',nu(3),is_available,lsubmodel)
548 CALL hm_get_intv(
'node_ID3',nu(4),is_available,lsubmodel)
551 IF(key2(1:4)==
'DIFF') val = 4
554 ns(j) = usr2sys(nu(j),
itabm1,mess,id_join)
555 IF (
tagno(ns(j)+npart)>=0) compt_m=compt_m+1
556 IF (
tagno(ns(j)+npart)>1) compt_s=compt_s+1
557 IF (
tagno(ns(j)+npart)<=0) compt_s=compt_s+1
583 IF (passe==0)
ALLOCATE(
tagrb2(nrbe2))
591 . option_id = id_rbe2,
592 . option_titr = titr)
594 CALL hm_get_intv(
'independentnode',n1,is_available,lsubmodel)
595 CALL hm_get_intv(
'dependentnodeset',igu,is_available,lsubmodel)
597 n2 = usr2sys(n1,
itabm1,mess,id_rbe2)
600 IF (igrnod(j)%ID==igu) gr_id = j
609 compt_m = igrnod(gr_id)%R2R_ALL
610 compt_s = igrnod(gr_id)%R2R_SHARE
611 IF (
tagno(n2+npart)>=0) compt_m=compt_m+1
612 IF (
tagno(n2+npart)>1) compt_s=compt_s+1
613 IF (
tagno(n2+npart)<=0) compt_s=compt_s+1
638 IF (passe==0)
ALLOCATE(
tagrb3(nrbe3))
647 . option_id = id_rbe3,
648 . option_titr = titr)
649 CALL hm_get_intv('dependentnode
',N1,IS_AVAILABLE,LSUBMODEL)
650 CALL HM_GET_INTV('nset',val,is_available,lsubmodel)
652 ALLOCATE(buf_temp(val))
653 n2 = usr2sys(n1,
itabm1,mess,id_rbe3)
659 IF (igrnod(j)%ID==igu) gr_id = j
662 compt_m = compt_m + igrnod(gr_id)%R2R_ALL
663 compt_s = compt_s + igrnod(gr_id)%R2R_SHARE
666 IF (
tagno(n2+npart)>=0) compt_m=compt_m+1
667 IF (
tagno(n2+npart)>1) compt_s=compt_s+1
668 IF (
tagno(n2+npart)<=0) compt_s=compt_s+1
678 IF (
tagno(npart+n2)/=-1)
THEN
685 DO j=1,igrnod(gr_id)%NENTITY
686 cur_id = igrnod(gr_id)%ENTITY(j)
687 IF (
tagno(cur_id+npart)<3)
THEN
703 IF (passe==0)
ALLOCATE(
taglnk(nlink))
710 . option_id = id_rlink,
711 . option_titr = titr)
712 CALL hm_get_intv(
'dependentnodeset' ,igu ,is_available,lsubmodel)
716 IF (igrnod(j)%ID==igu) gr_id = j
722 nod=igrnod(gr_id)%R2R_ALL
723 IF (igrnod(gr_id)%R2R_SHARE==0) tag = 1
730 DO j=1,igrnod(gr_id)%NENTITY
731 cur_id = igrnod(gr_id)%ENTITY(j)
732 IF (
tagno(cur_id+npart)<3)
THEN
778 . option_id = id_inter,
780 . submodel_id = sub_id,
781 . option_titr = titr,
790 IF (key(6:6)==
'/') flg = 1
791 IF ((len_trim(key))==5) flg = 1
795 IF ((key(1:6)==
'TYPE24').OR.(key(1:6)==
'TYPE25'))
THEN
797 CALL hm_get_intv(
'secondaryentityids',grs,is_available,lsubmodel)
798 CALL hm_get_intv(
'GRNOD_ID',grnod_t24t25,is_available,lsubmodel)
800 IF ((grs > 0).AND.(grnod_t24t25 > 0)) grnod_t24t25 = 0
804 IF (((key(1:5)==
'TYPE2').AND.(flg==1)).OR.
805 . (key(1:5)==
'TYPE7').OR.(key(1:5)==
'TYPE5').OR.(key(1:5)==
'TYPE8').OR.
806 . (key(1:6)==
'TYPE10').OR.(key(1:6)==
'TYPE14').OR.
807 . ((key(1:6)==
'TYPE24').AND.(grnod_t24t25 > 0)).OR.
808 . ((key(1:6)==
'TYPE25').AND.(grnod_t24t25 > 0)))
THEN
810 CALL hm_get_intv(
'secondaryentityids',grs,is_available,lsubmodel)
811 CALL hm_get_intv(
'mainentityids',grm,is_available,lsubmodel)
814 IF (flag_t24t25 == 1) grs = grnod_t24t25
817 IF ((key(1:5)==
'TYPE2').AND.(flg==1))
THEN
818 CALL hm_get_intv(
'WFLAG',sptfl,is_available,lsubmodel)
819 IF ((sptfl/=25).AND.(sptfl/=26))
THEN
827 . type2,val,tag,i,compt,passe,0,igrpp_r2r,
828 . igrnod ,igrsurf ,igrslin, igrbric)
832 DO j=1,igrnod(g1)%NENTITY
833 cur_id = igrnod(g1)%ENTITY(j)
834 IF (
tagno(cur_id+npart)==2) flg_tied(4) = 1
835 IF (
tagno(cur_id+npart)==4) flg_tied(5) = 1
840 compt_t2 = compt_t2 + 1
842 IF ((tag==3).OR.(tag==1).OR.(tag==4))
THEN
844 . ipartc,ipartg,ipartsp,val,cont,modif,memtr,0,0,eani,
845 . igrsurf(g2),igrnod,g2)
848 IF ((tag==2).OR.(tag==1))
THEN
850 . ipartc,ipartg,ipartsp,val,cont,modif,memtr,0,1,eani,
856 ELSEIF (key(1:6) ==
'TYPE18')
THEN
858 CALL hm_get_intv(
'ALEelemsEntityids',gr_bric,is_available,lsubmodel)
859 CALL hm_get_intv(
'ALEnodesEntityids',grs,is_available,lsubmodel)
860 CALL hm_get_intv(
'mainentityids',grm,is_available,lsubmodel)
865 . type2,val,tag,i,compt,passe,0,igrpp_r2r,
866 . igrnod ,igrsurf ,igrslin, igrbric)
867 ELSEIF (gr_bric > 0)
THEN
869 . type2,val,tag,i,compt,passe,3,igrpp_r2r,
870 . igrnod ,igrsurf ,igrslin, igrbric)
874 compt_t2 = compt_t2 + 1
876 IF ((tag == 3) .OR. (tag == 1) .OR. (tag == 4))
THEN
878 . ipartc,ipartg,ipartsp,val,cont,modif,memtr,0,0,eani,
879 . igrsurf(g2),igrnod,g2)
882 IF ((tag == 2) .OR. (tag == 1))
THEN
885 . ipartc,ipartg,ipartsp,val,cont,modif,memtr,0,1,eani,
887 ELSEIF (gr_bric > 0)
THEN
888 DO j=1,igrbric(g1)%NENTITY
889 cur_id = igrbric(g1)%ENTITY(j)
891 IF ((
tag_els(cur_id+npart)<(1+cont)).AND.(
tagno(iparts(cur_id))/=val))
THEN
899 ELSEIF (key(1:6)==
'TYPE11')
THEN
902 CALL hm_get_intv(
'secondaryentityids',grs,is_available,lsubmodel)
903 CALL hm_get_intv(
'mainentityids',grm,is_available,lsubmodel)
906 . type2,val,tag,i,compt,passe,2,igrpp_r2r,
907 . igrnod ,igrsurf ,igrslin, igrbric)
909 compt_t2 = compt_t2 + 1
911 IF ((tag==2).OR.(tag==1))
THEN
913 . iparts,ipartc,ipartg,ipartt,ipartp,ipartr,val,cont,
914 . modif,warn,igrslin(g1))
917 IF ((tag==3).OR.(tag==1))
THEN
920 . modif,warn,igrslin(g2))
929 ELSEIF (key(1:6)==
'TYPE24'.OR.key(1:6)==
'TYPE21'.OR.key(1:5)==
'TYPE6'.OR.
930 . key(1:6)==
'TYPE23'.OR.key(1:6)==
'TYPE20'.OR.key(1:6)==
'TYPE15'.OR.
931 . key(1:6)==
'TYPE25'.OR.((key(1:5)==
'TYPE3').AND.(flg==1)))
THEN
933 CALL hm_get_intv(
'secondaryentityids',grs,is_available,lsubmodel)
934 CALL hm_get_intv(
'mainentityids',grm,is_available,lsubmodel)
935 IF ((flag_t24t25 == 1).AND.(grm==0)) grm = grs
938 . type2,val,tag,i,compt,passe,1,igrpp_r2r,
939 . igrnod ,igrsurf ,igrslin, igrbric)
941 compt_t2 = compt_t2 + 1
943 IF ((tag==2).OR.(tag==1))
THEN
945 . ipartc,ipartg,ipartsp,val,cont,modif,memtr,0,0,eani,
946 . igrsurf(g1),igrnod,g1)
949 IF ((tag==3).OR.(tag==1))
THEN
951 . ipartc,ipartg,ipartsp,val,cont,modif,memtr,0,0,eani,
952 . igrsurf(g2),igrnod,g2)
957 ELSEIF (key(1:3)/=
'SUB')
THEN
967 new_hm_ninter = compt
981 . option_id = id_inter,
983 . submodel_id = sub_id,
984 . option_titr = titr,
988 IF (key(1:3)==
'SUB')
THEN
989 CALL hm_get_intv(
'InterfaceId',idint,is_available,lsubmodel)
991 DO j=1,hm_ninter+nslash(kcur)
992 IF (
tagint(j)==idint)
THEN
1003 new_hm_ninter = new_hm_ninter + compt
1013 IF (passe==0)
ALLOCATE(
tagrby(nrbody))
1028 . option_id = id_rby,
1030 . option_titr = titr)
1032 IF(key(1:6)==
'LAGMUL') cycle
1036 CALL hm_get_intv(
'node_ID',main,is_available,lsubmodel)
1037 CALL hm_get_intv(
'sens_ID',isens,is_available,lsubmodel)
1038 CALL hm_get_intv(
'grnd_ID',igu,is_available,lsubmodel)
1040 main=usr2sys(main,
itabm1,mess,id_rby)
1042 IF (igrnod(j)%ID==igu) gr_id = j
1046 compt=igrnod(gr_id)%R2R_ALL
1047 compt2=igrnod(gr_id)%R2R_SHARE
1049 IF (
tagno(main+npart)>1) compt = compt + 1
1050 IF (
tagno(main+npart)>1) compt2 = compt2 + 1
1051 IF (compt2==0) tag = 1
1059 IF (
tagno(main+npart)<3)
THEN
1065 . c1=
"FOR RBODY ID=",
1067 . c2=
"- RBODY WITH SENSOR")
1090 . option_id = id_rby,
1092 . option_titr = titr)
1094 IF(key(1:6)==
'LAGMUL')
THEN
1102 CALL hm_get_intv(
'node_ID',main,is_available,lsubmodel)
1103 CALL hm_get_intv(
'grnd_ID',igu,is_available,lsubmodel)
1105 main=usr2sys(main,
itabm1,mess,id_rby)
1107 IF (igrnod(j)%ID==igu) gr_id = j
1113 compt=igrnod(gr_id)%R2R_ALL
1114 compt2=igrnod(gr_id)%R2R_SHARE
1116 IF (
tagno(main+npart)>1) compt = compt + 1
1117 IF (
tagno(main+npart)>1) compt2 = compt2 + 1
1118 IF (compt2==0) tag = 1
1128 IF (
tagno(main+npart)<3)
THEN
1149 IF (passe==0)
ALLOCATE(
tagsphbcs(nspcond))
1154 . option_titr = titr,
1156 CALL hm_get_intv(
'entityid',igu,is_available,lsubmodel)
1160 IF (igrnod(j)%ID==igu) gr_id = j
1164 DO l=1,igrnod(gr_id)%NENTITY
1165 cur_id =
nod2sp(igrnod(gr_id)%ENTITY(l))
1166 IF (
tagno(ipartsp(cur_id))/=0)
THEN
1172 nspcondn = nspcondn + 1
1186 . option_titr = titr)
1187 CALL hm_get_intv(
'entityid',isur,is_available,lsubmodel)
1191 IF(isur==igrsurf(j)%ID) isurs=j
1198 new_nebcs = new_nebcs + 1
1208 IF (passe == 0)
ALLOCATE(
tagsphio(nsphio))
1216 . option_titr = titr)
1217 CALL hm_get_intv(
'pid' ,id_part ,is_available,lsubmodel)
1218 CALL hm_get_intv(
'SURF_ID' ,isur ,is_available,lsubmodel)
1221 IF (ipart_l(4,j) == id_part) ids = j
1224 IF (igrsurf(j)%ID == isur) g2 = j
1227 IF (
tagno(ids) /= 0)
THEN
1229 . ipartc,ipartg,ipartsp,1,0,modif,memtr,-2,0,eani,
1230 . igrsurf(g2),igrnod,g2)
1231 nsphion = nsphion + 1
1241 IF (nalelk > 0)
THEN
1245 CALL hm_get_intv(
'node_ID1', n1, is_available, lsubmodel)
1246 CALL hm_get_intv(
'node_ID2', n2, is_available, lsubmodel)
1247 CALL hm_get_intv(
'grnod_ID', gr_id, is_available, lsubmodel)
1249 IF (igrnod(j)%ID == gr_id)
THEN
1255 n2 = usr2sys(n2,
itabm1, mess, id)
1257 IF ((igrnod(gr_id)%R2R_ALL > 0) .AND. (
tagno(npart+n1) < 1))
THEN
1259 ELSEIF ((igrnod(gr_id)%R2R_SHARE > 0) .AND. (
tagno(npart+n1) == 1))
THEN
1261 ELSEIF (
tagno(npart+n1) == 0)
THEN
1263 ELSEIF (
tagno(npart+n1) == -1)
THEN
1268 IF ((igrnod(gr_id)%R2R_ALL > 0) .AND. (
tagno(npart+n2) < 1))
THEN
1270 ELSEIF ((igrnod(gr_id)%R2R_SHARE > 0) .AND. (
tagno(npart+n2) == 1))
THEN
1272 ELSEIF (
tagno(npart+n2) == 0)
THEN
1274 ELSEIF (
tagno(npart+n2) == -1)
THEN
1290 . option_id = id_mon,
1293 IF (key(1:7) ==
'LAGMUL')
THEN
1300 CALL hm_get_intv(
'Node1',nod,is_available,lsubmodel)
1302 nod=usr2sys(nod,
itabm1,mess,id)
1319 CALL hm_get_intv(
'secondarycomponentlist', id_part, is_available, lsubmodel)
1322 IF(ipart_l(4,j)==id_part) ids=j
1325 IF (
tagno(ids) > 0)
THEN
1327 new_ninivol = new_ninivol + 1
1345 node_transform(1:6) = 0
1347 IF ((key(1:3)==
'TRA').OR.(key(1:3)==
'ROT').OR.(key(1:3)==
'SYM'))
THEN
1349 CALL hm_get_intv(
'node1',node_transform(1),is_available,lsubmodel)
1350 CALL hm_get_intv(
'node2',node_transform(2),is_available,lsubmodel)
1351 ELSEIF (key(1:3)==
'SCA')
THEN
1353 CALL hm_get_intv(
'node1',node_transform(1),is_available,lsubmodel)
1354 ELSEIF (key(1:3)==
'POS')
THEN
1356 CALL hm_get_intv(
'node1',node_transform(1),is_available,lsubmodel)
1357 CALL hm_get_intv(
'node2',node_transform(2),is_available,lsubmodel)
1358 CALL hm_get_intv(
'node3',node_transform(3),is_available,lsubmodel)
1359 CALL hm_get_intv(
'node4',node_transform(4),is_available,lsubmodel)
1360 CALL hm_get_intv(
'node5',node_transform(5),is_available,lsubmodel)
1361 CALL hm_get_intv(
'node6',node_transform(6),is_available,lsubmodel)
1364 DO j=1,nnode_transform
1365 IF (node_transform(j) > 0)
THEN
1366 nod=usr2sys(node_transform(j),
itabm1,mess,id)
1377 DO i=1,detonators%N_DET_POINT
1379 CALL hm_get_intv(
'rad_det_node1', nod, is_available, lsubmodel)
1381 nod=usr2sys(nod,
itabm1,mess,id)