Professional Documents
Culture Documents
!Defining parameters
NOH=77
ELEM1=175
ELEM2=176
N_ELEMTS=300
!Parameters for storing plastic strain
*DIM,PL_VEC,,N_ELEMTS,3
! Open output file: NAME='Results'; extension='.txt'
*CFOPEN,Results,txt,,APPEND
!APPEND=status'UNKNOWN' - The file will
be appended to the existing file
*CFOPEN,Results,txt,,
!(blank) - The existing file will be ove
rwritten
*GET,N,ACTIVE,0,SET,NSET,LAST
e
*DO,i,0,N
SET,1,i
*GET,TIME_FREQ,ACTIVE,0,SET,TIME
or of substep #i
!*VWRITE,'STEP',i,TIME_FREQ
!STEP;i;+0,00000E+00
!%s,%i,%.5g
!*GET,UX_NO,NODE,NOH,U,X
!'UX_NO'
= NODE('NOH'), Displacement(U), component(X)
!
!! Create a table to store AXIAL STRESS (SAXL) of elements
!ETABLE,SAXL,LS,1
!*GET,TEN1,ELEM,ELEM1,ETAB,SAXL
!'TEN1' = ELEM(ELEM1), A
xial Tension (ETAB,SAXL)
!*GET,TEN2,ELEM,ELEM2,ETAB,SAXL
!'TEN2' = ELEM(ELEM2), A
xial Tension (ETAB,SAXL)
!
!! Create a table to store AXIAL ELASTIC STRAIN (EPELxx) of elements
!ETABLE,EPELAXL,LEPEL,1
!Linear elements
strain (LEPEL); 1=Principal Strain
!*GET,DMAX1,ELEM,ELEM1,ETAB,EPELAXL
!'DMAX1' = ELEM(ELEM1),
Axial Strain (ETAB,EPELAXL)
!*GET,DMAX2,ELEM,ELEM2,ETAB,EPELAXL
!'DMAX2' = ELEM(ELEM2),
Axial Strain (ETAB,EPELAXL)
!
!! Create a table to store AXIAL PLASTIC STRAIN (EPPLxx) of elements
ETABLE,EPPLAXL,LEPPL,1
!Linear elements
!'PLMAX1' = ELEM(ELEM1),
!'PLMAX2' = ELEM(ELEM2),
*IF,PL_VEC(k,1),EQ,0,THEN
ic strain
!on elements with no previous strain
*GET,PLAST_STRAIN,ELEM,k,ETAB,EPPLAXL
PLAXL of ELEM(k)
!Gets EP
*IF,PLAST_STRAIN,ABGT,1E-03,THEN
PL_VEC(k,1)=i
!write load step
PL_VEC(k,2)=PLAST_STRAIN
!write plastic strain
*VLEN,1
*VWRITE,'ELEM=',k,'Nstep=',PL_VEC(k,1),'
PlStrain=',PL_VEC(k,2)
%s%i,%s%i,%s%.5g
*ENDIF
*ENDIF
*ENDDO
*ENDIF
!! Reorder plastic strain in descending order
!*DO,j,1,N_ELEMTS,1
!
*IF,PL_VEC(j,1),EQ,i,THEN
!
*DO,k,1,(N_ELEMTS-1)
!
*IF,PL_VEC(k,1),EQ,i,THEN
!
IF (PL_VEC(j,1).GT.PL_VEC(j+1)) Then
!
*IF,a(j),eq,a(k),then
!
count = count+1
!
*ENDIF
!
!
!Bubble Sort
!
*IF,a(j),gt,k,then
!
temp=a(j)
!
a(j)=a(k)
!
a(k)=temp
!
*ENDIF
!
*ENDDO
!*ENDDO
!*DO,j,1,N_ELEMTS,1
!
*IF,PL_VEC(j,1),EQ,i,THEN
!
*VWRITE,'ELEM',j,PL_VEC(j,1),PL_VEC(j,2)
!ELEM;j;i;-0,00000E+00
!
%s,%i,%.5g
!
*ENDIF
!*ENDDO
!
!
!
!
!
+00
!
!
+00
!
!
000E+00
!
!
000E+00
!
!
!
!
!
!
!
!
*ENDDO
*VWRITE,'STEP',i,'FACTOR',TIME_FREQ
!STEP;i;FACTOR;[0-1]
%s,%i,%s,%.5g
*VWRITE,'NODE',NOH,'UX',UX_NO
!NODE;213;UX;4,54517E-03
%s,%i,%s,%.5g
*VWRITE,'ELEM',ELEM1,'STRESS MAX',TEN1 !ELEM;ELEM1;STRESS MAX;+0,00000E
%s,%i,%s,%.5g
*VWRITE,'ELEM',ELEM2,'STRESS MIN',TEN2 !ELEM;ELEM2;STRESS MIN;-0,00000E
%s,%i,%s,%.5g
*VWRITE,'ELEM',ELEM1,'STRAIN',DMAX1
!ELEM;ELEM1;STRAIN;+0,00
%s,%i,%s,%.5g
*VWRITE,'ELEM',ELEM2,'STRAIN',DMAX2
!ELEM;ELEM2;STRAIN;-0,00
%s,%i,%s,%.5g
*VWRITE,'ELEM',ELEM1,'PSTRAIN',PLMAX1
%s,%i,%s,%.5g
*VWRITE,'ELEM',ELEM2,'PSTRAIN',PLMAX2
%s,%i,%s,%.5g
!ELEM;ELEM1;PSTRAIN;-0,00000E+00
!ELEM;ELEM2;PSTRAIN;+0,00000E+00
*DO,jj,1,N_ELEMTS
*VWRITE,'ELEM',jj,PL_VEC(jj,1),PL_VEC(j,2)
000E+00
%s,%i,%.5g
*ENDDO
*CFCLOS
!ELEM;jj;i;-0,00