3.3. Mass Scaling
3.3.1. What is Mass Scaling?
Mass scaling allows for arbitrarily increasing the mass of certain nodes to increase the global estimate of the critical time step; therefore, mass scaling is used in conjunction with a node-based time step. The nodes where the mass is increased must be associated with elements that control the global time step; increasing the mass at a node of an element effectively raises the critical time step estimate for that element.
Mass scaling only adjusts the mass at the nodes. It does not, however, modify the density value used in the element calculations, even though the net effect of mass scaling makes it appear as though it has. Mass scaling does not affect the load applied by gravity boundary conditions, centripetal force boundary conditions, or the mass properties reported in the log file.
Mass scaling can be useful in these circumstances, such as
quasi-static or rigid-body motion: If the model or part of a model is undergoing what is nearly quasi-static or rigid-body motion, adding mass may have little effect on the end result.
disparate element sizes: A model may contain groups of elements that are much smaller than others. For example, in screws or gears that are modeled in detail, elements in the screw threads or gear teeth could be much smaller than elements in other portions of the model. If the dynamic response of these small parts is unimportant relative to the rest of the model, adding mass to them might not affect the quantities of interest.
increasing the critical time step for “unimportant” model components: In some problems, a relatively unimportant mesh feature may control the critical time step. Consider, for example, a car crash simulation in which the bumper is the first part to strike an object. The crumpling deformation could reduce the time step in some elements in the bumper, potentially controlling the global critical time step. At a later time in the analysis, however, the effect of the bumper on the overall crash dynamics may not be significant; thus, mass scaling could be applied to ensure that the noncritical bumper does not control the global time step.
Warning
Use of mass scaling will introduce unbounded and potentially unpredictable errors into the analysis and should thus be used with caution. The analyst must use discretion to determine whether mass scaling may be used in a way that does not distort the results of interest.}
3.3.1.1. Mass Scaling Command Block
BEGIN MASS SCALING
#
# node set commands
NODE SET|NODESET = <string list>nodelist\_names
SURFACE = <string list>surface\_names
BLOCK = <string list>block\_names
ASSEMBLY = <string list>assembly\_names
ELEMENT = <string list>element\_names
NODE = <string list>element\_names
INCLUDE ALL BLOCKS
REMOVE NODE SET = <string list> nodelist\_names
REMOVE SURFACE = <string list>surface\_names
REMOVE BLOCK = <string list>block\_names
#
TARGET TIME STEP = <real>target_time_step
ALLOWABLE MASS INCREASE RATIO = <real>mass_increase_ratio
#
# additional command
ACTIVE PERIODS = <string list>periods
INACTIVE PERIODS = <string list>periods
UPDATE INTERVAL = INITIALIZATION_ONLY | EVERY_STEP | AUTOMATIC
(AUTOMATIC)
END MASS SCALING
The MASS SCALING command block controls mass scaling for a specified set of nodes and appears in the adagio region scope. This command block contains one or more command lines to specify the node set. It also contains two command lines that determine how the actual mass scaling will be applied to the nodes in the node set. In addition to the command lines in the two command groups, there are two additional command lines: ACTIVE PERIODS and INACTIVE PERIODS. These command lines are used to activate or deactivate the mass scaling for specified time periods.
Multiple MASS SCALING command blocks can exist to apply different criteria to different portions of the mesh at different times. For any given set of MASS SCALING command blocks, mass will only be added to a node if doing so will allow increasing the global time step. The amount of artificial mass added to a node will vary in time as the mesh deforms and moves. The added mass computation is recomputed every time the node-based time step estimate is recomputed.
NOTE: Mass scaling must be used in conjunction with the node-based time step estimation method. Consult Section 3.2.3 for a description of the node-based method for estimating the critical time step.
Following are descriptions of the different command groups:
3.3.1.2. Node Set Commands
The node set commands portion of the MASS SCALING command block specifies the nodes associated with the boundary condition. This portion of the command block can include some combination of the following lines:
NODE SET|NODESET = <string list>nodelist\_names
SURFACE = <string list>surface\_names
BLOCK = <string list>block\_names
ASSEMBLY = <string list>block\_names
INCLUDE ALL BLOCKS
REMOVE NODE SET = <string list> nodelist\_names
REMOVE SURFACE = <string list>surface\_names
REMOVE BLOCK = <string list>block\_names
These command lines, taken collectively, constitute a set of Boolean operators for constructing a set of nodes. See Section 7.1.1 for more information about the use of these command lines for creating a set of nodes for mass scaling. There must be at least one NODE SET|NODESET, SURFACE, BLOCK, ASSEMBLY, or INCLUDE ALL BLOCKS command line in the command block. Assemblies may contain blocks, surfaces, nodesets, or assemblies of these.
3.3.2. Mass Scaling Commands
The MASS SCALING command block may contain either a
TARGET TIME STEP = <real>target_time_step
command line or an
ALLOWABLE MASS INCREASE RATIO = <real>mass_increase_ratio
command line, or both of these command lines can appear in the input block.
The TARGET TIME STEP command lines sets the maximum time step for a set of nodes. The parameter target_time_step is the maximum time step for all the nodes specified in the command block.
The ALLOWABLE MASS INCREASE RATIO command line sets an upper limit on the mass scaling at a node. The value specified for mass_increase_ratio limits the ratio of the mass at a node, as set by mass scaling, to the original mass at the node. (The original mass of the node is determined only by the element contributions.) This ratio must be a factor greater than or equal to 1. If \(m_{s}\) is the scaled mass at a node and \(m_{0}\) is the original mass at the node due only to element contributions, then the ratio \(m_{s} \div m_{0}\) will not exceed the value of mass_increase_ratio.
Mass scaling will add mass to nodes until the target time step is reached, the mass added to some node reaches the allowable mass increase ratio, or the current set of nodes no longer controls the global analysis time step.
The amount of mass added due to mass scaling is stored in the nodal variable mass_scaling_added_mass. This variable can be output and post-processed to determine how much mass is being added at a given time. See Section 9.3.1 regarding the output of nodal variables to a results file.
3.3.3. Additional Commands
The ACTIVE PERIODS or INACTIVE PERIODS command lines can optionally appear in the MASS SCALING command block:
ACTIVE PERIODS = <string list>periods
INACTIVE PERIODS = <string list>periods
These command lines determine when mass scaling is active. See Section 2.6 for more information about these command lines.
The UPDATE INTERVAL command defines how often mass scaling is updated. The default AUTOMATIC updates the mass scaling when the time step has changed significantly (greater than 5%) since the last mass update. Mass shifting can be expensive so this automatic option avoids changing the mass at too high of a frequency. The EVERY_STEP option recalculates the mass scaling every single step based off of the current model stiffness. Use of this option will ensure the model run at exactly the specified time step. The INITIALIZATION_ONLY option will calculate the mass scaling once at the first time step. The nodal mass scaling will not change after this point. This option can be useful to accept and bound how much mass will be added to the model once and not have the possibility of the mass changing later in time.