hello,
i am trying to calculate a j integral values for a 3d crack in ansys.
i tried with a following txt code and as a input file.
the following code actully works for 2d crack for defined paths.what changes should be made to this for getting j-integral values in 3d crack?
ETABLE,SENE,SENE,
ETABLE,VOLU,VOLU
SEXP,W,SENE,VOLU,1,-1 ! CALCULATE STRAIN ENERGY DENSITY
SEXP,W,SENE,VOLU,1,-1
LPATH,n1,n2, …. nn ! DEFINE PATH POINTS BY NODE
PDEF,W,ETAB,W ! PUT STRAIN ENERGY DENSITY ON THE PATH
PCALC,INTG,J,W,YG ! INTEGRATE ENERGY W.R.T. GLOBAL Y
*GET,JA,PATH,,LAST,J ! GET FINAL VALUE OF INTEGRAL FOR 1ST TERM OF J
PDEF,CLEAR ! CLEAR OLD PATH VARIABLES
PVECT,NORM,NX,NY,NZ ! DEFINE THE PATH UNIT NORMAL VECTOR
PDEF,INTR,SX,SX ! PUT STRESS SX ON THE PATH
PDEF,INTR,SY,SY ! PUT STRESS SY ON THE PATH
PDEF,INTR,SXY,SXY ! PUT STRESS SXY ON THE PATH
PCALC,MULT,TX,SX,NX ! CALCULATE TRACTION TX
PCALC,MULT,C1,SXY,NY ! TX = SX*NX + SXY*NY
PCALC,ADD,TX,TX,C1
PCALC,MULT,TY,SXY,NX ! CALCULATE TRACTION TY
PCALC,MULT,C1,SY,NY ! TY = SXY*NX + SY*NY
PCALC,ADD,TY,TY,C1
*GET,DX,PATH,,LAST,S ! DEFINE PATH SHIFT AS 1% OF PATH LENGTH
DX=DX/100
PCALC,ADD,XG,XG,,,,-DX/2 ! SHIFT PATH FROM X TO X-DX/2 (GLOBAL X DIR.)
PDEF,INTR,UX1,UX ! DEFINE UX AT X-DX
PDEF,INTR,UY1,UY ! DEFINE UY AT X-DX
PCALC,ADD,XG,XG,,,,DX ! SHIFT PATH FROM X-DX/2 TO X+DX/2
PDEF,INTR,UX2,UX ! DEFINE UX AT X+DX
PDEF,INTR,UY2,UY ! DEFINE UY AT X+DX
PCALC,ADD,XG,XG,,,,-DX/2 ! SHIFT PATH BACK TO ORIGINAL POSITION
C=(1/DX)
PCALC,ADD,C1,UX2,UX1,C,-C ! CALCULATE DERIVATIVE DUX/DX
PCALC,ADD,C2,UY2,UY1,C,-C ! CALCULATE DERIVATIVE DUY/DX
PCALC,MULT,C1,TX,C1 ! DEFINE INTEGRAND
PCALC,MULT,C2,TY,C2 ! = TX*DUX/DX + TY*DUY/DX
PCALC,ADD,C1,C1,C2
PCALC,INTG,J,C1,S ! FORM SECOND INTEGRAL (W.R.T. PATH LENGTH S)
*GET,JB,PATH,,LAST,J ! GET FINAL VALUE OF INTEGRAL FOR 2ND TERM OF J
JINT=JA-JB ! FOR FULL MODELS
PDEF,CLEAR ! CLEAR PATH VARIABLES
regards
swapnil
hi.. the code is written
hi..
the code is written for calculating in x-y plane. as long you are taking paths for 3d cracks in x-y plane, this code is correct. i am not sure but check it
regards,
Amit