# 7.15. Inertia Relief

    BEGIN INERTIA RELIEF
      #
      # node set commands
      NODE SET|NODESET = <string list>nodelist_names
      SURFACE|SIDESET|SIDE SET = <string list>surface_names
      BLOCK = <string list>block_names
      ASSEMBLY = <string list>assembly_names
      ELEMENT = <integer list>element_ids
      NODE = <integer list>node_ids
      INCLUDE ALL BLOCKS
      REMOVE NODE SET = <string list>nodelist_names
      REMOVE SURFACE = <string list>surface_names
      REMOVE BLOCK = <string list>block_names
      #
      # component commands
        COMPONENT = <string>X|Y|Z
      # additional commands
      EXTERNAL FORCE CONTRIBUTION OUTPUT NAME = <string>output_field
      ACTIVE PERIODS = <string list>period_names
      INACTIVE PERIODS = <string list>period_names
    END [INERTIA RELIEF]

The `INERTIA RELIEF` command block computes a force or a moment in the given component directions that counteracts the external forces/moments in the problem. This capability is useful when a body is flying through space given an external force contribution, but the user would like the body to remain in a constant frame of reference.

The `INERTIA RELIEF` command block contains two groups of commands—node set and component. Each of these command groups is basically independent of the others. In addition to the command lines in the two command groups, there are three additional command lines: `EXTERNAL FORCE CONTRIBUTION OUTPUT NAME`, `ACTIVE PERIODS`, and `INACTIVE PERIODS`. Following are descriptions of the different command groups.

## 7.15.1. Node Set Commands

The `node set commands` portion of the `INERTIA RELIEF` command block defines a set of nodes associated with the inertia relief field and can include some combination of the following command lines:

    NODE SET|NODESET = <string list>nodelist_names
    SURFACE|SIDESET|SIDE SET = <string list>surface_names
    BLOCK = <string list>block_names
    ASSEMBLY = <string list>assembly_names
    ELEMENT = <integer list>element_ids
    NODE = <integer list>node_ids
    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 used by the boundary condition. There must be at least one `NODE SET|NODESET`, `SURFACE`, `BLOCK`, `ELEMENT`, `NODE`, `ASSEMBLY`, or `INCLUDE ALL BLOCKS` command line in the command block. Assemblies may contain blocks, surfaces, nodesets, or assemblies of these.

## 7.15.2. Component Command

The `COMPONENT` command specifies the direction of the counterbalance force and is the same for all nodes in the node set associated with the particular `INERTIA RELIEF` command block. As an example, a component `x` corresponds to using direction vector (1, 0, 0). By default, all components are used in the inertia relief calculation.

## 7.15.3. Additional Commands

These command lines in the `INERTIA RELIEF` command block provide additional options for the boundary condition:

    EXTERNAL FORCE CONTRIBUTION OUTPUT NAME =
      <string>name_of_output_field
    ACTIVE PERIODS = <string list>period_names
    INACTIVE PERIODS = <string list>period_names

The `EXTERNAL FORCE CONTRIBUTION OUTPUT NAME` command line can be used to specify the name of the output variable to be computed that is the counterbalance force calculated inside the inertia relief code. Note, in order to output the variable, the variable must still be requested as a nodal variable in the necessary output sections.

The `ACTIVE PERIODS` and `INACTIVE PERIODS` command lines determine when the boundary condition is active. See Section 2.6 for more information about these command lines.

## 7.15.4. General Notes

- If using a single `INERTIA RELIEF` command block, all blocks in the model must be connected in some way. To apply inertia relief to separated blocks in the model, multiple `INERTIA RELIEF` command blocks must be defined for each separate block.

- Inertia relief does not counterbalance kinematic boundary conditions.

- It is not guaranteed that the displacement of the model is zero. The only guarantee is for the momentum to be zero or near zero.

## 7.15.5. Example

    Begin Inertia Relief
      include all blocks
    End Inertia Relief

The resulting `INERTIA RELIEF` applies forces and moments that balance out the external forces and moments of all blocks in the model. The net forces and moments applied by the inertia relief boundary condition are available for output in the global variables `force_inertia_relief` and `moment_inertia_relief`. The centroid about which moments are applied is placed in the global variable `centroid_inertia_relief`.