Log in
Log in Simulate Now
Log in Simulate Now

Simulating a Rigid Body in OnScale Solve

By Ashish Patel 13 April 2022


A rigid body is an approximation of a very stiff material in the simulation. There is no deformation within this kind of body and the distance between any two points in the body remains constant during the simulation. Treating parts as rigid bodies instead of very stiff materials not only results in model simplification but also improves the conditioning of the global stiffness matrix, which in turn increases the accuracy with which a linear system of equations is solved.

Since the material inside of a rigid body cannot deform, it is often sufficient to represent only the interface between the rigid and non-rigid regions of the domain. For many simulations, this provides a way of reducing the model size and complexity. For example, if we are interested in the modal response of an engine and mounting bracket assembly the engine could likely be represented simply as a rigid interface with the mounting bracket attachment points while lumping its mass at its centroid.

In this blog post we’ll investigate how rigid bodies are defined in OnScale Solve and how they can be used effectively.

Modeling Methodology

A rigid body definition can consist of multiple edges, faces or parts. If a part is marked as a rigid body, the elastic properties of the material assigned to the part are ignored and only the density of that material is used to determine the mass, rotary inertia and center of mass of the body. Apart from determining gravitational forces, mass and rotary inertia are important only for Dynamic or Modal analysis.

The complete behavior of a rigid body region is represented with six independent degrees of freedom. These are three translations and three rotations at the reference point of the rigid body. The reference point is like a handle where loads (Force and Torque), constraints (applied Displacement and Rotation), additional mass and connectors are applied or attached. The reference point can be at any point inside or outside the body. If not provided, the reference point defaults to the center of mass of the body. The displacements of all other points in the rigid body are calculated from the reference point solution. Since the position of these points is uniquely determined by the rigid body calculation, other constraints (Restraint, Displacement, Symmetry) cannot be applied to surfaces or edges included in the body.

In a Static or Modal simulation, each degree of freedom i.e. three translations and three rotations of a rigid body must be globally constrained in one of the following ways:

  • Using a single-degree-of-freedom constraint where the translation and/or rotation of the rigid body are directly specified
  • Using a Connector to another globally constrained Body
  • Using a shared interface with a globally constrained non-rigid region

The last two methods require a multi-degree-of-freedom constraint. Unlike single-degree-of-freedom constraints, a multi-degree-of-freedom constraint establishes a coupling relation among multiple degrees of freedom.

A ball connector, for example, requires that the translation of both bodies are equal, which gives the constraint equation:

\mathbf{u}^1_0 - \mathbf{u}^2_0 = 0 \qquad(1)

When the interface of a rigid body is shared with a non-rigid part, then the displacement of the shared nodes on the interface is coupled to the reference point translations and rotations. Physically speaking, the constraint equation enforces the rigid behavior of the interface while transferring the interface forces from the non-rigid part. The constraint equation is:[1]

\mathbf{u} = \mathbf{u}_0 + \left( \mathbf{Q} - \mathbf{I} \right) \left( \mathbf{X} - \mathbf{R} \right) \qquad(2)

where \mathbf{u} represents the displacement of shared nodes, \mathbf{u}_0 \in \mathbb{R}^3 and \mathbf{Q} \in \text{SO}^3 represents the translation and the rotation of the rigid body, respectively. \mathbf{X} \in \mathbb{R}^3 denotes the position vector of the shared nodes and \mathbf{R} \in \mathbb{R}^3 denotes the position vector of the reference point of the rigid body.

Rigid Body Case Study

Let us perform a static simulation using an example of the suspension bracket shown in Fig. 1. The CAD consists of seven parts - one bracket, two spacers, two washers, one bolt and one nut. We want to simulate all the parts except the bracket as a single rigid body. To do this, we first create a rigid body with a reference point that is exactly midway between the upper two bracket holes. We then assign all the parts (except the bracket) to this rigid body. We can then apply a displacement/rotation constraint or a force/torque load at the reference point of this rigid body. Here we are applying a downward force of 100 kN. In order to globally constrain the system, we restraint the inner faces of the two circular holes at the bottom of the bracket. All parts are made of structural steel material. However, as noted above, the elastic properties of the material are ignored for parts belonging to a rigid body.

Fig. 1 Bracket


As noted above, the whole rigid region is represented with only six independent degrees of freedom, so the solver adds six additional degrees of freedom to the problem and also decouples the interior nodes of the rigid body from the global system of equations. The interface nodes between the rigid and non-rigid parts, however, need to satisfy the constraint equation given in Eq. 2. These constraints are applied via Lagrange multipliers. This interface region is shown using the blue color in Fig. 2.

Fig. 2 Side views showing interface between rigid and non-rigid parts in blue


In fact, if we are not much interested in the graphical solution of interior rigid nodes we could just suppress the rigid parts from the simulation and assign the interface faces to the rigid body. This is what is done in the second simulation setup shown in Fig. 3.

Fig. 3 Reduced Bracket


The results from both simulation approaches are shown in Fig. 4. The warping has been increased to better show the resulting deformation. Similar results are obtained using both approaches.

Fig. 4 Displacement magnitude from simulation of both full (top) and reduced geometry (bottom)


Closing Remarks

Here we saw how we can model the parts that are stiff compared to the rest of the structure as a rigid body. We also saw how we can use the interface node between rigid and non-rigid parts to decrease the model size significantly. Finally, we learned about how the solver handles the rigid body definitions during the solution process.


O. C. Zienkiewicz and R. L. Taylor, Finite element method: Volume 2. Butterworth Heinemann, 2005.


Ashish Patel
Ashish Patel

Ashish is a Principal Software Developer at OnScale, developing HPC algorithms for fast and scalable multi-physics simulation on the cloud. Ashish has a PhD in Mechanical Engineering and has extensive experience in developing scientific computing software.

Discover how customers like you found success by
leaving traditional engineering simulation behind

Try OnScale following
our simulation guides

Simulate Now

Discuss your engineering
applications with us

Request a Demo