47 . ISKN ,IKINE ,IDDLEVEL,NOM_OPT ,ITAGND,
64#include "implicit_f.inc"
80 INTEGER IRBE2(NRBE2L,*), LRBE2(*), ITAB(*),ITABM1(*),
82 . ikine(*),iddlevel,itagnd(*),icdns10(*)
83 INTEGER NOM_OPT(LNOPT1,*)
85 TYPE (GROUP_) ,
DIMENSION(NGRNOD) :: IGRNOD
86 TYPE(SUBMODEL_DATA),
INTENT(IN)::LSUBMODEL(*)
90 INTEGER I, N, K, NSL, NSLT, ITYP, NUSER, NM,M, NI,
91 . ISK, ISENS, INGU, IGM, J, P,IAD,NS,NN,J6(6),JJ,II,
92 . ic,ic1,ic2,irot,isks,iads,ierr1,nc,
id,idir,
93 . ikine1(3*numnod),irad,nrb,icp,ier,nmove,sub_index
94 INTEGER,
DIMENSION(NUMNOD) :: ITAGM,ITAGIC
95 CHARACTER(LEN=NCHARTITLE) :: TITR
96 CHARACTER(LEN=NCHARKEY) :: KEY
102 INTEGER USR2SYS,NODGRNR6
103 INTEGER FMAIN(PARASIZ)
107 DATA mess/
'RBE2 RIGID BODY '/
122 IF (ipri<5)
WRITE(iout,1201)
143 . option_titr = titr)
146 CALL fretitl(titr,nom_opt(lnopt1-ltitr+1,i),ltitr)
149 CALL hm_get_intv(
'independentnode',nm,is_available,lsubmodel)
150 CALL hm_get_intv(
'VX',j6(1),is_available,lsubmodel)
151 CALL hm_get_intv(
'VY',j6(2),is_available,lsubmodel)
152 CALL hm_get_intv('vz
',J6(3),IS_AVAILABLE,LSUBMODEL)
153 CALL HM_GET_INTV('wx
',J6(4),IS_AVAILABLE,LSUBMODEL)
154 CALL HM_GET_INTV('wy
',J6(5),IS_AVAILABLE,LSUBMODEL)
155 CALL HM_GET_INTV('wz
',J6(6),IS_AVAILABLE,LSUBMODEL)
156 CALL HM_GET_INTV('skew_csid
',ISK,IS_AVAILABLE,LSUBMODEL)
157 CALL HM_GET_INTV('dependentnodeset
',INGU,IS_AVAILABLE,LSUBMODEL)
158 CALL HM_GET_INTV('iflag
',IRAD,IS_AVAILABLE,LSUBMODEL)
160.and.
IF (ISK == 0 SUB_INDEX > 0) ISK = LSUBMODEL(SUB_INDEX)%SKEW
162 M = USR2SYS(NM,ITABM1,MESS,NUSER)
163 IC1=J6(1)*4 +J6(2)*2 +J6(3)
164 IC2=J6(4)*4 +J6(5)*2 +J6(6)
166 IF (IC==0) IC =7*512+7*64
171 NS = NODGRNR6(M ,INGU ,IGM ,LRBE2(IAD+1),IGRNOD,
176 IF (ITAGND(M)/=0) THEN
177 CALL ANCMSG(MSGID=1211,
187 IF ((J6(1)+J6(2)+J6(3)+J6(4)+J6(5)+J6(6))==0) THEN
196 DO JJ=0,NUMSKW+MIN(1,NSPCOND)*NUMSPH+NSUBMOD
197 IF(ISK==ISKN(4,JJ+1)) THEN
202 CALL ANCMSG(MSGID=184,
214 IF (IDDLEVEL == 0) THEN
218 . CALL KINSET(2048,ITAB(LRBE2(J+K)),IKINE(LRBE2(J+K)),IDIR,ISK,
219 . IKINE1(LRBE2(J+K)))
226 WRITE(IOUT,1100) NUSER,NM,J6,ISK,NS,IRAD
228 WRITE(IOUT,1200) NUSER,NM,J6,ISK,NS,IRAD
244 IF (ITAGM(NS)==0) THEN
246 ELSEIF (ITAGM(NS)/=M) THEN
249 ITAGIC(NS) = ITAGIC(NS) + IC
258 CALL RBE2MODIF_ND(NSL,LRBE2(IAD+1),ITAGND,ICDNS10,NUSER,ITAB,
260 IF (IRBE2(5,I)>NSL) THEN
261 NMOVE = NMOVE+IRBE2(5,I)-NSL
266 CALL ANCMSG(MSGID=1729,
268 . ANMODE=ANINFO_BLIND_1,
273 IF (IDDLEVEL > 0) THEN
278.AND.
IF (NSPMD > 1NS>0) THEN
282 IF (NLOCAL(LRBE2(IAD+J),P)/=0)THEN
291 IF (FMAIN(P)==1) THEN
297 END IF !(IDDLEVEL > 0) THEN
302 .' rigid element(rbe2)
'/
303 . ' ----------------------
')
304 1100 FORMAT(/10X,'number . . . . . . . . . . .
',I10,/,
305 . /10X,'independent node number . .
',I10,
306 . /10X,'dof( x,y,z, xx,yy,zz). . . .
',3I1,2X,3I1
307 . /10X,'skew number . . . . . . . . .
',I10,
308 . /10X,'number of dependent nodes. . .',i10,
309 . /10x,
'FORMULATION FLAG . . . . . . ',i10,//)
310 1201
FORMAT(
' RBE2_ID IND._NODE REF_DOF SKEW_ID #SECONDARY IFLAG'/)
311 1200
FORMAT(3x,2i10,3x,3i1,1x
723 SUBROUTINE inirbe2(IRBE2 ,LRBE2 ,ITAB ,X ,MS ,
724 . IN ,STIFN ,STIFR ,TOTMAS,XGT ,
725 . YGT ,ZGT ,B1 ,B2 ,B3 ,
726 . B5 ,B6 ,B9 ,NOM_OPT,ITAGND )
732#include "implicit_f.inc"
736#include "scr17_c.inc"
737#include "com01_c.inc"
738#include "com04_c.inc"
739#include "units_c.inc"
740#include "param_c.inc"
741#include "scr03_c.inc"
745 INTEGER IRBE2(NRBE2L,*), LRBE2(*),ITAB(*),ITAGND(*)
747 . X(3,*),MS(*),IN(*),STIFN(*) ,STIFR(*),TOTMAS,
748 . B1, B2, B3, B5, B6, B9,XGT ,YGT ,ZGT
749 INTEGER NOM_OPT(LNOPT1,*)
753 INTEGER I, J ,N, K, NSL,M, NC,NS,ICT,ICR,IC,IAD,ID,J6(6),IRAD
755 my_real xx, xy, xz, yy, yz, zz,ixx,iyy,izz,dd,masrb,inrb,ins,ins0
756 CHARACTER(LEN=NCHARTITLE) :: TITR
759 CALL reorbe2(irbe2 ,lrbe2 ,nc )
767 ELSEIF(nhrbe2>0)
THEN
768 WRITE(iout,1200) nhrbe2
776 icr=(ic-512*(ict))/64
822 WRITE(iout,1100) irbe2(2,i),irbe2(9,i),m,j6,irbe2(7,i),nsl
830 nom_opt(1,i) = irbe2(2,i)
840 IF (itagnd(ns)/=0) cycle
842 stifn(m)= stifn(m)+stifn(ns)
848 stifn(m)= stifn(m)+stifn(ns
852 icr=(ic-512*(ict))/64
853 IF (iroddl==0) icr =0
854 IF (icr>0.OR.irad==0)
THEN
859 stifr(m)= stifr(m)+stifr(ns)
867 xx=(x(1,ns)-x(1,m))*(x(1,ns)-x(1,m))
868 yy=(x(2,ns)-x(2,m))*(x(2,ns)
869 zz=(x(3,ns)-x(3,m))*(x(3,ns)-x(3,m))
873 ins = (ixx+iyy+izz)*ms(ns)
875 IF (ict==7) inrb = inrb+ins
877 stifr(m)= stifr(m)+dd*stifn(ns)
882 xx=(x(1,ns)-x(1,m))*(x(1,ns)-x(1,m))
883 yy=(x(2,ns)-x(2,m))*(x(2,ns)-x(2,m))
884 zz=(x(3,ns)-x(3,m))*(x(3,ns)-x(3,m))
888 ins = (ixx+iyy+izz)*ms(ns)
890 IF (ict==7) inrb = inrb+ins
892 stifr(m)= stifr(m)+dd*stifn(ns)
910 xx=(x(1,ns))*(x(1,ns))
911 xy=(x(1,ns))*(x(2,ns))
912 xz=(x(1,ns))*(x(3,ns))
913 yy=(x(2,ns))*(x(2,ns))
914 yz=(x(2,ns))*(x(3,ns))
915 zz=(x(3,ns))*(x(3,ns))
916 b1 = b1 -(yy+zz)*ms(ns)
919 b5 = b5 -(zz+xx)*ms(ns)
921 b9 = b9 - (xx+yy)*ms(ns)
922 xgt = xgt - ms(ns)*x(1,ns)
923 ygt = ygt - ms(ns)*x(2,ns)
924 zgt = zgt - ms(ns)*x(3,ns)
927 icr=(ic-512*(ict))/64
928 IF (icr==7.AND.iroddl>0)
THEN
939 totmas = totmas - masrb
945 . nom_opt(lnopt1-ltitr+1,i),ltitr)
948 IF(ms(m)<=1.0e-25)
THEN
951 . anmode=aninfo_blind_1,
959 WRITE(iout,1600) irbe2(2,i),itab(irbe2(3,i)),ms(m)
961 WRITE(iout,1400) irbe2(2,i),itab(irbe2(3,i)),ms(m),in(m)
968 .
' RIGID ELEMENT(RBE2) WITH HIERARCHY LEVEL AFTER REORDERING:'/
969 .
' --------------------------------------------------------- ')
970 1100
FORMAT(/10x,
'NUMBER . . . . . . . . . . .',i10,/,
971 . /10x,
'HIERARCHY LEVEL. . . . . . ',i10,
972 . /10x,
'INDEPENDENT NODE NUMBER. . .',i10,
973 . /10x,
'DOF ( X,Y,Z, XX,YY,ZZ). . . . ',3i1,2x,3i1
974 . /10x,
'SKEW NUMBER (LOCAL) . . . . .',i10,
975 . /10x,
'NUMBER OF DEPENDENT NODES . .',i10,//)
976 1200
FORMAT(/10x,
'RBE2 HIERARCHY LEVEL . . . . =',i5,2x,//)
978 .
' RIGID ELEMENT(RBE2) INDEPENDENT NODE MASSES AND INERTIA (NEW):'/
979 . ' -----------------------
')
980 1400 FORMAT(/10X,'number . . . . . . . . . . .
',I10,/,
981 . /10X,'independent node number. . .
',I10,
982 . /10X,'new mass. . . . . . . . . . .
',1PG20.13,
983 . /10X,'new spheric inertia. . . . .
',1PG20.13,//)
984 1600 FORMAT(/10X,'number . . . . . . . . . . .
',I10,/,
985 . /10X,'independent node number. . .
',I10,
986 . /10X,'new mass. . . . . . . . . . .
',1PG20.13,//)
subroutine initia(iparg, elbuf, ms, in, v, x, ixs, ixq, ixc, ixt, ixp, ixr, detonators, geo, pm, rby, npby, lpby, npc, npts, pld, veul, ale_connectivity, skew, fill, ipart, itab, sensors, skvol, ixtg, thk, nloc_dmg, group_param_tab, glob_therm, igrnod, igrsurf, bufsf, vr, bufmat, xlas, las, dtelem, mss, msq, msc, mst, msp, msr, mstg, ptg, inc, nod2eltg, knod2eltg, inp, inr, intg, index, itri, kxx, ixx, xelemwa, iwa, nod2elq, knod2elq, nod2els, knod2els, kxsp, ixsp, nod2sp, ispcond, icode, iskew, iskn, ispsym, xframe, isptag, spbuf, mssx, nsigi, npbyl, lpbyl, rbyl, msnf, mssf, nsigsh, igeo, ipm, nsigs, nsigsph, vns, vnsx, stc, stt, stp, str, sttg, stur, bns, bnsx, volnod, bvolnod, etnod, nshnod, stifint, fxbdep, fxbvit, fxbacc, fxbipm, fxbrpm, fxbelm, fxbsig, fxbmod, ins, ptshel, ptsh3n, ptsol, ptquad, wma, ptsph, fxbnod, mbufel, mdepl, fxani, numel, nsigrs, sh4tree, sh3tree, mcp, temp, imerge2, iadmerge2, slnrbm, nslnrbm, rmstifn, rmstifr, ms_layer, zi_layer, itag, itagel, mcpc, mcptg, xrefc, xreftg, xrefs, mssa, msrt, irbe2, lrbe2, inivol, kvol, nbsubmat, ixs10, ixs16, ixs20, totaddmas, ipmas, stifn, msz2, itagn, sitage, itage, ixr_kj, elbuf_tab, nom_opt, ptr_nopt_rbe2, ptr_nopt_adm, ptr_nopt_fun, sol2sph, irst, sh3trim, xfem_tab, kxig3d, ixig3d, msig3d, knot, nctrlmax, wige, stack, rnoise, drape, sh4ang, sh3ang, geo_stack, igeo_stack, stifintr, strc, strp, strr, strtg, perturb, itagnd, nativ_sms, iloadp, facload, ptspri, nsigbeam, ptbeam, nsigtruss, pttruss, multi_fvm, sigi, sigsh, sigsp, sigsph, sigrs, sigbeam, sigtruss, strsglob, straglob, orthoglob, isigsh, iyldini, ksigsh3, fail_ini, iusolyld, iuser, iddlevel, inimap1d, inimap2d, func2d, fvm_inivel, tagprt_sms, igrbric, igrquad, igrsh4n, igrsh3n, igrpart, totmas, knotlocpc, knotlocel, vnige, bnige, fxbglm, fxbcpm, fxbcps, fxblm, fxbfls, fxbdls, fxb_matrix, fxb_matrix_add, fxb_last_adress, ptr_nopt_fxb, r_skew, knod2el1d, nod2el1d, ebcs_tab, rby_iniaxis, alea, knod2elc, nod2elc, dr, slrbody, drapeg, ipari, intbuf_tab, interfaces, mat_param, npreload_a, preload_a, fail_fractal, fail_brokmann, defaults, ndamp_freq_range, dampr, ibeam_vector, rbeam_vector, ikine)