I want to SEE the failure!

Engineers new to Static Structural simulations build a model, overload it and some expect to see the failure appear as a crack in the model.  ANSYS has sophisticated capabilities to compute cracks in the model, but this is unnecessary if the goal of the analysis is to see when and where the part will fail.

Engineers learn to compare the state of stress with values provided by a failure theory to decide if the part has failed. This is done by comparing a maximum stress in the model with some limiting value.  For example, if the material is ductile, a quick linear elastic analysis will calculate a von Mises Equivalent Stress that can be compared with the Tensile Ultimate Strength. If the maximum stress is larger than the strength, the conclusion is that the part would have fractured. A common method to show failure in a linear elastic model is to set the threshold for the last bar on the legend, which is red, equal to the Tensile Ultimate Strength. If red appears on the contour plot of Equivalent Stress, then it is easy to say that the part has failed under this load and where the part would crack. But people still want to see the crack.

One way to show the crack without using Explicit Dynamics is to use the APDL command ekill. This command removes the element from the model when it reaches the failure criterion; the trick is how to get the model to continue solving after removing the element and incrementing the load. 

SimuTech Group, a Premier ANSYS Partner, provided me with an APDL script and permission to share it with anyone. The script implements ekill in a way that allows elements to be removed and the solution to continue. It works best with displacement loads, not force loads.  I was successful following the directions to use the script on one model and then another. I release this script into the community, as is, with no support and no warranty. I hope someone else finds it useful.

To show the script in use, I created a 2D plane stress model so each solve would be very fast.  The model is a hook with an end load. The question is how much load can the hook support without failure. 

I have three systems: Linear Elastic, Elastic Perfectly Plastic and Ekill Script.

In the Linear Elastic model, the legend has been configured so the color red shows elements that are above the Tensile Ultimate Strength of 640 MPa

ANSYS provides a stress tool to make a Safety Factor plot that divides the Tensile Ultimate Strength by the von Mises Equivalent Stress at each node. Therefore when SF < 1 the part has failed, and when SF > 1 the part has not failed.

In the Elastic Perfectly Plastic model, Bilinear Kinematic Hardening plasticity has been added to the Structural Steel model using the Yield Stress that was defined for that material and setting the Tangent Modulus to zero. During the solution, any element that exceeds the yield stress will plastically deform. This behavior can go on way past the point when the material would have failed. If you keep pulling, the element will keep stretching until the shape collapses on itself and the solver will stop because the element has become invalid.

In the plot below, the strain is over 50%, way past the point of fracture.

In the Ekill Script model, the analysis settings are configured with a large End Time of 500 seconds. That means after each one second increment of time, the script will find any elements that have exceeded the strain threshold, remove them from the model using ekill, then submit the job to solve for the next second.

The above sequence is what some Engineers want to see.

