x
Our website uses cookies. By using the website you agree ot its use. More information can be found in our privacy policy.

# Mass scaling

### Mass-scaling refers to a technique whereby nonphysical mass is added to a structure in order to achieve a larger explicit timestep.

Anytime you add nonphysical mass to increase the timestep in a dynamicanalysis, you affect the results (think of `F=m*a`). Sometimes the effect is insignificant and in those cases adding nonphysical mass is justifiable. Examples of such cases may include the addition of mass to just a few small elements in a noncritical area or quasi-static simulations where the velocity is low and the kinetic energy is very small relative to the peak internal energy. In the end, it's up to the judgement of the analyst to gage the affect of mass scaling. You may have to reduce or eliminate mass scaling in a second run to gage the sensitivity of the results to the amount of mass added.

One can employ mass scaling in a selective manner by artificially increasing material density of the parts you want to mass-scale. This manual form of mass scaling is done independently of the automatic mass scaling invoked with `DT2MS` in `*CONTROL_TIMESTEP`.

When `DT2MS` is input as a negative value, mass is added only to those elements whose timestep would otherwise be less than
` |DT2MS|`. By adding mass to these elements, their timestep becomes equal to `|DT2MS|`. An infinite number of combinations of `TSSFAC` and `DT2MS` will give the same product, i.e., timestep but the added mass will be different for each of those combinations. The trend is that the bigger `|DT2MS|` (and the smaller `TSSFAC` while `TSSFAC*|DT2MS|=const`), the greater the added mass. In return, stability may improve as `TSSFAC` is reduced (just as in non-mass-scaled solutions). If stability is a problem with the default `TSSFAC` of 0.9, try 0.8 or 0.7. If you reduce `TSSFAC`, you can increase `|DT2MS|` proportionally so that their product, and hence timestep, is unchanged.

To determine where and when mass is automatically added, write `GLSTAT` and `MATSUM` files. These files will allow you to plot added mass vs. time for the complete model and for individual parts, respectively. To produce fringe plots of added mass in parts comprised of shell elements (`DT2MS` negative), set `STSSZ=3` in `*DATABASE_EXTENT_BINARY`. You can then fringe the added mass (per element) using LS-POST by choosing Fcomp > Misc > time step size. (Here, the label "time step size" is really the element added mass.)

### The difference between using a positive or negative number for `DT2MS` in`*CONTROL_TIMESTEP` is as follows:

Negative: Mass is added to only those elements whose timestep would otherwise be less than `TSSF*abs(DT2MS)`. When mass scaling is appropriate, I recommend this method.

Positive: Mass is added or taken away from elements so that the timestep of every element is the same. My opinion is there is no advantage to using this method over the negative `DT2MS` method and I find it harder to rationalize.

The parameter `MS1ST` in `*CONTROL_TIMESTEP` controls whether mass is added only once during initialization (`MS1ST=1`) or anytime as necessary to maintain the desired timestep specified via `DT2MS` (`MS1ST=0`).

You can use `ENDMAS` in `*CONTROL_TERMINATION` to stop the calculation aftera certain amount of mass has been added (active for automatic mass scaling only).

### Mass-scaling of deformable spotweld beams:

The mass-scaling parameter in `*MAT_SPOTWELD` (`DT`) affects only the spotwelds. If no mass-scaling is invoked in `*CONTROL_TIMESTEP` (`DT2MS=0.`) AND the timestep is controlled by the deformable spotwelds, `DT` can be used to add inertia to the spotwelds during intialization in order to increase the timestep to a value of `DT`. When `DT` is nonzero, mass added to spotweld beams is reported to `d3hsp`. `MATSUM` momentum and KE does NOT factor in added mass to def. spotwelds. `GLSTAT` DOES factor in added mass to total KE.

### Consider 3 cases of invoking mass-scaling in a model with deformable spotwelds:

1. Although "percentage mass increase" under "Deformable Spotwelds:" in `d3hsp` is bogus when `DT2MS` is neg. and `DT` in `*MAT_SPOTWELD = 0`, the following are correct: "added spotweld mass" in `d3hsp` "added mass" and "percentage increase" in `d3hsp` AFTER the first time step "added mass" in `glstat` and `matsum`
2. Added spotweld mass controlled by `DT` in `*MAT_SPOTWELD` is NOT INCLUDED in "added mass" given in `d3hsp`, `glstat`, or `matsum` when `DT2MS` is neg. and `DT` in `*MAT_SPOTWELD` is nonzero. This can be quite misleading. User must check for "added spotweld mass" in `d3hsp`. Recommended: Do not invoke both mass-scaling criteria. Neg. `DT2MS` with `DT=0` (case 1 above) is preferred.
3. If `DT` is nonzero and `DT2MS=0`, the initial timestep will NOT consider added spotweld mass but the time step will increase by 10% each cycle until the correct timestep (considering added spotweld mass) is achieved. `Glstat` and `matsum` contain no "added mass" line item.

### Selective mass-scalling:

Selective mass-scaling (new in LS-DYNA V971 R3) is invoked using `DT2MS` and `IMSCL` in `*CONTROL_TIMESTEP`. 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.
The selective mass scaling option requires the solving of a sparse equation system every time step. The mass matrix is no longer diagonal. Storing the non-diagonal mass matrix requires some memory and the solution of `m*a=F` takes some CPU time. The system is solved iteratively.