RSS feed
  • Speeding up Simulations for Focused Studies

    In several situations, simulation models (new or inherited), are quite often burderend with several expensive features that may have negligible effect on the response that is purely used for comparative numerical studies. When a large portion of any simulation model turnaround time consists of features that are irrelavant to the focued study, it is imperative that such features must be turned off to improve the overall turnaround time. Alternative methods could include the usage of a faster and increased number of processors which involves additional cost and availibility. However, a more effective solution would to simply review the model and look for expensive features that has little no bearing on the objective of the study and suppress them. A list of features that was encountered recently while studing the effects of the parameter DPRFAC, the results of which will be published soon, was the following:

    1. Switch to One-Point Integration Shell Element (Type 2 Shell) and use appropriate hourglass control
    2. Use of fast rigid body treatment since no rigidbody rotations was involved
    3. Reference a box to limit number of contact segments
    4. Coarsening of regions of mesh outside of the study
    5. Increased rate of loading
    6. Turn off membrane thinning effects for both element and contact calculations
    7. Increased mass scaled timestep

    The changes above were parameterized using *PARAMETER_EXPRESSION to facilitate a seamless restoration of the original features in just one place in the input file with minimum effort and time. With the above changes, the turnaround time was roughly 6 minutes, from an original turnaround time of 1 hour, which was invaluable as it gave me continuity in the postprocessing. A total of over 20 simulations were run to study the effects of DPRFAC, and with a saving of an hour per simulation, it worked to be around 20 hours.

  • Initial Penetrations in Contact Interfaces

    1. Introduction
    Contact definitions allow the modeling of interaction between one or more parts in a simulation model and have become a necessity in any small or large deformation problem. The main objective of the contact interfaces is to eliminate any “overlap� or “penetration� between the interacting surfaces and they accomplish this by first detecting the amount of penetration and then applying a force to remove them. Depending on the type of algorithm used to remove the penetration, both energy and momentum is conserved. This article discusses the presence of penetration in non-tied penalty-based contact interfaces during the initialization of the problem, usually termed as “initial penetration�, its effects on the accuracy, robustness of the model and how LS-DYNA has features that can minimize its adverse effects.

    2. Detecting Penetrations
    In order to detect the penetration due to contact, LS-DYNA first performs a global search using the Bucket-Sort approach and then a local search using the incremental search technique, to find the closest master segment for any given slave node or a segment. Once a closest segment is found, it projects the slave nodal coordinates onto the closest master segment to compute its orthogonal distance. This is shown in Figure 1. The projected normal distance is computed using a local coordinate system that is embedded in the master segment and is updated every cycle. Based on the sign of the projected distance, LS-DYNA determines if the node is inside (penetration) or outside (no-penetration) the master segment. Projected distance that is less than 0 indicates that a penetration has occurred while a positive projected distance indicates a no penetration condition.

    (Click image to enlarge)

    3. Initial Penetration
    Initial penetration is a term used frequently to describe the amount of penetration that exists between a node and its closest master segment (in the case of classic node/segment treatment) or between two interacting segments (in the case of “segment-based� treatment) during the initialization of the problem. This is shown in Figure 2 by considering only the thickness on the master segment for simplicity.

    (Click image to enlarge)

    4. Need for Penetration-Free Simulation Model at First Cycle
    Existence of penetration at the first cycle in non-interference contact definitions, which is after the initialization of the problem, has several adverse effects on the quality of the simulation. LS-DYNA attempts to remove any penetration that may exist at the first cycle by applying forces to the nodes involved. This initial force can in some instances be very large which may have adverse effects on the stability of the model. These forces could also lead to localized initial stress and strain that may be non-physical. Additionally, if the penetrations were unable to be removed completely at the first cycle, they tend to be carried over to the subsequent cycles leading to a “negative energy� condition altering the numerical accuracy of the simulations. Experience with large and complicated models show that any existence of penetration at the first cycle effects repeatability and robustness when the model is run using multiple combinations of software and hardware. These shortcomings of initial penetrations motivate both the developers and the users to find a method that not only eliminate the issues but they do that in a way that requires minimum user effort.

    5. Default Treatment to the Handle Initial Penetrations in Node/Segment Contact
    In the default treatment, when a slave node is found to penetrate its closest master segment, LS-DYNA updates the nodal coordinates to remove the penetration. Who gets updated depends on the contact definition itself. When the contact definition belongs to the family of “Single Surface� such as “AUTOMATIC_SINGLE_SURFACE� or “AUTMOATIC_GENERAL� or “AIRBAG_SINGLE_SURFACE� to list a few, then both the slave node AND the master segment is moved by the amount. When the contact definition belongs to the family of “ONE-WAY or TWO-WAY�, then only the slave nodal coordinates are updated to remove the penetration.

    In both cases, the removal of penetration is performed using three iterations. At the end of these three iterations, it is possible for penetrations to exist and is entirely based on the model content and the sequence of the contact definitions. For example, we can have two contact definitions C1 and C2 in that order. During the first iterative pass, if we detect penetration of slave node SN1 with master segment MS1, we update the nodal coordinate of SN1 such that it lies exactly on the surface of MS1. Within the same iterative pass, we now check for penetrations due to C2. If SN1 belongs to C2 and is found to penetrate another master segment MS2 in the opposite direction, then we again update the nodal coordinates of SN1 which could void the step performed earlier while handling C1. This type of situation could result in the existence of penetration of SN1 even after 3 iterative pass.

    6. Advantages and Disadvantages of the Default Initial Penetration Removal Process
    Advantages
    1. Eliminates manual removal process thereby saving user’s time and effort.
    2. Eliminates contact stresses at time zero (cycle 1)

    Disadvantages
    1. Distorts original geometry at locations where the penetrations are detected.
    2. Nodal coordinates after the removal process could still penetrate other neighboring segments and may lead to instability issues

    7. Treatment of Initial Penetrations when IGNORE = 1 for Node/Segment Contact
    IGNORE parameter available in both *CONTROL_CONTACT and *CONTACT_{OPTION} (Optional Card ‘C’) keywords allows a new method of handling the presence of initial penetrations. When IGNORE=0, LS-DYNA uses the old default method by updating the nodal coordinates of the offending nodes/segments. This is illustrated in Figure 3. When IGNORE = 2, LS-DYNA does exactly the same steps as described above with the exception that a list of offending nodes and their initial penetration values are written into D3HSP file.

    (Click image to enlarge)

    8. Recommendations
    The most obvious recommendation would be to have no initial penetrations at all. However, this is rather difficult due to the nature of the model building process and the number of design changes that usually occur during the course of the product lifecycle. Accepting this, there are several methods to treat initial penetrations and they are briefly discussed here:

    8.1 Use of External Pre-processors
    Instead of a fixed number of iterations to remove penetration by LS-DYNA, external pre-processors allow a user-defined number of iterations until a certain level of acceptable penetrations are reached. This approach may assure zero or minimal penetration levels but comes at the cost of geometry update which may be undesirable from the design perspective. Additionally, they still may not resolve issues such as dependent nodal penetrations where one contact interferes with another as discussed above. Lastly, depending on the penetration condition, it is extremely difficult to match the penetration-check algorithms between the pre-processors and LS-DYNA as the checks are refined in newer releases in LS-DYNA. Using external pre-processor is recommended for simple models and primarily for removing crossed-edge condition (as shown in Figure 4, originally prepared by Anders, LSTC) while ensuring that the updated coordinates do not deviate significantly from the original geometry, which in complicated models, could be extremely difficult to verify. LS-PREPOST (version 2) provides a feature to detect and remove initial penetrations including crossed-edges. More information on this new feature can be viewed at http://www.lstc.com/lspp.

    (Click image to enlarge)

    8.2 Contact Thickness Scaling
    LS-DYNA allows scaling of contact thickness in several ways which has no effect on the structural thickness specified in the section definitions. The first method involves scaling of contact thickness that affects ALL segments for a particular contact definition.

    The first method involves using any of the parameters such as SST, MST, SFST, SFMT in individual contact keyword *CONTACT_{OPTION}. SST and MST values override values specified in the section definitions while SFST and SFMT SCALE them. Using this method, one can quickly replace or scale-down the contact thickness for the entire contact but comes with certain drawbacks. If the penetration levels are located in a localized region, using this approach we are scaling down all the segments that has no penetration levels associated which could create additional clearances between components that originally did not have any initial penetrations.

    The second method involves replacing or scaling the contact thickness at a PART level using the _CONTACT option in the *PART keyword. Parameter OPTT can be used to override the thickness or parameters SFST can be used to scale the contact thickness. This method is highly recommended if the penetration level exists in a localized region since it only affects the scaling or overriding of values for the part that uses the _CONTACT option.

    8.3 IGNORE Parameter in *CONTACT and *CONTROL_CONTACT
    Considering the difficulties in using any external pre-processor to remove initial penetrations, the option of using the IGNORE parameter to remember the penetration history without modifying the nodal coordinates is very attractive considering it involves the minimum of users time and effort. During the course of a product lifecycle, several design changes related size and shape will be incorporated. Size changes, involving shell component thicknesses, will alter the initial penetration conditions if IGNORE parameter is not considered which may lead to geometry updates that may alter the solution. Using IGNORE=1 causes LS-DYNA to skip the geometry update step thereby preserving the geometry while considering size changes.

    9. Acknowledgements
    It is with extreme pleasure that I acknowledge Dr. Lee Bindeman, for sharing information related to segment-based contacts, Dr. Jason Wang for sharing information related to MPP-LSDYNA, Dr. Morten Jenson for reviewing this article.

    10. References
    Sliding Interfaces With Contact-impact In Large Scale Lagrangian Computations, Dr. John Hallquist.
    A Procedure for the Solution of Finite-Deformation Contact-Impact Problems, Dr. John Hallquist.
    LS-DYNA Theory Manual, 2006, Livermore Software Technology Corporation.
    LS-DYNA Keyword Users Manual, 2006, Livermore Software Technology Corporation.

  • Prescribing Motion to a Rigidbody with Respect to a Local System

    LS-DYNA offers several ways to prescribe a motion to a rigidbody using *BOUNDARY_PRESCRIBED_MOTION keyword. To prescribe a motion to a rigidbody along a local coordinate system, LS-DYNA offers two method to accomplish this. To demonstrate the differences in these two methods, we will consider a rigidbody that has initial rotational velocity and a prescribed displacement. The initial rotational velocity is NOT a prescribed motion so is defined using *INITIAL_VELOCITY keyword while the displacement is a prescribed motion using the *BOUNDARY_PRESCRIBED_MOTION keyword. Our objective is to prescribed the displacement in a local coordinate system that is embedded to a the rigidbody.

    1. Vector
    Using the DOF parameter, all possible values of (4,-4,8,-8) allows us to prescribe a motion to a rigidbody by using a vector definition that can be defined using *DEFINE_VECTOR keyword. It must be noted that the vector is not updated is time and therefore all motion is prescribed based on the initial direction of the vector. The motion of the rigidbody when the Vector is not updated in time is as shown below.

    (Click image to animate)

    2. RIGID_LOCAL
    When this option is used, motion is prescribed to the rigidbody along a local coordinate system associated to the rigidbody using the LCO parameter in MAT_RIGID. In this case, the local coordinate system is updated every cycle and therefore the motion is always prescribed based on the instantaneous position of the local coordinate system. The motion of the rigidbody when using the _RIGID_LOCAL option is shown below. As it can be seen, the rotational velocity causes the local coordinate system to rotate in time and this rotation changes the direction of the motion every cycle resulting in the spiral rigidbody motion.

    (Click image to animate)

    Example Input File: Boundary_Presribed_Motion_Rigid_Local.k

  • Deformable Spotwelds in LS-DYNA

    Over the years, spotweld representation for crash and NVH applications have evolved from a crude to a detailed modeling resulting in reduced pre-processing effort while greatly enhancing the accuracy of numerical models. Here is link that gives a brief overview of spotwelding process in LS-DYNA. Please note that the document is over 2 years old and has not been updated since. Please refer to the latest LS-DYNA keyword and theory manual for more information.

    Deformable_Spotwelds_in_LS-DYNA_for_Impact.pdf

    Additional information compiled by Mr. Jim Day: Spotwelds

  • Modeling Press-Fit Conditions to Include Initial Stresses

    In many designs, parts are often press-fitted as part of an assembly which causes an initial stress condition that is important to consider in simulations. To induce initial stresses that occur in such press-fit conditions, one can either linearly/non-linearly scale the overlap (penetration) or the contact stiffness over a certain interval depending on the following choice of analysis techniques available in LS-DYNA.

    Scaling of Overlap (Penetration)
    Linear/Nonlinear scaling of overlap is usually applied in transient simulations by constraining one part and moving the second part from an initial position that has 0% overlap to a final position that induces 100% overlap.This is shown in the following figure. In this method, the contact stiffness remains constant but the overlap can be thought of as being scaled over a certain interval.

    (Click image to enlarge)

    (Click image to enlarge)

    Scaling of Contact Stiffness using INTERFERENCE contact
    Linear scaling of the contact stiffness is employed when using the Contact Interference definitions in which the two parts are analysed where the initial geometry used in the simulation corresponds to the 100% overlap. When two parts have such intersecting volumes at time zero (initialization), non-interference contact definitions removes the overlap without the application of any contact forces which is undesirable in press-fit simulations. When using the INTERFERENCE option, LS-DYNA skips the process of removing the overlap at cycle zero but rather accomplishes the same result by removing the overlap over a user-defined number of cycles (TIME) and a user-defined contact stiffness scale factor using either or both LCID1 and LCID2 parameters that is mandatory in interference contact definitions. The resulting contact forces are applied to both slave and master components which will need to have appropriate constraints to induce the required stresses. The amount of force applied to remove the overlap is reported to the ascii file RCFORC. A sample curve for a transient simulation is as shown below where the contact stiffness scale factor is scaled linearly over the certain time interval and is held constant for the remainder of the simulation until ENDTIM is reached. The process of overlap or penetration removal can be simulated in a dynamic relaxation (LCID1) or a transient phase (LCID2). Dynamic relaxation phase can use a implicit method rather than the default explicit method using IDRFLAG in *CONTROL_DYNAMIC_RELAXATION keyword. If the press-fit is simulated in a dynamic relaxation phase, then LCID2 must be defined for the transient phase such that the contact stiffness scale factor is defined to be 100% (unity) from the start till the end of the transient simulation time.

    (Click image to enlarge)

    (Click image to enlarge)

    Inclusion of Initial Stresses
    Initial stresses developed from the above simulations can be stored using the INTERFACE_SPRINGBACK_LSDYNA keyword and reused using any of the following methds.

    1. Reference Geometry using *INITAL_FOAM_REFERENCE_GEOMETRY keyword.
    2. Initial condition using *INITIAL_STRESS/STRAIN keyword
    3. Seamless continuation to a different solution following the pre-stress simulation

    Notes
    Since the INTERFERENCE options causes LS-DYNA to skip the segment orientation check, it is extremly important to align the shell segment normal orientations to point towards each other. There are no thickness offsets that will be considered when using INTERFERENCE option. It thickness offsets are desired, one can use the parameters SST and MST to define a non-zero thickness offset which applies for both shell and solid elements. There is a bug in LS-DYNA v971 R2 and lower versions which causes it to ignore the SST,MST parameters when the contact type is a two-way (SURFACE_TO_SURFACE). In such cases, it is recommended to define two one-way (NODES_TO_SURFACE) to achieve symmetric treatement which is equivalent to a two-way contact.

    Example using Contact Interference
    Here is an example of a press-fit simulation in which the foam is defined as the master and the rigid as a slave in a CONTACT_NODES_TO_SURFACE_INTERFERENCE definition. To avoid any movement of the rigid block, it is prescribed to to have zero displacements until 100% overlap is removed at 0.01seconds. After the overlap is eliminated, the pre-stressed foam is further compressed by moving in the z-direction. The stiffness scaling curve is defined using a DEFINE_CURVE_FUNCTION.


    *CONTACT_NODES_TO_SURFACE_INTERFERENCE_TITLE
    1, interference
    6, 4, 3, 3,
    0
    ,, 4.0, 4.0
    0, 212
    *DEFINE_CURVE_FUNCTION
    212,
    $ power of 2
    MIN( POW(TIME,2)*10000, 1.0 )
    $ linear
    $MIN( TIME*100.0, 1.0 )

    Example Input File: Contact_Interference.k

  • Full-Newton and Quasi-Newton Iterative Schemes

    When running problems using Implicit solution sheme in LS-DYNA, the default iterative non-linear solver used is the BFGS method that employs a ‘Quasi-Newton’ method in which the global stiffness matrix is reformed only every ILIMIT steps and in between these a relatively inexpensive update to the stiffness matrix is performed. This default stiffness matrix update scheme works very well and relative fast when there is no significant contact is involved and the non-linearily of the problem is not big. The default method often fails to converge when the non-linearity of the problem grows or when significant amount of contact is involved. For such problems, a more expensive Full-Newton method is recommended by setting ILIMIT=1 which forces LS-DYNA to reform the stiffness matrix at every iterative step to yield a more accurate stiffness estimation. When full-newton method is employed, it is often necessary to set a large maximum allowable reformations using the MAXREF parameter to allow sufficient number of stiffness reformations before terminating or reduction of the solution timestep (when AUTO timestep control is activated). Recommended value of MAXREF depends on the problem but typical values could be around 200 which should be sufficient for any large non-linear problem to converge on a solution.

    Related keywords include *CONTROL_IMPLICIT_SOLUTION, *CONTROL_IMPLICIT_SOLVER