Mass-scaling is a term that is used for the process of scaling the element’s mass in explicit simulations to adjust its timestep. The primary motivation is to change (usually increase) the global compute timestep which is limited by the Courant’s stability criteria. LS-DYNA allows two different types of mass-scaling using the DT2MS parameter from *CONTROL_TIMESTEP with the default set to no mass-scaling. When DT2MS is less than zero, LS-DYNA adds mass of each element whose timestep is below abs(DT2MS) such that the element’s updated DT is equal to abs(DT2MS). When DT2MS is greater than zero, LS-DYNA adds mass to elements whose DT is below abs(DT2MS) and “removes” mass from elements whose DT is greater than zero. DT2MS>0 is seldom used while DTM2<0 is frequently used for overcoming the smallest computed timestep. Care must be taken when using DT2MS<0 to ensure that the added mass does not have an adverse effect on the simulation accuracy. It is common practice to limit the percentage of added mass to less than 5% (at part level) in dynamic simulations. Optionally, users can set ENDMASS in *CONTROL_TERMINATION to terminate a simulation based on percentage of added mass based on the total mass of the model. When ENDMAS is greater than zero, LS-DYNA terminates when the percentage of added-mass reaches ENDMAS and a report of up to 20 nodes (sorted in the descending order of its added mass due to mass-scaling) is written to both standard output and D3HSP file. It must be noted that the percentage of added-mass is based on total mass of the model which included rigid body, rigid walls, etc… and could be misleading if looked at the global level. LS-DYNA outputs the percentage of added mass at component level which is a better indicator of amount of added mass due to mass-scaling. The concept of mass-scaling for both options of DT2MS is graphically illustrated below.

**Limiting Mass-Scaling to First Step**

By default, when DT2MS is < 0, mass-scaling is performed at every compute cycle (timestep). When MS1ST (Mass-Scaling 1 STep) in *CONTROL_TIMESTEP is set to 1, LS-DYNA performs the mass-scaling only at the first cycle. When this option is used, the timestep could drop below abs(DT2MS). This is illustrated in the following figure. (Click image to enlarge)

**Dynamic Mass-Scaling**

Mass-scaling can also be specified by a load curve with DT2MSLC parameter in *CONTROL_TIMESTEP. When DT2MSLC is greater than zero, it overrides the value of DT2MS. Load curve based mass-scaling, defined using a monotonically increasing curve, is helpful when early part of the simulations is dominated by inertia effects and mass-scaling during this time could affect the responses. In such cases, a load curve based DT2MS can be defined with either a zero or small mass-scaled timestep until the end of the dynamic simulation after which a non-zero or a larger mass-scaled timestep can be input. It must be noted that LS-DYNA always takes the maximum of the current timestep and the ordinate value of the DT2MSLC to compute the mass-scaling. A sample curve used by DT2MSLC is as shown below.

**Selective Mass-Scaling**

Starting from LS-DYNA version 971 (revision 3) and higher, users can now use a new form of mass-scaling termed as “Selective mass-scaling” which is much more accurate than the default mass-scaling since it does not scale the rigidbody mass. Selective mass-scaling can be turned on using the IMSCL in *CONTROL_TIMESTEP and could apply either to all the parts of the model (set to 1) or do just a few parts (<0 with abs(IMSCL) = part set list) which is recommended as the selective mass-scaling is both memory and CPU intensive.

** Note 1: ** Amount of mass added to the element is governed by the absolute value of DT2MS and is NOT multiplied by TSSFAC. For example, two different simulations with same DT2MS but with different TSSFAC will have the same percentage of added-mass but will be solved using different global timesteps. If the intent is to reduce the added-mass, then it is recommended to update DT2MS parameter directly and not TSSFAC (TimeStep ScaleFACtor).