Overview of Mass-Scaling in LS-DYNA

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.

(Click image to enlarge)

(Click image to enlarge)

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) dt2ms4

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.

(Click image to enlarge)

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).

  • In dynamic crash analyisis it will be helpful if location and C.G. of added mass is known. Is there any option in Ls- Dyna to get this information?

    Anil Waghmare

  • Suri Bala says:

    Node-based incremental mass or % increase in mass due to mass-scaling can now be written to D3PLOT using the MSSCL parameter in DATABASE_EXTENT_BINARY.

    Additionally, you can use SSSTAT to view time-history of the C.G of part on interest which would include the effects of the additional mass. You can request the sub-system statistics using the *DATABASE_EXTENT_SSSTAT & *DATABASE_SSTAT for more information.

  • Is selective mass scaling implemented in the current release (971.398) or to be implemented in an upcoming release?

  • Suri Bala says:

    I am not sure. The best way to check is to view the D3HSP file under CONTROL TIMESTEP and look for listing of selective mass scaling. If present, it can be assumed that it is being supported.

  • H’mm – looks like selective mass scaling is not support in the public releases, yet. It’s not listed in D3HSP and CONTROL_TIMESTEP only accepts the eight parameters listed in the manual. Are you beta-testing perchance?

  • Bob says:

    How do you output the percentage of added mass on a component level using LS-DYNA?

  • Suri Bala says:


    You can view the *DATABASE_EXTENT_BINARY option to invoke the output of percentage of mass-scaling info for every node. Additionally, you can view the % of added mass for every part id in MATSUM.

    Suri Bala

  • Paolo Capozzi says:

    Dear Suri,

    is it normal that if I have SOFT=2 and selective mass scaling at the sime time the system behaves like if there was no contact? Without mass scaling is okay, but if I apply mass scaling the two structures does not come in contact, one simply passes through the other. I tried to apply selcetive mass scaling to the same simulation with SOFT=0 and it works.

  • Suri Bala says:


    It may be that the selective mass-scaled timestep used is much larger than it should be. If this is true,the segments are allowed to interpenetrate which could go unresisted.

    The better check would be to rerun the problem using selective mass-scaling BUT using the same timestep as the virgin timestep.


  • Loren says:

    Is there anyway I can find out more information on Dynamic mass scaling?

  • Suri Bala says:


    I am not sure if I understand your question. If you are looking for some documentation, then perhaps you can look into the Theory manual. If you are looking for mass-scale information after a run is completed, then D3HSP, MATSUM, GLSTAT should provide more information on where the mass-scaling is performed.

    Suri Bala

  • Suri,

    I am facing problem with increased mass is coming out dueto mass increase(% of incrase is 10%). Wht are the fctors will effect this termination.

    please let me know.

  • Suri Bala says:


    ENDMASS parameter controls the termination due to mass increase. If you wish to continue to run irrespective of the mass-increase then you could set ENDMASS=0 in *CONTROL_TERMINATION.

    Suri Bala

  • Tomas says:

    I understand that one has to be careful not to add kinetic energy when using mass scaling to speed up the runs and we can check the glstat files and compare the Internal Energy and Kinetic Engergy but can someone tell me how does one check for the effects of mass scaling on stress results? Since it is non structural mass will the addition of mass to an element make the elements higher stiffness and less deformable reduce the stress results?


  • Kristjan says:

    According to my understanding DT2MS option can not be used in ALE simulations. Did I understand it correct and/or is there any options to change the dt in ALE simulations?

  • Yann says:

    Dear Suri,

    I am studying the numerical robustness of a full car crash model.
    For that I only change the dt2ms parameter from 4.8e-4ms to 8.2e-4ms through 25 simulations (with TSSFAC=0.9 and DTINIT=0).

    I obtain really different results between these simulations and the difference in intrusion on the firewall can be more than 10 cm !

    Do you have tipps of how to improve the stability of a model regarding this dt2ms parameter and to avoid such “butterfly effects” ?
    Here are some info I already get:

    * Use the last version of Dyna
    * Try to use Element 16 in sensible parts, with Hourglass type=8

    Thank you very much!

  • Suri Bala says:


    A lot of factors can affect the robustness and I suspect DT2MS has nothing to with this. Have you tried running the same 25 simulations with a <5% variance in the DT2MS value ?

    OR You could simpy perturb the model using a 1-2 % different in initial velocity and see how largely the intrusion numbers are.

    However, looking at the FINAL value in a explicit dynamic calculation is always tricky as they dont always give you a clear picture. You must plot the time histories and see when they start to differ and identify events that are occuring at that point.

    Suri Bala

  • Yann says:

    Dear Suri,

    Thank you for your answer.

    In my last 25 simulations, I went from 7.8e-4ms to 8.2e-4ms, it means a variance < 0.25% in DT2MS value.
    I always have a maximal intrusion difference of 11 cm between to runs.

    In fact, by plotting the time histories (for nodout), I notice that the curves start to differ at 50ms, whereas the crash lasts 120ms, but it is really hard to identify what exactly happens at this state… I already looked on energies time history to identify what happens, and in which area and I think there is problems with solid spotweld elements in this car model..

    I read other notes you wrote which were very interesting, like the “shakedown” of the model or the MPP way to decompose. With shakedown, I identified initial kinetic energies in the tires.
    I tried the automatic MPP decomposition (which takes account of the initial speed), in order to have more processors involved in the area where there are a lot of computations, but I didn’t improve the variance of the maximal intrusion on the firewall.

    Eventually, I really decreased the instabilities by changing the formulation of the elements on the frame rail.

    If you have other ideas or comments, I would be delight to read you.


  • Johan says:

    If I understand tings correctly, selective mass scaling will add some kind of non-physical mass that only affects the high frequencies. That means that now we have two types of added mass.
    In the d3hsp and matsum files, however, there is still only one added mass reported. Quite a lot of added mass is reported in the parts on which I apply selectice mass scaling, but I cannot judge whether this is acceptable or not.

    So my questions are:
    Is it the selective/non-physical added mass or the normal physical added mass that is reported in these files?
    If there somewhere I can find information about both types of added mass?

  • Aditya Vaidya says:

    Hello All
    I am doing a quasic static simulation involving shell elements. It is mimicking an actual test. The test involves pulling a fabric at a rate of 0.2 in / min. The total test duration is 140 sec.
    This is obviosuly a very large time frame when it comes to simulation. I am trying to use mass scaling to overcome this problem. In the simulation I am pulling the fabric at 100 times faster than the rate in the original experiment and to account for it I have increased the density of the material by 100 times. Does this makes sense?

    Is there any other way by which I can reduce the simulation time and capture all the effects.

    Thank you in advance

Leave a Reply

Your email address will not be published. Required fields are marked *