(844) 825-5971   Contact Us SimuTech Group’s YouTube Channel SimuTech Group on Facebook

Get Our Latest Tips & Tricks

Receive the latest updates to our popular Tips & Tricks articles and videos by subscribing to our Monthly Newsletter and Subscribe to the SimuTech Group YouTube channel channel.
For even more advanced ANSYS instruction, check out our consulting and training services. Or simply contact us to discuss any of your ANSYS needs.

Performing EKILL Element Death in an ANSYS Workbench Mechanical Model

When running structural models in ANSYS Workbench Mechanical, users sometimes want to perform element birth and death between load steps. Although the Mechanical APDL interface permits birth and death, it is not directly supported in the Workbench interface.

An APDL Commands Object can be inserted in a structural environment to consider the current state of a model at each load step, and to perform an EKILL command based on current element results, load step number, or other criteria. The example in this article considers equivalent stress as a criterion for killing elements. In other situations, the load step at which element birth or death should take place is known in advance. The elements can be selected by referring to an element Named Selection at the right time, and performing EKILL or EALIVE, as appropriate. A null load step (single substep solve with no change in loading) is suggested for pre-planned element birth or death at a known load step.

In order to identify the body or bodies in a model that are to be checked for element birth or death, a Named Selection of one or more bodies can be created. The name used should be compatible with the rules for Component names in APDL. Start with a letter, use only letters, digits and underscores, and use no more than 32 characters:

 

ekill element death1

 

It is easier to evaluate the state of elements in a model while remaining inside the /SOLU solution processor in ANSYS. If review of results is done in the /POST1 processor, then restarts have to be executed in order to continue the solution, introducing complexities, writing files to the hard drive, and increasing solution time. In Workbench Mechanical, in order to reduce memory and disk space used, commands are executed in the background ANSYS Batch job to prevent database information from being written into the in-memory database. Writing data to the in-memory database has to be re-enabled before the first SOLVE command in order to check results without leaving the /SOLU solution processor.

A user could create an APDL Commands Object to execute the command to save results in the in-memory database. The commands could be in a special object that executes before the first load step SOLVE, or it could be in an object that checks whether the first load step is about to execute, and gives the command only in the first step. The approach in this example is to check whether the first load step is about to solve, and to command results to be written into the in-memory database only when the first load step is about to execute. The commands to write solution data are:

fini
/config,noeldb,0 ! write results into the database
/solu ! continue with solution


The APDL example below, which checks for load step number, executes the command to write results into the database if the first load step is about to be taken. Otherwise, it selects nodes with stresses above a stated level, and kills elements attached to those nodes. The APDL Commands Object is set to execute at every analysis load step taken:

 

ekill element death2

Here is the set of commands that executes. Users might input the lower level of the check on stresses with an input argument to the Commands Object if desired.

! kill elements for which nodes have values above a designated value...
!
/com, #############################################
/com, #
*get,myncmls,active,,solu,ncmls ! cumulative number of load steps
*if,myncmls,gt,0,then ! if this is after the first
cmsel,s,elem_to_kill_body ! ELEMENT component to be checked
nsle ! nodes on these elements
SELTOL,1.0e-12 ! stay within range below
! #########
nsel,r,s,eqv,230,2000000 ! re-select nodes with results above a value <<<
! #########
SELTOL ! selection tolerance back to default
*get,numnode,node,,count ! how many nodes with result above?
*if,numnode,gt,0,then
esln ! elements with any node selected
*get,numelem,elem,,count
*if,numelem,gt,0,then
ekill,all
*endif
*endif
allsel
*else
! if first load step, have result written to in-memory database
fini
/config,noeldb,0 ! write results into the database
/solu ! continue with solution
*endif
/com, #
/com, #############################################
!


In the above commands, note the SELTOL command that ensures that the tolerance on the set of stresses entered will be tight. The upper limit on the stresses is expected to be well above any stress produced in this model. The Units in this model are millimeters, so the stress values are in MPa. When using APDL Commands Objects, users must be very careful that appropriate units are entered, and chosen for solution of the model.

Note the command that checks how many load steps have been executed prior to the current load step:

*get,myncmls,active,,solu,ncmls ! cumulative number of load steps

This is how the check is done as to whether the first load step is about to solve, in which case the /CONFIG command is executed for this particular analysis.

In this way, a user can include a check for element death at every load step. The checks can only be performed at the ends of load steps, so users may want to use many load steps, with loads increasing gradually over those load steps. Below is an example that uses 20 load steps:

 

ekill element death3

 

Loads can use formulas to make then increase gradually, for example, over the 20 seconds above, a displacement is ramped up according to the formula Y component = time*0.05. The units here are millimeters:

 

ekill element death4


In this way, the stresses will be checked 20 times as loads are increased, and elements killed when their stress exceeds the limit used in the NSEL command. Of course, element death like this causes a solution to be nonlinear, and model convergence is left as a challenge for the user.

In other types of analysis, a particular load step could be chosen as the time for an EKILL or EALIVE command to be executed for selected elements that are indicated with a Named Selection. In this way, certain construction sequence steps could be included in an analysis. Recall that element death and birth “anneals” the elements so that they contain no stresses when they are brought to life, which could capture the solidification of a weld, concrete, epoxy, or the coming into existence of some sort of spring or bolt connection. Ensure that the first load step kills the elements that are to be brought to life later. No /CONFIG command is required in such a case, of course.

We hope that you can make productive use of element birth and death in your Workbench Mechanical models.