LS-DYNA simulation models, both large and small, frequently suffer from undetected modeling errors that can cause runs to die prematurely. Sometimes even minor model changes can introduce stability issues indicating a lack of robustness. Runs that die prematurely squander significant resources, something which I generally refer to as â€œsimulation wasteâ€?.
A recently developed procedure that has proven successful in boosting stability and robustness in most cases is known as â€œmodel shakedownâ€?. During the pre-processing stage, a â€œshakedownâ€? can be done early in the development process to detect and remove any modeling/software issues that are likely to cause numerical instabilities. Repeating this process frequently during the product lifecycle helps ensure clean and robust models and minimizes simulation waste.
The first step in model shakedown involves preparation of the entire model for prediction in either single or multiple load cases. Since most models are now being built for use in multiple scenarios, the shakedown can be limited to just one model with no specific loading condition. Once the model is built with all the necessary features (besides the loading), the input file is modified such that a run can be made for a relatively small number of cycles (a minimum of 100 is recommended). This value can be specified using the parameter ENDCYC on the *CONTROL_TERMINATION keyword. To get a sufficient number of response points for reviewing the shakedown output, the ASCII and BINARY databases should also be set up to yield a minimum of 100 points. Depending on the model content, all relevant ASCII output should be requested, such as global statistics (GLSTAT), joint forces (JNTFORC), section forces (SECFORC), contact forces (RCFORC), sliding interface energies (SLEOUT), nodal outputs (NODOUT), etcâ€¦ Considering a global constant timestep, DT, of 1 second, running the job for 100 cycles would result in a termination time of 100 seconds. The output DT for both ASCII and BINARY to request for eveycle cycle would then be equal to DT. This can be easily accomplished using the *PARAMETER_EXPRESSION keyword as shown below:
R ENDTIM 100
R DT 1
I ENDCYL 100
R ASCII_DT DT
R BIN_DT DT
With the output requests specified above and no loading conditions, all ASCII response magnitudes and all nodal displacements must be zero. Any non-zero values indicate an inherent instability and quickly help to identify areas that may require debugging. Instabilities related to contact, material properties, element quality, and connections (joints, springs, etcâ€¦) can be easily isolated and fixed in this process which otherwise could be very difficult since the non-zero responses cannot be identified with normal loading conditions included. It may be necessary to scale the nodal displacements (usually x10000) to detect undesired displacements. It may also be necessary to view the model in either a wireframe or a edge display mode so inner component’s nodal movements are visible. Once all the energy levels and the response magnitudes are accounted for, the model can be used for simulating the actual load events. This process can also be done on a regular basis as new design changes are incorporated into the model. In Summary, the process of model shakedown involves the following steps:
- Remove all load definitions such as *LOAD_OPTION, *INITIAL_ OPTION, etcâ€¦
- Set the termination time to 100 cycles using *CONTROL_TERMINATION.
- Set all ASCII and BINARY requests to output every cycle.
- Include all relevant ASCII requests such as MATSUM, GLSTAT, JNTFORC, SECFORC, RCFORC, SLEOUT, etcâ€¦
- Post-process results to ensure there are no energy issues and that all non-zero response magnitudes are accounted for.
It should be noted that not all instabilities can be fixed with this process. Negative volume and contact breakdowns are part of other potential model instabilities which should be addressed with good modeling practices in the material and contact definitions.