General Mechanical

General Mechanical

FC – Failure Criteria

    • Vitaliy_Degtyarev
      Subscriber

      Hello All,


      Attached is very simple model of a bar with a non-linear material behavior in tension. I would like the analysis to stop when strains in the bar reach a certain value (0.0175). I used the FC,1,EPEL,YTEN,0.0175 command, but the analysis does not stop at the 0.0175 strain level. Could someone please help me with this? Thanks.


       


       

    • peteroznewman
      Subscriber

      • /filname,Test

      • /PREP7  


      • E=200000      

      • mus=0.3

      • Fy=500


      • et,1,link180             

      • sectype,1,link           

      • secdata,1               


      • mp,ex,1,E          

      • mp,prxy,1,mus    


      • TB,PLASTIC,1,1,6,MISO

      • TBTEMP,0.0

      • TBPT,DEFI,0,500

      • TBPT,DEFI,0.0035,518

      • TBPT,DEFI,0.0070,524

      • TBPT,DEFI,0.0105,529

      • TBPT,DEFI,0.0140,533

      • TBPT,DEFI,0.0175,536


      • FC,1,EPEL,YTEN,0.0175


      • n,1,0.0,0.0,0.0    

      • n,2,0.0,10.0, 0.0   


      • en, 1, 1, 2              


      • /SOL  

      • nsel,s,,,1

      • d,1,ux,0

      • d,1,uy,0

      • d,1,uz,0

      • allsel,all


      • F,2,FY,1000

      • ALLSEL,ALL


      • ANTYPE,0                  


      • TIME,1

      • AUTOTS,1                                       

      •         

      • NSUBST,100,10000,100

      • OUTRES,ALL,ALL                                 

      • KBC,0

      •                                       

      • LSWRITE,1   


      • LSSOLVE,1,1,1


      • FINISH

    • Rohith Patchigolla
      Ansys Employee

      Hello VitaliyD,


      FC command doesn't work for what you want to do. This is only for post-processing (after completing the solve). 


      Please have a look at NLHIST command. 


      NLHIST, Key, Name, Item, Comp, NODE, ELEM, SHELL, LAYER, STOP_VALUE, STOP_COND


      You can basically track some variables (nodal/elemental --> max 50 variables) during the solution and you can issue a critical value and a condition which terminates the analysis once the variable becomes greater than or equal to this critical value. 


      Hope this helps.


      Best regards,


      Rohith

    • Vitaliy_Degtyarev
      Subscriber

      Hello Rohith,


      Thank you for your response. Unfortunately, the STOP_VALUE field is only valid for contact data (Key = PAIR or GCN). I also looked into using TB,FCLI, but it did not work for me either.


      I'm wondering if there is a way in ANSYS to terminate analysis when strain reaches a certain value. Any information on this would be greatly appreciated.


      Thanks,


      Vitaliy


       

    • Rohith Patchigolla
      Ansys Employee

      Hello Vitaliy,


      It is not documented, but it works. Try the below case for example.


      Here, I am loading the block by a strain of 1e-3 and I gave the STOP_VALUE as 5e-4 (half the way through the analysis) and STOP_COND as 1 (stop the analysis once elastic strain X is greater than or equal to 5e-4) 


      !beginning of script


      fini


      /clear,nostart


       


      /prep7


       


      et,1,186


       


      mp,ex,1,2e5


      mp,prxy,1,0.3


       


      tb,biso,1


      tbdata,1,250,2e4


       


      block,0,1,0,1,0,1


       


      esize,1


       


      vmesh,all


       


      /solu


       


      nsub,10,10,10


       


      outres,all,all


      nsel,s,loc,x,0


      d,all,ux


      nsel,s,loc,y,0


      d,all,uy


      nsel,s,loc,z,0


      d,all,uz


      allsel,all


       


      nsel,s,loc,x,1


      d,all,ux,0.001


      allsel,all


       


      nlhist,esol,,epel,x,2,1,,,0.0005,1


       


      solve


       


      /post26


      esol,2,1,2,epel,x


      prvar,2


      !End of script


      Hope this helps. 


      Best regards,


      Rohith


       

    • Vitaliy_Degtyarev
      Subscriber

      Thank you very much Rohith!


      Yes, it works.


      Is there a way to terminate analysis when the maximum strain exceeds a specified limit, but it is not known upfront which element and node will have the maximum strain? 


      Thanks again,


      Vitaliy


       

    • Rohith Patchigolla
      Ansys Employee

      Hi VitaliyD, 


      If you are not sure of the location upfront where maximum strain can occur, you can try a combination of post-processing in between (to check the maximum strain) and restarts.


      Here are the steps to do.


      - Instead of single load steps, use multiple load steps. 


      - Create a do loop, looping over all the load steps. 


      - Post-process after each load step for maximum strain


      - Write a condition using *if/*endif commands to terminate the loop if the maximum strain crosses a limit


      - If the maximum strain doesn't cross the limit, go back to /solu, perform a restart from previous LS and continue the simulation. 


      Larger the number of load steps, better the resolution at which you can check for the maximum strain condition. 


      Hope this helps.


      Best regards,


      Rohith 

    • Vitaliy_Degtyarev
      Subscriber

      Thank you Rohith. This answers my question.

Viewing 7 reply threads
  • You must be logged in to reply to this topic.