/batch *go,:100 /com /com The Evolution of the Modular Coil EM-STRS Analysis, circa March 2005 /com /com Pull in *.db for each coil (one at a time) and write *.cdb file /FILNAME,coil_A_1,0 $/prep7 $RESUME $CDWRITE,ALL,coil_A_1,cdb,,coil_A_1,iges $fini $/clear /FILNAME,coil_B_1,0 $/prep7 $RESUME $CDWRITE,ALL,coil_B_1,cdb,,coil_B_1,iges $fini $/clear /FILNAME,coil_C_1,0 $/prep7 $RESUME $CDWRITE,ALL,coil_C_1,cdb,,coil_C_1,iges $fini $/clear !/filnam, /com Pull in all CoilA/B/C *.cdb files and note offset node number /prep7 CDREAD,DB,coil_A_1,cdb,,, nc1_off=numnode CDREAD,DB,coil_B_1,cdb,,, nc2_off=numnode CDREAD,DB,coil_C_1,cdb,,, nc3_off=numnode /com Make sure there are no imposed BCs fdele,all,all ddele,all,all sfdel,all,all /com /com Make Arrays of Modular Coil Elements and their nodes /com esel,s,type,,1,2 cm,e_coil1,elem esel,s,type,,3,4 cm,e_coil2,elem esel,s,type,,5,6 cm,e_coil3,elem *do,cn,1,3 cmsel,s,e_coil%cn% *get,emn%cn%,elem,,num,min *get,emx%cn%,elem,,num,max *get,ect%cn%,elem,,count *dim,cn%cn%en,,ect%cn%,21 cnt=0 *do,j,emn%cn%,emx%cn% *if,esel(j),ne,1,cycle cnt=cnt+1 cn%cn%en(cnt,1)=j *do,jj,1,20 cn%cn%en(cnt,jj+1)=nelem(j,jj) *enddo *enddo *enddo save fini /com /com Make a *.db with 6 MCs only /com /filnam,onlymodcoil21 /prep7 allsel cpdele,all cmsel,s,e_coil1 cmsel,a,e_coil2 cmsel,a,e_coil3 nsle esel,invert edele,all nsel,invert ndele,all allse *get,nmn,node,,num,min *get,nmx,node,,num,max dn1=nmx-nmn+1 cm,pos_mc,node csys nsym,y,dn1,all cmsel,u,pos_mc nsym,z,,all allsel esym, ,dn1,all emid,remove /com Change the WP element types to SOLID5 et,1,5,1 et,2,5,1 et,3,5,1 et,4,5,1 et,5,5,1 et,6,5,1 /com Ground one end of the MC WPs for +IZ at inner legs (by hand) /com Couple the joint region to the body of the WP VOLTS (by hand) /com Couple VOLT at Start of each WP (by hand) /com Make Components out of MC1,2,3 nodes for current application allsel *get,cpmx,cp,,num,max *do,j,cpmx-11,cpmx nsel,s,cp,,j *get,nmn%j%,node,,num,min *enddo /com Be very careful about which nodes are tied to which lable. /com These are used to apply current to the proper modular coil. nsel,s,node,,nmn252 nsel,a,node,,nmn253 nsel,a,node,,nmn254 nsel,a,node,,nmn255 cm,n_m1,node nsel,s,node,,nmn256 nsel,a,node,,nmn257 nsel,a,node,,nmn258 nsel,a,node,,nmn259 cm,n_m2,node nsel,s,node,,nmn260 nsel,a,node,,nmn261 nsel,a,node,,nmn262 nsel,a,node,,nmn263 cm,n_m3,node /com /com Modular Coil Currents /com cmsel,s,n_m1 $f,all,amps,1 cmsel,s,n_m2 $f,all,amps,1 cmsel,s,n_m3 $f,all,amps,1 /com /com Material Properties /com mpdele,all,all *do,j,1,6 mp,rsvx,j,1 mp,murx,j,1 mp,kxx,j,1 *enddo allsel fini /solu outres,all esel,all nsle d,all,temp d,all,mag solve biot,new solve /eof fini /com Structural Analysis Commands /com /com Couple Adjacent Toroidal Shims when multiple shells are defined individually /com esel,s,type,,7,57,50 ESEL,a,type,,109 nsle cpint,ux,.003 cpint,uy,.003 cpint,uz,.003 /com /com C-C Wing Support (TBD) /com /com /com Glue up split in WP at current application point /com esel,s,mat,,2,7 nsle cpint,ux cpint,uy cpint,uz /com Add a vertical constraint at the bottom ~theta=30 esel,s,type,,1 nsle csys,1 nsel,r,loc,y,29,31 *get,zmn_grnd,node,,mnloc,z nsel,r,loc,z,zmn_grnd *get,n_grnd,node,,num,min d,n_grnd,uz /com Pull in forces /INPUT,cn1lc3_fxyz,out /INPUT,cn2lc3_fxyz,out /INPUT,cn3lc3_fxyz,out /com /com Material Properties /com alpha_struc=0 ! Thermal expansion coefficient of Structure (should be 13e-6 for SS at 85K) /com Shell Structures 1, 2 & 3 mp,murx,1,1 mp, ex,1,(23/0.145)*1e9 *do,j,2,7 mp,ex,j,(9/0.145)*1e9 *enddo /com /com Reflect the shims about Z=0 and numm /com allsel *get,nmx,node,,num,max esel,s,type,,11,12 nsle *get,nmnshms,node,,num,min *get,nmxshms,node,,num,max csys nsym,z,nmx-nmnshms,all esym, ,nmx-nmnshms,all numm,node /com /com Add Bonded Target & Contact Elements between Shims and Shell Flanges /com esel,s,type,,12 nsle csys nsel,r,loc,y,0.006349,0.006351 cm,nshim_th0,node esel,s,type,,1 nsle nsel,r,loc,y,0.006349,0.006351 cm,nshell_th0,node local,11,,,,,60 esel,s,type,,11 nsle nsel,r,loc,y,-0.006351,-0.006349 cm,nshim_th60,node esel,s,type,,1 nsle nsel,r,loc,y,-0.006351,-0.006349 cm,nshell_th60,node /com Use the Contact Wizard from here /COM, CONTACT PAIR CREATION - START CM,_NODECM,NODE CM,_ELEMCM,ELEM CM,_KPCM,KP CM,_LINECM,LINE CM,_AREACM,AREA CM,_VOLUCM,VOLU /GSAV,cwz,gsav,,temp MP,MU,1, MAT,1 MP,EMIS,1,7.88860905221e-031 R,41 REAL,41 ET,41,170 ET,42,174 R,41,,,1.0,0.1,0, RMORE,,,1.0E20,0.0,1.0, RMORE,0.0,0,1.0,,1.0,0.5 RMORE,0,1.0,1.0,0.0,,1.0 KEYOPT,42,4,0 KEYOPT,42,5,0 KEYOPT,42,7,0 KEYOPT,42,8,0 KEYOPT,42,9,1 KEYOPT,42,10,1 KEYOPT,42,11,0 KEYOPT,42,12,5 KEYOPT,42,2,0 KEYOPT,41,5,0 ! Generate the target surface NSEL,S,,,NSHELL_TH0 CM,_TARGET,NODE TYPE,41 ESLN,S,0 ESURF CMSEL,S,_ELEMCM ! Generate the contact surface NSEL,S,,,NSHIM_TH0 CM,_CONTACT,NODE TYPE,42 ESLN,S,0 ESURF ALLSEL ESEL,ALL ESEL,S,TYPE,,41 ESEL,A,TYPE,,42 ESEL,R,REAL,,41 /PSYMB,ESYS,1 /PNUM,TYPE,1 /NUM,1 EPLOT ESEL,ALL ESEL,S,TYPE,,41 ESEL,A,TYPE,,42 ESEL,R,REAL,,41 CMSEL,A,_NODECM CMDEL,_NODECM CMSEL,A,_ELEMCM CMDEL,_ELEMCM CMSEL,S,_KPCM CMDEL,_KPCM CMSEL,S,_LINECM CMDEL,_LINECM CMSEL,S,_AREACM CMDEL,_AREACM CMSEL,S,_VOLUCM CMDEL,_VOLUCM /GRES,cwz,gsav CMDEL,_TARGET CMDEL,_CONTACT /COM, CONTACT PAIR CREATION - END /COM, CONTACT PAIR CREATION - START CM,_NODECM,NODE CM,_ELEMCM,ELEM CM,_KPCM,KP CM,_LINECM,LINE CM,_AREACM,AREA CM,_VOLUCM,VOLU /GSAV,cwz,gsav,,temp MP,MU,1,0 MAT,1 MP,EMIS,1,7.88860905221e-031 R,42 REAL,42 ET,43,170 ET,44,174 R,42,,,1.0,0.1,0, RMORE,,,1.0E20,0.0,1.0, RMORE,0.0,0,1.0,,1.0,0.5 RMORE,0,1.0,1.0,0.0,,1.0 KEYOPT,44,4,0 KEYOPT,44,5,0 KEYOPT,44,7,0 KEYOPT,44,8,0 KEYOPT,44,9,1 KEYOPT,44,10,1 KEYOPT,44,11,0 KEYOPT,44,12,5 KEYOPT,44,2,0 KEYOPT,43,5,0 ! Generate the target surface NSEL,S,,,NSHELL_TH60 CM,_TARGET,NODE TYPE,43 ESLN,S,0 ESURF CMSEL,S,_ELEMCM ! Generate the contact surface NSEL,S,,,NSHIM_TH60 CM,_CONTACT,NODE TYPE,44 ESLN,S,0 ESURF ALLSEL ESEL,ALL ESEL,S,TYPE,,43 ESEL,A,TYPE,,44 ESEL,R,REAL,,42 /PSYMB,ESYS,1 /PNUM,TYPE,1 /NUM,1 EPLOT ESEL,ALL ESEL,S,TYPE,,43 ESEL,A,TYPE,,44 ESEL,R,REAL,,42 CMSEL,A,_NODECM CMDEL,_NODECM CMSEL,A,_ELEMCM CMDEL,_ELEMCM CMSEL,S,_KPCM CMDEL,_KPCM CMSEL,S,_LINECM CMDEL,_LINECM CMSEL,S,_AREACM CMDEL,_AREACM CMSEL,S,_VOLUCM CMDEL,_VOLUCM /GRES,cwz,gsav CMDEL,_TARGET CMDEL,_CONTACT /COM, CONTACT PAIR CREATION - END /MREP,EPLOT KEYOPT,42,1,0 KEYOPT,42,2,1 KEYOPT,42,4,0 KEYOPT,42,5,0 KEYOPT,42,7,0 KEYOPT,42,8,0 KEYOPT,42,9,1 KEYOPT,42,10,0 KEYOPT,42,11,0 KEYOPT,42,12,5 !* KEYOPT,44,1,0 KEYOPT,44,2,1 KEYOPT,44,4,0 KEYOPT,44,5,0 KEYOPT,44,7,0 KEYOPT,44,8,0 KEYOPT,44,9,1 KEYOPT,44,10,0 KEYOPT,44,11,0 KEYOPT,44,12,5 !* /com /com A-to-A CEs for Three-Coil Structural Model /com tol=0.0001 ! tolerance for pairing nodes for up-down CEs esel,s,mat,,12 nsle csys nsel,r,loc,y,-tol,tol cm,n_asym,node nsel,r,loc,z,0.0001,12 cm,npz_asym,node *get,n_strt,node,,num,min *get,n_stop,node,,num,max *do,j,n_strt,n_stop cmsel,s,npz_asym *if,nsel(j),ne,1,cycle cmsel,s,n_asym nsel,r,loc,x,nx(j)-tol,nx(j)+tol nsel,r,loc,z,-nz(j)-tol,-nz(j)+tol *get,any,node,,count *if,any,eq,0,cycle *get,j_asym,node,,num,min ce,next,,j,ux,1,j_asym,ux,-1 ! Asymmetric nodes move in X together ce,next,,j,uy,1,j_asym,uy,+1 ! Asymmetric nodes move in opposite Y ce,next,,j,uz,1,j_asym,uz,+1 ! Asymmetric nodes move in opposite Z *enddo /com /com C-to-C CEs for Three-Coil Structural Model /com esel,s,mat,,11 nsle local,11,,,,,60 nsel,r,loc,y,-tol,tol cm,n_asym,node nrotate,all nsel,r,loc,z,.0001,12 cm,npz_asym,node *get,n_strt,node,,num,min *get,n_stop,node,,num,max cmsel,s,n_asym *do,j,n_strt,n_stop cmsel,s,npz_asym *if,nsel(j),ne,1,cycle cmsel,s,n_asym nsel,r,loc,x,nx(j)-tol,nx(j)+tol nsel,r,loc,z,-nz(j)-tol,-nz(j)+tol *get,any,node,,count *if,any,eq,0,cycle *get,j_asym,node,,num,min ce,next,,j,ux,1,j_asym,ux,-1 ! Asymmetric nodes move in X together ce,next,,j,uy,1,j_asym,uy,+1 ! Asymmetric nodes move in opposite Y ce,next,,j,uz,1,j_asym,uz,+1 ! Asymmetric nodes move in opposite Z *enddo csys /com /com Big C-to-C Wing CEs /com local,11,1,,,,60 tol=0.025 esel,s,mat,,9 nsle nsel,r,loc,y,0,120 esln,,1 nsel,ext cm,n_cshim,node esln,,1 nsle nsel,invert cmsel,r,n_cshim cm,cshim,node *get,thmn_cshim,node,,mnloc,y thmn_cshim=5 *get,thmx_cshim,node,,mxloc,y *get,zmn_cshim,node,,mnloc,z *get,zmx_cshim,node,,mxloc,z *get,rmn_cshim,node,,mnloc,x *get,rmx_cshim,node,,mxloc,x *get,n_strt,node,,num,min *get,n_stop,node,,num,max /com Identify a subset of shell nodes where these wing nodes might contact esel,s,type,,1 nsle nsel,ext nsel,r,loc,x,rmn_cshim,rmx_cshim nsel,r,loc,y,-thmx_cshim,-thmn_cshim nsel,r,loc,z,-zmx_cshim,-zmn_cshim cm,cshell,node cmsel,a,cshim cm,cshimshell,node *do,j,n_strt,n_stop cmsel,s,cshim *if,nsel(j),ne,1,cycle cmsel,s,cshell nsel,r,loc,x,nx(j)-tol,nx(j)+tol nsel,r,loc,z,-nz(j)-tol,-nz(j)+tol nsel,r,loc,y,-ny(j)-tol,-ny(j)+tol *get,any,node,,count *if,any,eq,0,cycle *get,j_shim,node,,num,min ce,next,,j,ux,1,j_shim,ux,-1 ! Asymmetric nodes move in X together ce,next,,j,uy,1,j_shim,uy,+1 ! Asymmetric nodes move in opposite Y ce,next,,j,uz,1,j_shim,uz,+1 ! Asymmetric nodes move in opposite Z *enddo csys /com /com Little C-to-C Wing CEs (long do loop, not an important wing) /com tol=0.030 esel,s,mat,,1 nsle nsel,ext csys,1 nsel,r,loc,x,1.4,12 nsel,r,loc,z,-12,0 nsel,r,loc,y,61,120 local,11,1,,,,60 *get,thmn_clobe,node,,mnloc,y thmn_clobe=thmn_clobe+3 *get,thmx_clobe,node,,mxloc,y thmx_clobe=thmx_clobe-1 *get,zmn_clobe,node,,mnloc,z *get,zmx_clobe,node,,mxloc,z *get,rmn_clobe,node,,mnloc,x *get,rmx_clobe,node,,mxloc,x *get,n_strt,node,,num,min *get,n_stop,node,,num,max nsel,r,loc,y,thmn_clobe,thmx_clobe cm,clobe,node /com Identify a subset of shell nodes where these wing nodes might contact esel,s,type,,1 nsle nsel,ext nsel,r,loc,x,rmn_clobe,rmx_clobe nsel,r,loc,y,-thmx_clobe,-thmn_clobe nsel,r,loc,z,-zmx_clobe,-zmn_clobe cm,cshell,node cmsel,a,clobe cm,clobeshell,node *do,j,n_strt,n_stop cmsel,s,clobe *if,nsel(j),ne,1,cycle cmsel,s,cshell nsel,r,loc,x,nx(j)-tol,nx(j)+tol nsel,r,loc,z,-nz(j)-tol,-nz(j)+tol nsel,r,loc,y,-ny(j)-tol,-ny(j)+tol *get,any,node,,count *if,any,eq,0,cycle *get,j_lobe,node,,num,min ce,next,,j,ux,1,j_lobe,ux,-1 ! Asymmetric nodes move in X together ce,next,,j,uy,1,j_lobe,uy,+1 ! Asymmetric nodes move in opposite Y ce,next,,j,uz,1,j_lobe,uz,+1 ! Asymmetric nodes move in opposite Z *enddo csys /com /com Coil A Wing /com allsel save fini :100 /filnam,allthree_w_shims_2_wingsup resume !,allthree_w_shims_2,db /prep7 *do,j,2,7 mp,ex,j,1.0*(9/0.145)*1e9 *enddo fini /solu allsel eqslv,pcg solve fini :1000 /post1 /PLOPTS,INFO,2 /dev,font,1,Arial,700,0,-19,0,0,,, /view,1,1,1,1 /vup,1,z /auto /edge set,last plns,u,sum fini /exit,all /eof /com /com Store Displacements on flange faces to an array /com esel,s,type,,41 nsle cm,n_flanges,node esel,s,type,,43 nsle cmsel,a,n_flanges cm,n_flanges,node *get,nct,node,,count *get,n_strt,node,,num,min *get,n_stop,node,,num,max *dim,uxyz,,nct,4 cnt=0 *do,j,n_strt,n_stop *if,nsel(j),ne,1,cycle cnt=cnt+1 uxyz(cnt,1)=j uxyz(cnt,2)=ux(j) uxyz(cnt,3)=uy(j) uxyz(cnt,4)=uz(j) *enddo /com Write Displacement Commands to a file *cfopen,dxyz_soft,out *cfwrite,LCNum=%lcnum% *cfwrite,/nopr cnt=0 cmsel,s,n_flanges *do,j,n_strt,n_stop *if,nsel(j),ne,1,cycle cnt=cnt+1 *cfwrite,d,j,ux,uxyz(cnt,2) *cfwrite,d,j,uy,uxyz(cnt,3) *cfwrite,d,j,uz,uxyz(cnt,4) *enddo *cfwrite,/gopr *cfclos /com Loop through the two load steps (-215, -215+EM) *do,jj,1,2 set,jj /title,modcoil2%rn%, LS1=-215K, LS2=-215K/LC#%time_pt%, LS9999=(LS2-LS1) allsel ETABLE,ERASE etab,si,s,int etab,s1,s,1 etab,s3,s,3 *do,j,1,3 esel,s,mat,,j+102 nsle plet,si,avg plet,s1,avg plet,s3,avg esel,s,mat,,j nsle plet,si,avg !plet,s1,avg !plet,s3,avg *enddo *enddo /com WP Stress Range set,2 /com Sum PF Vertical Forces esel,s,mat,,14,16 esel,r,type,,2 rsys etab,fz,fmag,z *do,pfc,4,6 esel,s,mat,,10+pfc esel,r,type,,2 nsle ssum *get,fz%pfc%,ssum,,item,fz kfz=0.1*nint(fz%pfc%*360/abs(2*thmn4)/100) /title,modcoil2%rn%, LC#%time_pt%,Total Vertical force on PF%pfc%U: %kfz% kN plet,fz,avg *enddo /com /com Subtract thermal effects (LS1) from thermal + EM effects (LS2) allsel /title,modcoil2%rn%, LS9999=(LS2-LS1) or (thermal + EM effects)-(thermal effects) LCDEF,1,1,, LCOPER,SUB,1, , , ETABLE,ERASE etab,si,s,int *do,j,1,3 esel,s,mat,,j+102 nsle plet,si,avg esel,s,mat,,j esel,r,type,,1,3 nsle plet,si,avg *enddo fini /exit,all /eof set,2 !esel,s,mat,,103,105 ETABLE,ERASE etab,si,s,int etab,s1,s,1 etab,s3,s,3 etab,sx,s,x etab,sy,s,y etab,sz,s,z etab,sxy,s,xy etab,syz,s,yz etab,sxz,s,xz pretab /com List element centroids and their displacements set,5 ETABLE,ERASE *get,ls,active,,set,lstp /stitle,1,modcoil2%rn%, Load Step %ls% !esel,s,mat,,103,105 :1001 esel,s,mat,,2,7 *get,e_strt,elem,,num,min *get,e_stop,elem,,num,max *get,e_num,elem,,count *dim,e_cent,,e_num,7 csys rsys etab,u_x,u,x etab,u_y,u,y etab,u_z,u,z count=0 *do,j,e_strt,e_stop *if,esel(j),ne,1,cycle count=count+1 e_cent(count,1)=count *get,ejx,elem,j,cent,x *get,ejy,elem,j,cent,y *get,ejz,elem,j,cent,z *get,uxj,elem,j,etab,u_x *get,uyj,elem,j,etab,u_y *get,uzj,elem,j,etab,u_z e_cent(count,2)=ejx e_cent(count,3)=ejy e_cent(count,4)=ejz e_cent(count,5)=uxj e_cent(count,6)=uyj e_cent(count,7)=uzj *enddo !/output,mclocdisp_r1%rn%_ls%ls%,lis !/output,allthree_w_shim_2soft_lc%lcnum%disp,lis /output,allthree_w_shim_2_lc%lcnum%disp,lis *vwrite, (' Element # X Y Z UX UY UZ') *vwrite,e_cent(1,1),e_cent(1,2),e_cent(1,3),e_cent(1,4),e_cent(1,5),e_cent(1,6),e_cent(1,7) (1p7e13.5) /output /eof /com Impose displacements on WP nodes consistent with (X,Y,Z)(alpha)(DT) esel,s,mat,,1 nsle csys nsel,r,d,u *get,z_datum,node,,mnloc,z esel,s,mat,,103,105 nsle *get,n_strt,node,,num,min *get,n_stop,node,,num,max csys *do,j,n_strt,n_stop *if,nsel(j),ne,1,cycle d,j,ux,nx(j)*alpha_struc*(tmp_ss-t_ref) d,j,uy,ny(j)*alpha_struc*(tmp_ss-t_ref) d,j,uz,(nz(j)-z_datum)*alpha_struc*(tmp_ss-t_ref) *enddo /com Load Case Operations set,1 LCWRITE,1,modcoil2%rn%,l01, set,2 LCWRITE,2,modcoil2%rn%,l02, set,5 LCWRITE,3,modcoil2%rn%,l03, set,3 LCWRITE,4,modcoil2%rn%,l04, /com Create Stress Range 1-2 set,1 LCFILE,1,modcoil2%rn%,l02, LCOPER,SUB,1, , , esel,s,mat,,103,105 nsle ETABLE,ERASE etab,si,s,int /title,modcoil2%rn%/LS1(85K 2T Hi-B -0.85s)-modcoil2%rn%/LS2(105K 2T Hi-B t=0.0s) plet,si,avg /com Create Stress Range 1-3 set,1 LCFILE,1,modcoil2%rn%,l03, LCOPER,SUB,1, , , esel,s,mat,,103,105 nsle ETABLE,ERASE etab,si,s,int /title,modcoil2%rn%/LS1(85K 2T Hi-B -0.85s)-modcoil2%rn%/LS5(113K 2T Hi-B t=0.197s) plet,si,avg /com Create Stress Range 1-4 set,1 LCFILE,1,modcoil2%rn%,l04, LCOPER,SUB,1, , , esel,s,mat,,103,105 nsle ETABLE,ERASE etab,si,s,int /title,modcoil2%rn%/LS1(85K 2T Hi-B -0.85s)-modcoil2%rn%/LS3(122K 2T Hi-B t=3.4s) plet,si,avg /com Create Stress Range 2-3 set,2 LCFILE,1,modcoil2%rn%,l03, LCOPER,SUB,1, , , esel,s,mat,,103,105 nsle ETABLE,ERASE etab,si,s,int /title,modcoil2%rn%/LS2(105K 2T Hi-B 0.0s)-modcoil2%rn%/LS5(113K 2T Hi-B t=0.197s) plet,si,avg /com Create Stress Range 2-4 set,2 LCFILE,1,modcoil2%rn%,l04, LCOPER,SUB,1, , , esel,s,mat,,103,105 nsle ETABLE,ERASE etab,si,s,int /title,modcoil2%rn%/LS2(105K 2T Hi-B 0.0s)-modcoil2%rn%/LS3(122K 2T Hi-B t=3.4s) plet,si,avg /com Create Stress Range 3-4 set,5 LCFILE,1,modcoil2%rn%,l04, LCOPER,SUB,1, , , esel,s,mat,,103,105 nsle ETABLE,ERASE etab,si,s,int /title,modcoil2%rn%/LS5(113K 2T Hi-B 0.197s)-modcoil2%rn%/LS3(122K 2T Hi-B t=3.4s) plet,si,avg /eof /com /com Max Stress Elements /com esel,s,elem,,9876 esel,a,elem,,5890 esel,a,elem,,7490 set,3 ETABLE,ERASE etab,si,s,int etab,s1,s,1 etab,s3,s,3 etab,sx,s,x etab,sy,s,y etab,sz,s,z etab,sxy,s,xy etab,syz,s,yz etab,sxz,s,xz pretab /com /com MC Force summation /com set,2 esel,s,mat,,103,105 rsys,0 etab,fx,fmag,x etab,fy,fmag,y etab,fz,fmag,z esel,s,mat,,103 esel,r,real,,1 nsle ssum esel,s,mat,,103 esel,r,real,,2 nsle ssum esel,s,mat,,104 esel,r,real,,1 nsle ssum esel,s,mat,,104 esel,r,real,,2 nsle ssum esel,s,mat,,105 esel,r,real,,1 nsle ssum esel,s,mat,,105 esel,r,real,,2 nsle ssum esel,s,mat,,103,105 nsle /output,MC_forces,out /page,,,100000 PRNSOL,FMAG,COMP /output,term /com Store nodal displacements set,? esel,s,mat,,103,105 nsle *get,n_strt,node,,num,min *get,n_stop,node,,num,max *get,n_num,node,,count *dim,n_disp,,n_num,4 csys rsys count=0 *do,j,n_strt,n_stop *if,nsel(j),ne,1,cycle count=count+1 n_disp(count,1)=j n_disp(count,2)=ux(j) n_disp(count,3)=uy(j) n_disp(count,4)=uz(j) *enddo /com Apply U BCs count=0 *do,j,n_strt,n_stop *if,nsel(j),ne,1,cycle count=count+1 d,j,ux,n_disp(count,2) d,j,uy,n_disp(count,3) d,j,uz,n_disp(count,4) *enddo /com Shear Stress Modulus etab,sxy,s,xy etab,syz,s,yz etab,sxz,s,xz smult,sxy2,sxy,sxy smult,syz2,syz,syz smult,sxz2,sxz,sxz sadd,sxy2syz2,sxy2,syz2 sadd,s2,sxy2syz2,sxz2 sexp,mod_tau,s2,,0.5