The attached project archive for ANSYS 19.0 has the three systems described.



  • peteroznewmanpeteroznewman Member
    edited May 2018

    Here is the Explicit Dynamics version but it is a totally different model since it has an explosive velocity of the tip.


  • beyaz17beyaz17 Member
    edited October 2018

     Hey Peter,

    thank you a lot for shearing the script. It is very useful to me. But I have one question. 

    Ive used the APDL-code for my 3D-Modell and it works fine. Now the question, the death elements are still in my "Geometry" they dont disappear like you pictures show us. I have to mention that I use a older version of Ansys. I use Ansys WB17 and WB18. the ekill function works fine just the graphical representation doesnt show my how the elements are disappear. What is the problem? maybe i have to change a setting? or is the problem the version of ansys?

  • peteroznewmanpeteroznewman Member
    edited November 2018

    Hey Beyaz,

    Glad it's working. That script has been used well before WB17. I don't know why the failed elements are still showing for you. I didn't do anything special to make them disappear. Maybe someone else can explain.


  • khaledelmonajjedkhaledelmonajjed MontrealMember
    edited December 2018

    Hey Peter,

    Thank you for a wonderful explanation!

    I found this really interesting and attempted to implement it. While using a simplistic model first, I used the same code but decreased the steps to 3 for a faster iteration just to see if I can get the code up and running. The strain is still set to 0.0023.

    The probe deforms downwards at 30mm while the block is fixed at its endpoints. The killelem is set to the block only. The result is that the probe displaces with no effect on the block. Also, I receive this error in the solution output:  The birth and death capability requires that the NROPT,FULL command be 
     specified before the first SOLVE command and before the first EKILL    
     command.  The EKILL command is ignored

    Might you know why this is happening?




  • peteroznewmanpeteroznewman Member
    edited December 2018

    Hey Khaled,

    Are you trying to use Static Structural with Contact elements? That isn't the best way to use ekill because contact elements are only on the surface of the model and when the underlying element is gone, there is no longer a contact element for the object penetrating the target to interface with.

    For piercing type problems, I recommend Explicit Dynamics because the contact algorithm is on an element by element basis and can maintain a solution all the way through the thickness.


  • khaledelmonajjedkhaledelmonajjed MontrealMember
    edited December 2018

    Hello Peter,

    Thank you so much for replying! I would have gone initially to explicit dynamics, however, I got to the understanding that it is used only for high impact analysis and all I would like to do is pierce through at a slow rate. I will definitely try out explicit dynamics, however, for this analysis if the algorithm is more suitable. Is it possible, if you provide me with the same model above in explicit dynamics as you describe in your first comment? I could not find the explicit dynamics archive attachment in the thread it leads to.



  • Aman1735Aman1735 Member
    edited April 2019

     Hello sir,

    i want to ask is it possible to do crack initiation and crack propagation with each and every increment of the load on ANSYS WORKBENCH..?

    As you know ANSYS software consists of two interfaces:-

    1: Workbench

    2:- Mechanical APDL 

    I know that this crack analysis can be done on Mechanical APDL, but is it possible with the Workbench  go to static structural.?

    My problem is i want to do the analysis of cracks for RC beam on ANSYS workbench, but i need some documentation on it,,, so pls hlp me out

  • DG89DG89 Member
    edited July 2019

    Hi everybody,

    Thank you to peteroznewman for its interesting file!

    Now, I'm trying to use the ekill script provided by peteroznewman with a solid body but it does not run. Is it possible? What I have to change?

  • peteroznewmanpeteroznewman Member
    edited July 2019

    How many steps do you have in your solution?

  • DG89DG89 Member
    edited July 2019

    I have no solution, because I encountered the following error message:

     *** ERROR ***                           CP =       0.452   TIME= 1894
     Attempt to divide by zero in parameter expression.                     

     *** ERROR ***                           CP =       0.452   TIME= 1894
     The above error occurred processing field= TIME_END/STEPS              
      Line= *SET,timeinc,(TIME_END/steps).

  • DG89DG89 Member
    edited July 2019

    I attached the file:

  • peteroznewmanpeteroznewman Member
    edited July 2019

    Please download the attachment to this post and run the model in that example to establish that the version of ANSYS you are using can run the script.

  • DG89DG89 Member
    edited July 2019

    I did, and it run without problems ... So I tried to adapt the script to a simple new project and I obtained that error message

  • peteroznewmanpeteroznewman Member
    edited July 2019

    I don't write scripts, I only use them. Looking at the error you posted above, it seems that during execution, STEPS = 0 is set and the divide by zero error occurs.

    Good luck.

  • Eric85Eric85 Member
    edited August 8

    Hello Mr.Peter

    Could you please share the ekill script again? I need to view the failure pattern in my model. My Ansys version is 2019 R3 and my analysis is Static Structural.

    Best Regards

  • Hello! @peteroznewman, Can you share the ekill script pleas?. I need this to work on my model. I'm working in workbench LS-Dyna 2020 r3. Thanks!

  • @hidalgoatomas I don't think APDL scripts work when using LS-Dyna. They work when you launch a solver controlled by MAPDL and LS-Dyna is not a MAPDL solver.

    @Eric85 I was disappointed that the attachment did not survive the conversion to the new format of this website. I relied on the website saving things for me so I have to go digging to see if I can find it and reattach it. Note that the attachment file size limit was reduced from 120 MB to 50 MB so it might require some extra work to attach the archive that demonstrated the script.

  • Lb27Lb27 Member

    Dear @peteroznewman

    I am also very interested in the script. I find this solution to be exactly what I was looking for. If there is still a way to upload the files, I will be very grateful. If there is any other way to retrieve the script, please let me know

    Thank you in advance.

  • AniketAniket Forum Coordinator

    @peteroznewman, thanks for raising this, we are checking this internally if we can get back the attachments from old community.


    How to access Ansys help links

    Guidelines for Posting on Ansys Learning Forum

  • peteroznewmanpeteroznewman Member
    edited August 29

    Thanks to @Aniket who recovered the ANSYS 19.2 archive from the retired community site.

    @Eric85 @hidalgoatomas @Lb27 That archive is attached here and includes the ekill script.

    It is also available to those with access to the ANSYS Customer Portal.




Sign In or Register to comment.