You can apply element birth and death behavior to most static and nonlinear transient analyses using the same basic procedures described in the various analysis guides.
Modify your basic analysis procedure as follows to incorporate the element birth and death feature:
While in the PREP7 preprocessor (/PREP7), create all elements, even those that will not be activated until later load steps. You cannot create new elements after preprocessing.
For all analyses employing element birth and death, perform the following actions in the solution (SOLU) phase:
In the first load step, choose the analysis type and all appropriate analysis options (ANTYPE).
For a structural analysis, activate large-deflection effects (NLGEOM,ON).
For all birth and death applications, set the Newton-Raphson option to full explicitly in the first load step (NROPT). (The program cannot predict the presence of an EKILL command in a subsequent load step.) Deactivate (EKILL) all of the initially inactive elements that you intend to add (reactivate) in later load steps.
Elements are deactivated (or activated) in the first substep of the load step, and maintain that status through the rest of the load step. The default reduction factor used as a stiffness multiplier might not suffice for some problems; sometimes, you may need to use a more severe reduction factor. To provide a new value for the reduction factor, issue the ESTIF command.
Nodes not connected to any active elements may "float," or pick up stray degree-of-freedom responses. You may want to constrain inactive degrees of freedom (D, CP, etc.) in some cases to reduce the number of equations to be solved and to avoid ill-conditioning. Constraining inactive degrees of freedom can become more important for cases in which you want to reactivate elements with a specific shape (or temperature, etc.). If so, remove the artificial constraints when you reactivate elements, and remove nodal loads from inactive degrees of freedom (that is, at nodes not connected to any active elements). Similarly, you must specifically add nodal loads (if any) to reactivated degrees of freedom.
Part of your input listing could look like this for your first load step:
! First load step TIME,... ! Sets TIME value (optional for static analyses) NLGEOM,ON ! Turns large-deflection effects on NROPT,FULL ! You must explicitly set the Newton-Raphson option ESTIF,... ! Sets non-default reduction factor (optional) ESEL,... ! Selects elements to be deactivated in this load step EKILL,... ! Deactivates selected elements ESEL,S,LIVE ! Selects all active elements NSLE,S ! Selects all active nodes NSEL,INVE ! Selects all inactive nodes (those not attached to any ! active elements) D,ALL,ALL,0 ! Constrains all inactive degrees of freedom (optional) NSEL,ALL ! Selects ALL nodes ESEL,ALL ! Selects ALL elements D,... ! Adds constraints as appropriate F,... ! Adds nodal loads to active degrees of freedom as appropriate SF,... ! Adds element loads as appropriate BF,... ! Adds body loads as appropriate SAVE SOLVE
In the remaining load steps, you can deactivate and reactivate elements as desired. As before, be sure to apply and delete constraints and nodal loads as appropriate.
To deactivate and reactivate elements, issue the EKILL and EALIVE commands, respectively.
The following simplified input listing demonstrates how you might deactivate and reactivate elements:
! Second (or subsequent) load step: TIME,... ESEL,... EKILL,... ! Deactivates selected elements ESEL,... EALIVE,... ! Reactivates selected elements ... FDELE,... ! Deletes nodal loads at inactive degrees of freedom D,... ! Constrains inactive degrees of freedom ... F,... ! Adds nodal loads as appropriate to active degrees of freedom DDELE,... ! Deletes constraints from reactivated degrees of freedom SAVE SOLVE
You can also use TABLE array
parameters to control the activation of elements by defining a table
using *DIM and enclosing the table name in % symbols; for
example, EALIVE,%tabname
%. You can
also use TABLE parameters to control the deactivation of elements using
EKILL,%tabname
%.
Valid primary variable names are TIME, X, Y, Z and ELEM. Tabular loads can be defined in the global Cartesian (default) coordinate system, or in a local coordinate system (LOCAL). Only Cartesian, spherical, and cylindrical coordinate systems are valid. When defining the tables, the primary variables must be in ascending order in the table indices (as in any table array). See the *DIM command for more information on defining tables.
An EALIVE table is evaluated for a given element if that element is currently deactivated. If the evaluation is non-zero, the element is activated and remains activated for the remainder of the analysis (unless deactivated by EKILL).
An EKILL table is evaluated for a given element if that element is currently activated. If the evaluation is non-zero, the element is deactivated and remains deactivated for the remainder of the analysis (unless activated with EALIVE).
Note: Tables interpolate between primary variables, so interpolations between a
zero entry and a non-zero entry will be non-zero, hence the element will be
activated. For instance, a table of heights (for example,
*DIM,tabname
,TABLE,n,,,Z)
with Z-axis values of 0,10,20 and table values of 0,0,1 leads to all
elements between Z = 10 and Z = 20 being activated. The evaluation takes
place at the element centroids for the X, Y, and Z primary variables.
Typically, you will follow standard procedures when postprocessing an analysis containing deactivated or reactivated elements.
Be aware that "killed" elements are still present in your model, even though they make an insignificant contribution to the stiffness (conductivity, etc.) matrix; therefore, they are included in element displays, output listings, etc. For example, deactivated elements are included in nodal results averaging (via the PLNSOL command) and will "smear" the results. Ignore the entire element printout for deactivated elements because many items computed make little physical sense.
To remove deactivated elements for element displays and other postprocessing operations, issue the ESEL command.
At times, you will not explicitly know the location of elements that you need to deactivate or reactivate. For example, if you want to "kill" melted elements in a thermal analysis (that is, to model the removal of melted material), you will not know the location of those elements beforehand and will need to identify them on the basis of their program-calculated temperatures. When the decision to deactivate or reactivate an element depends on the value of a result item (such as temperature, stress, strain, etc.), you can use commands to identify and select the critical elements.
To identify the critical elements, issue the ETABLE command. To select the critical elements, issue the ESEL command.
You could then deactivate or reactivate the selected elements. To deactivate the selected elements, issue the EKILL,ALL command. To reactivate the selected elements, issue the EALIVE,ALL command.
Note: You can also use the Ansys Parametric Design Language to write a macro to perform such an operation. See the Ansys Parametric Design Language Guide for more information.
The following simplified input listing demonstrates how you might deactivate elements that rupture when their total strain has exceeded some critical value:
/SOLU ! Enter SOLUTION .. ! Typical solution procedure SOLVE FINISH ! /POST1 ! Enter POST1 SET,... ETABLE,STRAIN,EPTO,EQV ! Store total equivalent strain in ETABLE ESEL,S,ETAB,STRAIN,0.20 ! Select all elements with total equivalent strain ! greater than or equal to 0.20 CM,killedelement,elem ! Save these elements to a component CMWRITE,kill,cm ! Write this component to a file kill.cm for use in restart FINISH ! /SOLU ! Re-enter SOLUTION ANTYPE,,REST ! This resumes the rdb file, but rdb does not have killed ! element information CDREAD,db,kill,cm ! Recreate the killed element component CMSEL,s,killedelement ! Select killed elements EKILL,ALL ! Deactivate selected (overstrained) elements ESEL,ALL ! Restore full element set ... ! Continue with solution