Sorry for my text only in English due to the computer without windows operation system in English.
Welcome any comments!
The final version of FEM report in word form will be available for the first five reponsers, Please email to me at em_jinqinghai@yahoo.ca if required.
!! setting the background of the window
WPSTYLE,,,,,,,,0
/RGB,INDEX,100,100,100, 0
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
!recovery the original background color
! /RGB,INDEX, 0, 0, 0, 0
! /RGB,INDEX, 60, 60, 60,13
! /RGB,INDEX, 80, 80, 80,14
! /RGB,INDEX,100,100,100,15
/PMETH,OFF,0
KEYW,PR_SET,1
KEYW,PR_STRUC,1
KEYW,PR_THERM,0
KEYW,PR_FLUID,0
KEYW,PR_ELMAG,0
KEYW,MAGNOD,0
KEYW,MAGEDG,0
KEYW,MAGHFE,0
KEYW,MAGELC,0
KEYW,PR_MULTI,0
KEYW,PR_CFD,0
/UNITS,SI
pngr,comp,on,3
pngr,color,1
pngr,default
tiff,comp,1
!/UI, func, Type, Format, Screen, Color, Krev, Orient, Compress, Quality
!/ui,copy,s,jpeg,graph,color,norm,portrait,yes,100
!/image,save,123,png
/PREP7
Diff=0.1 !!! tolerance for exact location
!#### it is priority to choose the suitable element type
! ET,1,PLANE83
!et,1,plane82 !! sharp test warning pops up
et,1,plane2 !!! compatible with plane82, it is better to be used for fractture models
!et,1,plane145 !! it is testified to be unsuitable for this model?!
KEYOPT,1,3,3
KEYOPT,1,5,0
KEYOPT,1,6,0
R,1,10,
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,EX,1,,2e5
MPDATA,PRXY,1,,0.3
!!### creating model
k,1,0,0,
K,4,0,60,,
!!! fracture point
K,5,64.5,60,,
K,6,65,30,,
K,7,65.5,60,,
K,8,100,60,,
k,9,100,40,, !! for Force loads point
k,10,100,0,, !! the centre point of the semi-circle
k,11,100,-40,,
K,12,100,-60,,
K,13,0,-60,,
!K,15,0,-10,,
CIRCLE,1,10 , ,13 ,180,2,
circle,10,20,,8,180,2,
!!// creating the lines to be reflected
LSTR, 8, 9
LSTR, 9, 15
LSTR, 17, 11
LSTR, 11, 12
Lsel,all
LSYMM,X,all, , , ,0,0
K,50,-64.5,-60,,
K,51,-65, -30,,
K,52,-65.5,-60,,
LSTR, 24, 4
LSTR, 4, 5
LSTR, 5, 6
LSTR, 6, 7
LSTR, 7, 8
LSTR, 12, 13
LSTR, 13, 50
LSTR, 50, 51
LSTR, 51, 52
LSTR, 52, 27
lsel,all
lplot
lsel,u,radius,,9,11,
AL,all
!! delete to form the hole in the centre of the plate
! LPLOT
lsel,s,radius,,9,11,
a***l,1,all
ADELE, 2
allsel,all
lplot
pngr,comp,on,9
/image,save,model-line,png,
erase
aplot
/image,save,model-area,png,
!!_______finished the model
!! ### Meshing
TYPE, 1
MAT, 1
REAL, 1
ESYS, 0
!*
!*
MSHAPE,0,2D
MSHKEY,0
!*
SMRT,2
ASEL,all , , , 1
AMESH,all
allsel,all
eplot
/image,save,model-element,png,
lsel,s,loc,x,64,65,
lsel,a,loc,x,-65,-64,
lsel,a,radius,,9,11,
lsel,a,radius,,19,21,
LREFINE,all, , ,3,1,1,1
KSEL,s,loc,y ,30-Diff,30+Diff,
ksel,a,loc,y,-30-Diff,-30+Diff,
KREFINE,all, , ,1,1,1,1
allsel,all
!nummrg,all
!numcmp,all
FINISH
eplot
/image,save,refined-element,png,
!_______Finishing the model and meshing
!! ### start to apply the loads and constraints.
/SOL
!*
ANTYPE,0
ksel,s,loc,y,40-Diff,40+Diff,
ksel,a,loc,y,-40-Diff,-40+Diff,
ksel,r,loc,x,100-1,100+1,
FK,all,FX,10000
ksel,s,loc,y,40-Diff,40+Diff,
ksel,a,loc,y,-40-Diff,-40+Diff,
ksel,r,loc,x,-100-1,-100+1,
FK,all,FX,-10000
!___________________________________________
!!finishing loads and constraints applied
allsel,all
!!! #### setting up the symbol ###
/PSF,PRES,NORM,2,0,1
/PBF,DEFA, ,1
/PIC,DEFA, ,1
/PSYMB,CS,0
/PSYMB,NDIR,0
/PSYMB,ESYS,0
/PSYMB,LDIV,0
/PSYMB,LDIR,0
/PSYMB,ADIR,0
/PSYMB,ECON,0
/PSYMB,XNODE,0
/PSYMB,DOT,1
/PSYMB,PCONV,
/PSYMB,LAYR,0
/PSYMB,FBCS,0
!*
/PBC,ALL, ,1
/REP
!*
LPLOT
/image,save,loadconst,png,
SOLVE
FINISH
!/eof
!!!____________________________________
!!! ##### STARTING POSTPROCESS #####
*GET,total_Node_number,NODE,,NUM,MAX ! CURRENT MAXIMUM NODE NUMBER
*get,total_element_number,elem,,num,max !! CURRENT MAXIMUM elem NUMBER
!#### starting the process of postprocess ####
!!PLNSOL, Item, Comp, KUND, Fact, FileID
allsel,all
/post1
pldisp
/image,save,maxdisp,png,
erase
/post1
plnsol,s,1,
/image,save,principal1,png,
erase
/post1
plnsol,s,2,
/image,save,principal2,png,
erase
/post1
plnsol,s,3,
/image,save,principal3,png,
erase
/post1
plnsol,s,int,
/image,save,maxsint,png,
erase
/post1
plnsol,s,eqv,
/image,save,maxseqv,png,
!!______________________________________________________________
!! ### define the max. value and the points of max. quantities
allsel,all
nsort,s,eqv
*get,Max_SEQV_value,sort,,max
*get,node_number_max_Seqv,sort,0,imax !!! the node number of max. Von Mises stress
nsort,s,int
*get,max_Sint_value,sort,,max
*get,node_number_max_Sint,sort,0,imax !!! the node number of max. stress intensity
nsort,u,sum
*get,max_Disp_value,sort,,max
*get,node_number_max_Disp,sort,0,imax !!! the node number of max. Displacement
!!! ____________________________________________________
!!! ##### nodal displacement of Points A,B,C,D,E.
!! ## Point A,B
allsel,all
ksel,s,loc,y,-Diff,+Diff,
ksel,r,loc,x,-80-Diff,-80+Diff,
nslk,s
*get,Anum,node,0,nxth,
*get,A_usum,node,anum,u,sum,
*get,A_sint,node,anum,s,int,
*get,A_seqv,node,anum,s,eqv,
ksel,s,loc,y,-Diff,+Diff,
ksel,r,loc,x,-10+Diff,-10-Diff,
nslk,s
*get,bnum,node,0,nxth,
*get,B_usum,node,bnum,u,sum,
*get,B_sint,node,bnum,s,int,
*get,B_seqv,node,bnum,s,eqv,
!! ## point C
ksel,s,loc,x,-Diff,Diff,
ksel,r,loc,y,10-Diff,10+Diff,
nslk,S
*get,cnum,node,0,nxth,
*get,C_usum,node,cnum,u,sum,
*get,C_sint,node,cnum,s,int,
*get,C_seqv,node,cnum,s,eqv,
*get,c_ux,node,cnum,u,x
*get,c_uy,node,cnum,u,y
!*get,c_rotx,node,cnum,rot,x !! can't get it?!
!*get,c_roty,node,cnum,rot,y
!! ## point D
ksel,s,loc,x,65-Diff,65+Diff,
ksel,r,loc,y,30-Diff,30+Diff,
nslk,S
*get,dnum,node,0,nxth,
*get,D_usum,node,dnum,u,sum,
*get,D_sint,node,dnum,s,int,
*get,D_seqv,node,dnum,s,eqv,
!! ## point E
ksel,s,loc,x,100-Diff,100+Diff,
ksel,r,loc,y,20-Diff,20+Diff,
nslk,S
*get,enum,node,0,nxth,
*get,E_usum,node,enum,u,sum,
*get,E_sint,node,enum,s,int,
*get,E_seqv,node,enum,s,eqv,
!!! ## point F for plotting path
ksel,s,loc,x,80-Diff,80+Diff,
ksel,r,loc,y,-Diff,+Diff,
nslk,S
*get,Fnum,node,0,nxth,
!!! ## point G for plotting path
ksel,s,loc,x,10-Diff,10+Diff,
ksel,r,loc,y,-Diff,+Diff,
nslk,S
*get,Gnum,node,0,nxth,
!!! ## point H for plotting path
ksel,s,loc,x,-Diff,Diff,
ksel,r,loc,y,-10-Diff,-10+Diff,
nslk,S
*get,Hnum,node,0,nxth,
*get,H_ux,node,hnum,u,x
*get,h_uy,node,hnum,u,y
!h_rotx=rotx(hnum) !! can't get it?!
!h_roty=roty(hnum)
!!! ## point J for plotting path
ksel,s,loc,x,100-Diff,100+Diff,
ksel,r,loc,y,60-Diff,60+Diff,
nslk,S
*get,Jnum,node,0,nxth,
!!! ## point K for plotting path
ksel,s,loc,x,65.5-Diff,65.5+Diff,
ksel,r,loc,y,60-Diff,60+Diff,
nslk,S
*get,Knum,node,0,nxth,
!!! ## point L for plotting path
ksel,s,loc,x,64.5-Diff,64.5+Diff,
ksel,r,loc,y,60-Diff,60+Diff,
nslk,S
*get,Lnum,node,0,nxth,
!!! ## point M for plotting path
ksel,s,loc,x,100-Diff,100+Diff,
ksel,r,loc,y,-20-Diff,-20+Diff,
nslk,S
*get,Mnum,node,0,nxth,
!!!!! ## point O for plotting path
!k,10000,0,0,0
!nslk,S
!*get,Onum,node,0,nxth,
!k,10001,100,0,0
!nslk,s
!*get,Qnum,node,0,nxth,
erase
nplot
!/post1
!AVPRIN,0,
!PRNSOL,U,COMP
!!! mannually save the result!
!AVPRIN,0,
!PRNSOL,S,PRIN !!! differs to PLNSOL command!
!!! mannually save the result!
!!_______________________________________________________
!!! #### graph the von-mises stress distribution of the plate
allsel,all
/POST1
!*
! /EFACET,1
AVPRIN,0,
!PLNSOL, S,EQV, 0,1.0
!### path1 ###
PATH,path1,2,30,20,
ppath,1,dnum ! DEFINE PATH POINTS BY NODE
PPATH,2,fnum
PATH,STAT
!*
! /PBC,PATH,1
! /REPLOT
! /PBC,PATH,0
!*
PATH,Path1
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PLSECT,S,EQV, ,0
/image,save,path1_Vm,png, !!! save the path1 stress distribution graph.
erase
!!! ## graphing the principal stress distribution
plsect,s,int,,0
/image,save,path1_int,png,
erase
!!! ## graphing the S1 principal stress distribution
plsect,s,1,,0
/image,save,path1_s1,png,
erase
!!!___________________________path1
!!! ### path2 ###
PATH,path2,2,30,20,
ppath,1,dnum ! DEFINE PATH POINTS BY NODE
PPATH,2,gnum
PATH,STAT
!*
! /PBC,PATH,1
! /REPLOT
! /PBC,PATH,0
!*
PATH,Path2
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PLSECT,S,EQV, ,0
/image,save,path2_Vm,png,
erase
!!! ## graphing the principal stress distribution
plsect,s,int,,0
/image,save,path2_int,png,
erase
!!! ## graphing the S1 principal stress distribution
plsect,s,1,,0
/image,save,path2_s1,png,
erase
!!!___________________________path2
!!! ### path3 ###
PATH,path3,2,30,20,
ppath,1,fnum ! DEFINE PATH POINTS BY NODE
PPATH,2,gnum
PATH,STAT
!*
! /PBC,PATH,1
! /REPLOT
! /PBC,PATH,0
!*
PATH,Path3
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PLSECT,S,EQV, ,0
/image,save,path3_Vm,png,
erase
!!! ## graphing the principal stress distribution
plsect,s,int,,0
/image,save,path3_int,png,
erase
!!! ## graphing the S1 stress distribution
plsect,s,1,,0
/image,save,path3_s1,png,
erase
!!!___________________________path3
!!! ### path4 ###
PATH,path4,2,30,20,
ppath,1,dnum ! DEFINE PATH POINTS BY NODE
PPATH,2,enum
PATH,STAT
!*
! /PBC,PATH,1
! /REPLOT
! /PBC,PATH,0
!*
PATH,Path4
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PLSECT,S,EQV, ,0
/image,save,path4_Vm,png,
erase
!!! ## graphing the principal stress distribution
plsect,s,int,,0
/image,save,path4_int,png,
erase
!!! ## graphing the S1 stress distribution
plsect,s,1,,0
/image,save,path4_s1,png,
erase
!!!___________________________path4
!!! ### path5 ###
PATH,path5,2,30,20,
ppath,1,dnum ! DEFINE PATH POINTS BY NODE
PPATH,2,jnum
PATH,STAT
!*
! /PBC,PATH,1
! /REPLOT
! /PBC,PATH,0
!*
PATH,Path5
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PLSECT,S,EQV, ,0
/image,save,path5_Vm,png,
erase
!!! ## graphing the principal stress distribution
plsect,s,int,,0
/image,save,path5_int,png,
erase
!!! ## graphing the S1 stress distribution
plsect,s,1,,0
/image,save,path5_s1,png,
erase
!!!___________________________path5
!!! ### path6 ###
PATH,path6,2,30,20,
ppath,1,dnum ! DEFINE PATH POINTS BY NODE
PPATH,2,knum
PATH,STAT
!*
! /PBC,PATH,1
! /REPLOT
! /PBC,PATH,0
!*
PATH,Path6
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PLSECT,S,EQV, ,0
/image,save,path6_Vm,png,
erase
!!! ## graphing the principal stress distribution
plsect,s,int,,0
/image,save,path6_int,png,
erase
!!! ## graphing the S1 stress distribution
plsect,s,1,,0
/image,save,path6_s1,png,
erase
!!!___________________________path6
!!! ### path7 ###
PATH,path7,2,30,20,
ppath,1,dnum ! DEFINE PATH POINTS BY NODE
PPATH,2,Lnum
PATH,STAT
!*
! /PBC,PATH,1
! /REPLOT
! /PBC,PATH,0
!*
PATH,Path7
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PLSECT,S,EQV, ,0
/image,save,path7_Vm,png,
erase
!!! ## graphing the principal stress distribution
plsect,s,int,,0
/image,save,path7_int,png,
erase
!!! ## graphing the S1 stress distribution
plsect,s,1,,0
/image,save,path7_s1,png,
erase
!!!___________________________path7
!!! ### path8 ###
!!! graphing the circular path
allsel,all
PATH,path8_cir,2,30,120,
CSWPLA,11
!*
WPOFF,0,0
CSWPLA,12,1
CSCIR,12,1
PPATH,1,0,12.000001,0.1E-05,0
PPATH,2,0,11.999999,-0.1E-05,0
PMAP,'UNI '
/PBC,PATH,1
/REPLOT
WPCSYS,1,11
CSWPLA,11
!*
!
PATH,STATUS
!
PDEF,STAT
/PBC,PATH,0
!*
PATH,path8_cir
AVPRIN,0, ,
!*
/PBC,PATH, ,0
!*
!!! ## graphing the Von Mises stress distribution
PDEF, ,S,EQV,AVG
PLpath,seqv
/image,save,path8_Vm,png,
erase
!!! ## graphing the principal stress distribution
pdef,,s,int,avg
plpath,sint
/image,save,path8_int,png,
erase
!!! ## graphing the S1 stress distribution
pdef,,s,1,avg
plpath,s1
/image,save,path8_s1,png,
erase
csys,0
allsel,all
plnsol,s,int,
!!!___________________________path8
*get, maxdisp_x,node,node_number_max_disp,loc,x
*get, maxdisp_y,node,node_number_max_disp,loc,y
*get, maxseqv_x,node,node_number_max_seqv,loc,x
*get, maxseqv_y,node,node_number_max_seqv,loc,y
*get, maxsint_x,node,node_number_max_sint,loc,x
*get, maxsint_y,node,node_number_max_sint,loc,y
*get,anum_x,node,anum,loc,x
*get,anum_y,node,anum,loc,y
*get,bnum_x,node,bnum,loc,x
*get,bnum_y,node,bnum,loc,y
*get,cnum_x,node,cnum,loc,x
*get,cnum_y,node,cnum,loc,y
*get,dnum_x,node,dnum,loc,x
*get,dnum_y,node,dnum,loc,y
*get,Enum_x,node,Enum,loc,x
*get,Enum_y,node,Enum,loc,y
*get,Fnum_x,node,Fnum,loc,x
*get,Fnum_y,node,Fnum,loc,y
*get,Gnum_x,node,Gnum,loc,x
*get,Gnum_y,node,Gnum,loc,y
*get,Hnum_x,node,Hnum,loc,x
*get,Hnum_y,node,Hnum,loc,y
*get,Jnum_x,node,Jnum,loc,x
*get,Jnum_y,node,Jnum,loc,y
*get,Knum_x,node,Knum,loc,x
*get,Knum_y,node,Knum,loc,y
*get,Lnum_x,node,Lnum,loc,x
*get,Lnum_y,node,Lnum,loc,y
*get,Mnum_x,node,Mnum,loc,x
*get,Mnum_y,node,Mnum,loc,y
!finish
!!____________________________________________
!! ### point of maximum stress over the plate
!!! %%% checking -->list-->other-->parameters %%%
!/post1
!*vwrite,ntemp01,ntemp02,ntemp03
!(T1,'N2 TEMP=',F7.1,', N9 TEMP=',F7.1,', N7 TEMP=',F7.1)
!/output,nodetemp,dat
*create, report
*CFOPEN,reports,txt
!*DO,I,1,5,1 !! unnecessary
!! i=i+1
!*vwrite, 'Node ', ' at the point', 'von mises stress', 'principal stress', 'displacement'
!(1x,a8,A12,A12,A12,A12)
*VWRITE, TOTAL_ELEMENT_NUMBER
('THE TOTAL NUMBER OF ELEMENTS:', F7.0,TL1, ' ')
*VWRITE, TOTAL_NODE_NUMBER
('THE TOTAL NUMBER OF NODES:', F7.0,TL1, ' ')
*VWRITE, MAX_DISP_VALUE, NODE_NUMBER_MAX_DISP
('THE VALUE OF MAXIMUM DISPLACEMENT:', E15.6, ' AT THE NODE:', F7.0,TL1,' ')
*vwrite, maxdisp_x,maxdisp_y
('THE LOCATION OF MAXIMUM DISPLACEMENT (X=', F7.1, ' , Y=', F7.1, ')')
*VWRITE, MAX_SEQV_VALUE, NODE_NUMBER_MAX_SEQV
('THE VALUE OF MAXIMUM VON MISES STRESS:', F7.1, ' AT THE NODE:', F7.0,TL1,' ')
*vwrite, maxSEQV_x,maxSEQV_y
('THE LOCATION OF MAXIMUM VON MISES STRESS (X=', F7.1, ' , Y=', F7.1, ')')
*VWRITE, MAX_SINT_VALUE, NODE_NUMBER_MAX_SINT
('THE VALUE OF MAXIMUM STRESS INTENSITY:', F7.1, ' AT THE NODE:', F7.0,TL1,' ')
*vwrite, maxSINT_x,maxSINT_y
('THE LOCATION OF MAXIMUM PRINCIPAL STRESS (X=', F7.1, ' , Y=', F7.1, ')')
!!! POINT A
*vwrite, Anum
('**Node', f5.0,TL1, ' at Point A')
*VWRITE, A_SEQV
('ITS Value of Von mises stress',F7.1, ' MPa')
*VWRITE, A_SINT
('ITS Value of stress intensity',f7.1, ' MPa')
*VWRITE, A_USUM
('ITS value of displacement',e15.6, ' mm')
!!! POINT B
*vwrite, Bnum
('**Node', f5.0,TL1, ' at Point B')
*VWRITE, B_SEQV
('ITS Value of Von mises stress',F7.1, ' MPa')
*VWRITE, B_SINT
('ITS Value of stress intensity',F7.1, ' MPa')
*VWRITE, B_USUM
('ITS value of displacement',e15.6, ' mm')
!!! POINT C
*vwrite, Cnum
('**Node', f5.0,TL1, ' at Point C')
*VWRITE, C_SEQV
('ITS Value of Von mises stress',F7.1, ' MPa')
*VWRITE, C_SINT
('ITS Value of stress intensity',F7.1, ' MPa')
*VWRITE, C_USUM
('ITS value of displacement',e15.6, ' mm')
!!! POINT D
*vwrite, Dnum
('**Node', f5.0,TL1, ' at Point D')
*VWRITE, D_SEQV
('ITS Value of Von mises stress',F7.1, ' MPa')
*VWRITE, D_SINT
('ITS Value of stress intensity',F7.1, ' MPa')
*VWRITE, D_USUM
('ITS value of displacement',e15.6, ' mm')
!!! POINT E
*vwrite, Enum
('**Node', f5.0,TL1, ' at Point E')
*VWRITE, E_SEQV
('ITS Value of Von mises stress',F7.1, ' MPa')
*VWRITE, E_SINT
('ITS Value of stress intensity',F7.1, ' MPa')
*VWRITE, E_USUM
('ITS value of displacement',e15.6, ' mm')
!!!%10.3f%5i%12.6f%15.6e
!*ENDDO
*CFCLOS
*end !!! must match "*creat"
!!/output, results, txt
*use,report
finish |