.. _elements-mass:

**************************
Mass Property Calculations
**************************

.. code-block:: sierrainput

   BEGIN MASS PROPERTIES
     #
     # block set commands
     BLOCK = <string list>block_names
     ASSEMBLY = <string list>assembly_names
     INCLUDE ALL BLOCKS
     REMOVE BLOCK = <string list>block_names
     #
     # structure command
     STRUCTURE NAME = <string>structure_name
   END [MASS PROPERTIES]

Sierra/SM automatically gives mass property information for the total model, which consists of all the element blocks. (The mass for the total model, for example, is the total mass of all the element blocks.)  Sierra/SM also automatically outputs mass property information for each element block.

In addition to the generated mass property information, Sierra/SM allows the user to optionally define a structure composed of multiple element blocks and calculate the mass properties for this structure using the ``MASS PROPERTIES`` command block in the region scope.

For the total model, each element block, and any user-defined structure, Sierra/SM reports the mass and the center of mass in the global coordinate system. It also reports the moments and products of inertia, as computed in the global coordinate system, about the center of mass.

The ``MASS PROPERTIES`` command block contains two groups of commands -- block set and structure. Each of these groups is independent of the other. Following are descriptions of the two command groups.

.. _elements-mpblock:

Block Set Commands
==================

The ``block set commands`` portion of the ``MASS PROPERTIES`` command block defines a set of blocks for which mass properties are being requested, and can include some combination of the following command lines:

.. code-block:: sierrainput

   BLOCK = <string list>block_names
   ASSEMBLY = <string list>assembly_names
   INCLUDE ALL BLOCKS
   REMOVE BLOCK = <string list>block_names

These command lines, taken collectively, constitute a set of Boolean operators for constructing a set of blocks. See :numref:`conditions-general-entity` for more information about the use of these command lines for creating a set of blocks used by the command block. There must be at least one ``BLOCK``, ``ASSEMBLY``, or ``INCLUDE ALL BLOCKS`` command line in the command block. Assemblies may contain blocks, or  assemblies of these.

The ``REMOVE BLOCK`` command line allows the user to delete blocks from the set specified in the ``BLOCK``, ``ASSEMBLY``, and/or ``INCLUDE ALL BLOCKS`` command line(s) through the string list ``block_names``. The ``REMOVE BLOCK`` command line is typically used with the ``INCLUDE ALL BLOCKS`` command line. To include all but a few of the element blocks, a combination of the ``REMOVE BLOCK`` command line and ``INCLUDE ALL BLOCKS`` should minimize input information.

Suppose that only one element block, ``block_300``, is specified on the ``BLOCK`` command line. Then only the mass properties for that block will be calculated. If several element blocks are specified on the ``BLOCK`` command line, then that collection of blocks will be treated as one entity, and the mass properties for that single entity will be calculated. For example, if two element blocks, ``block_150`` and ``block_210``, are specified on the ``BLOCK`` command line, the total mass for the two element blocks will be reported as the total mass property.

.. _elements-mpstruct:

Structure Command
=================

The output for the mass properties will be identified by the command line:

.. code-block:: sierrainput

   STRUCTURE NAME = <string>structure_name

where the string ``structure_name`` is a user-defined name for the structure.
