Abstract
This paper presents an efficient approach of using spatial algebra operator to formulate the kinematic and dynamic equations for developing capabilities to model flexible bodies within general purpose multibody dynamics solver. The proposed approach utilizes the joint coordinates and modal elastic coordinates as the system generalized coordinates. The recursive nonlinear equations of motion are initially formulated using the Cartesian body coordinates (CBC) and the joint coordinates (JC) to form an augmented set of differential algebraic equations. The system connectivity matrix is derived from system topological relations and is used to project the Cartesian quantities into the joint subspace leading to minimum set of differential equations. The modal transformation matrix is used to describe the finite element kinematics in terms of a small set of generalized modal coordinates. Although the resulting stiffness matrix is constant, the mass matrix depends on the generalized elastic modal coordinates and needs to be updated at each time step. To reduce the computational efforts, a set of precomputed inertia shape invariants (ISI) can be identified and used to update the flexible body mass matrix. In this proposed joint-coordinates formulation, the transformation operations required for the flexible body inertia matrix are different from those in case of CBC formulation. The necessary ISI and the algorithm to reconstruct the modal mass matrix will be presented in this paper.
1. Introduction
Virtual development procedures became the most economical venue in product design and optimization. Modeling and simulation of the elastic components in multibody systems became an integral part of the virtual product simulation. During operation, flexible components and light-structure are prone to excessive vibration. The vibration could be excited by driving over rough road or terrain, internally moving components like engines, or due to work cycle loads excitations. Structural components and light fabrications (LF) are subject to static and fatigue failure. Cyclic elastic deformation of the flexible structures due to vibration can initiate crack propagation leading to structural failure. Also, high frequency elastic deformation can generate severe structural noise leading to unacceptable noise levels. Accurate prediction of the flexible body's transient response to the applied loads and accuracy in predicting the loads become essential requirements to insure that the design will have adequate fatigue durability. Although LF and structural components can be modeled using the same technique, the nature of loading and response may require different considerations for simulating LF.
Designers usually recommend using robust and accurate analytical tools in performing transient analysis to accurately predict the loads and excitations and compute the resulting stresses and strains in the flexible body. Then the fatigue life of the component could be utilized as the acceptance criteria for the flexible body design. Such simulations should be able to capture law as well as high frequency excitations that may excite the high frequency resonance of the flexible body. As a result of including the high frequency excitations, the integrator time step should be small enough to capture those high frequency excitations and the resulting response. As the integrator time step decreases and the number of DoF increases, the simulation time increases significantly calling for more computing resources. This requires efficient multibody simulation algorithms that can model flexible bodies while maintaining minimum number of DoF.
Three traditional approaches have been used to formulate the multibody equations: the Cartesian body coordinates (absolute coordinates), the joint coordinates, and velocity transformation method. The Cartesian body coordinates formulations are very popular and reported to be a simpler method to construct the equations of motion leading to a large set of differential-algebraic equations [1, 2]. The configuration of a rigid body is described by a set of translational and rotational coordinates. Algebraic constraints are introduced to represent kinematic joints connecting bodies and then the Lagrange multiplier technique is used to describe joint reaction forces. The system of differential-algebraic equations has to be solved simultaneously. Newton-Raphson iterations or similar techniques could be used to satisfy the applied constraints. Although these formulations are easy to construct, one of the main drawbacks is that their computational inefficiency especially simulating systems with large number of degrees of freedom and with high frequency contents leads to very long simulation time. Implementing the flexible body dynamics in CBC formulation has been demonstrated by many researchers and has been used in many commercial software packages [3–6]. Nikravesh [2, 7] presented an overview of the difference between body coordinate formulations based on Newton-Euler equations of motion and the joint based coordinated formulations. In this paper, Nikravesh presented using the velocity relations to transform one formulation to the other. Appending the deformable body into the multibody system was also discussed.
Featherstone [8–10] used spatial vectors to study the dynamics of articulated bodies. Featherstone and Orin [11] and Featherstone [12] presented an efficient approach for utilizing spatial algebra to model multibody systems and efficiently factor the inertia matrix for rigid body systems. Wehage and Haug [13] used a similar approach to develop a set of automated procedures for robust and efficient solution of over-constrained multibody dynamics. Wehage and Belczynski [14] proposed structuring the kinematic and dynamic equations into block-matrix structure and developed procedures to enable real-time simulation of multibody system. Rodriguez et al. [15, 16] presented a spatial operator based on the spatial algebra for developing multibody dynamic equations of motion.
The flexible body dynamics were implemented in joint-coordinates based formulations [17]. Newton-Euler factorization of the mass matrix leads to recursive algorithm for inverse dynamics and composite-body forward dynamics. Nikravesh [18] presented semiabstract form for the equations of motion of rigid and flexible body, where he focused on the reduction techniques. The different methods to attach a body frame to a moving deformable body and the model reduction techniques were reviewed. Also the advantages and disadvantages of each technique were briefly discussed. Mukherjee and Anderson [19] presented an efficient implementation of the parallel processing of multibody systems that include flexible bodies. Although many researchers have implemented flexible body capabilities in joint-coordinates based multibody system, some of these implementation did not account for the changes of flexible body inertia matrix due to deformation. Other formulations did not show details of the implemented inertia shape invariants. A primary contribution of this paper will be detailing the inertia shape invariants for the flexible body in joint-coordinates based formulation using spatial algebra.
This paper describes a general purpose formulation and implementation for modeling flexible body in multibody system based on the joint-coordinates formulation. The presented approach utilizes a recursive scheme to evaluate the equations of motion. The spatial algebra operators are used to formulate the kinematic and dynamic equations of motion. This paper is organized as follows. In the following section the structure of the equation of motion of the multibody system using joint-coordinates formulation is introduced. In Section 3, the flexible body kinematic and dynamic equations of motion are presented, and the component mode synthesis approach and inertia shape integrals based on the spatial algebra are presented in detail. In Section 4, the multibody system equations of motion including rigid and modal flexible bodies will be presented. Section 5 provides an outline of the recursive algorithm implemented to solve the proposed multibody system equations of motion. Section 6 discusses some considerations for the pre-/postprocessing operations of the flexible body to be used in the dynamic simulation using the proposed formulation. In Section 8. The following set of conventions will be used: a small letter represents a scalar quantity like mass m, small underlined letter represents a 3D vector with three entries like vector distance
2. Kinematic and Dynamic Equations of Motion of Rigid Body
In the joint-coordinates based formulation, the system is topology described based on the connectivity between the different bodies in the system. Each body is usually connected or referenced to a parent body through an arc joint that allows for one or more DoF. The ground body (the inertial body) is usually considered to be the root of the kinematic tree. While each body can have only one parent (ancestor body), it could have one or more child bodies (descendent bodies). The connectivity graph or the kinematic tree is one way to represent the kinematic relation between the bodies in the system. In the kinematic tree the root body is numbered as 0 while the descendent bodies are numbered consecutively from 1 to nb. The body and the joint connecting it to its parent are given the same number [3]. Using the parent-child relation, a parent-child list could be developed and stored to be used later in the recursive calculations [12, 20, 21]. Anybody in the system could be modeled as rigid or flexible body.
In the proposed formulation triads or markers will be used very frequently. The triad is composed of three orthogonal unit vectors used to measure relative and absolute motion between different points in the system. The triad position is defined by the position of its origin while the orientation is defined by the rotational matrix. The triad could be referring to a point in the rigid or flexible body. If the body is rigid, the triad position and orientation will remain constant during the dynamic simulation with respect to the body reference frame. If the body is flexible, the triad must be associated with a node in the flexible body. The initial position of the triad is defined with respect to the body reference frame by the node location and the triad orientation could be parallel to the reference frame. During the dynamic simulation, the triad position and orientation may change depending on the elastic deformation at the attachment node.
The child body is joined to its parent through two triads; one triad is attached to the parent side while the other triad is on the child side. The triad in the child side is considered as the output triad and is used as the reference frame of the child body. All the kinematic quantities and dynamic matrices are expressed with respect to the body reference frame. The triad in the parent side is considered as the input triad to the child body, connector triad. The position and orientation of the connectors are measured relative to the parent reference triad through the spatial transformation matrix, as shown in Figure 1.

Body kinematics and joint connections.
The arc joint DoF or joint variables is defined as the allowed relative motion between the two connecting triads. Relative motion between the triads could be translation or rotation along one of the connector triad axes. Massless triads could be inserted between the two bodies to represent joints with more than one DoF. The joint variables displacement, velocities, and accelerations are used as the body state variables. The Cartesian displacements, velocities, acceleration vectors, and the joint reaction forces are considered as augmented algebraic variables.
The position vector of body i is defined in the global coordinate system by position vector of the origin of the body reference triad of the body
where
where
where L
ij
ij
is the 6 × 6 spatial translation matrix,
where
Using the recursive approach, the spatial velocity vector of a descendent body could be written using the parent spatial velocity as follows:
If all the bodies in the system shown in Figure 1 are considered rigid bodies, the velocity of body l could be written in a similar way as follows:
Rearranging the terms in the velocity equations, the system velocity could be calculated recursively as follows [12]:
The system recursive equation for the local velocity in (8) could be written in a compact form as follows:
where T
a
ℓℓ is the topological matrix and it could be easily constructed using the connectivity graph and the parent child list, the superscript ℓ refers to local matrices, the superscript a refers to the system assembly matrix, and
Similarly, the spatial acceleration vector of body j could be obtained by differentiating the velocity vector as in (9) as follows:
Assuming that the quadratic velocity term could be expressed as
The recursive form to calculate the system local accelerations could be written as follows:
Using the kinematic equations defined earlier, the rigid body equations of motion could be derived from the momentum equations. The spatial momentum vector of the rigid body j can be written as follows:
where
where mj is the mass body j,
where the symbol 0 refers to global coordinate system,
3. Kinematic and Dynamic Equations of Motion of Flexible Body
The dynamics of deformable body can be modeled in the multibody system as a reduced form of the full finite element model using nodal approach or modal approach. Modal formulation uses a set of kinematically admissible modes to represent the deformation of the flexible body [3–6, 22]. Component mode synthesis approach is widely used in the multibody dynamics codes to accurately simulate the flexible body dynamics in the multibody system. The main advantage of the modal formulation is that fewer elastic modes can be used to accurately capture the flexible body dynamics at reasonable computational cost. Craig-Bampton approach was introduced to account for the effect of boundary conditions and the attachment joints of the flexible body [3, 4].
The spatial gross motion of the flexible body is described by the motion of the reference frame, similar to any rigid body, using 6 coordinates. The elastic deformation of the flexible body is described by a set of constant admissible elastic modes and time-dependent modal amplitudes. This set of generalized coordinates is used to derive the modal equations of motion from the body's kinetic energy. Assuming that the flexible body reference global position is defined by
Assuming that the number of modal elastic modal coordinates of body j is n j m , the flexible body generalized coordinates will be 6 + n j m . The velocity and acceleration vectors of the flexible body could be obtained by differentiating (16) with respect to time as follows:
During the modal reduction of the finite element, the retained modes should be carefully selected based on the application and desired analysis [2, 4–6]. In the case of heavy structures, it may be important to retain the static interface modes and the inertia relief modes while in the case of light fabrications the natural vibration modes and the attachment modes become very important in order to achieve accurate results. The static modes could be obtained from the finite element solver by applying a unit load at the prespecified DoF and solving for the deformed shape. The normal modes are obtained by solving the eigenvalue problem for the finite element model. The attachment modes are obtained by applying a unit displacement at the prespecified attachment DoF and solving for the resulting deformed shape. The combined set of modes should be orthonormalized in order to obtain a set of kinematically independent modes in order to avoid singularities. Assuming the total mode set for body j is defined by the matrix
Assuming a triad is attached to node p. In the undeformed configuration the node is located at distance
where quantity
It should be noted that (18) is expressed in spatial algebra notation which implies that node p will have 3 rotational and 3 translational coordinates. In the finite element model, depending on the type of element used, the nodes may not have 6-DoF and the corresponding modal matrix block will be missing some rows. In order to be consistent in developing the equation of motion we assume that the modal block will be expanded to have 6 rows by inserting rows of zeros corresponding to the missing node DoF as follows:
where
The angular and translational velocity at node p could be calculated as follows:
The spatial velocity vector of node p could be expressed in matrix form as follows:
Using a lumped mass approximation for the pth node, the kinetic energy can be expressed as follows:
where mp is the translational mass associated with the translational DoF at node p and
where Mp,rr rr is the spatial inertia matrix at node p referenced to the body's reference frame r that can be identified from (24) as
The inertia matrix in (25) is expressed in the body's local frame r and depends on the modal coordinates
where
It should be noted that this matrix is square symmetric with dimensions
In order to derive the equation of motion of the flexible body, the time derivatives of the time dependent matrices,
From the inertia submatrices in (27), the following inertia shape invariants could be identified:
where I1 is a 3 × 3 symmetric matrix that updates the rotational inertia at flexible body reference frame due to elastic deformation through the parallel axis theorem. Consider
where I
i
2 contains the effect of cross-coupling of elastic deformation through
where I ik 3 accounts for the change in the rotational inertia due to elastic deformation. This equation will result in 3 × 3 symmetric matrices when i = k:
Equation (33) calculates I5 resulting in a 3 × n m j matrix that could be written in the following form:
Equation (35) calculates
Equation (36) calculates I7 resulting in 3 × n m j matrix. It should be noted that the ith column will be zero due to the cross-product:
Equation (38) calculates symmetric modal inertia matrix of dimensions n m j × n m j :
Equation (39) calculates I10 resulting in a 3 × n m j matrix that could be written in the following form:
The inertia shape invariants I1 to I10 in (29) to (40) are calculated and stored in the preprocessing phase. During the dynamic simulation, these inertia invariants could be used to determine the terms in the flexible body mass matrix in (27) and the derivatives in (28) as follows: starting with
where
The intermediate invariants N j 1 in (42) were introduced because they will be used again and should be stored to improve the computational efficiency. The next submatrix is
The remaining four inertia submatrices are evaluated as
The time derivative of inertia matrices in (28) is expressed in terms of inertia invariants as
In the proposed approach, a general finite element procedure is used to determine the stiffness matrix of the flexible body. The dimension of the stiffness matrix depends on the number of finite elements and elastic coordinates. Then the modal transformation matrix is used to obtain the constant stiffness matrix that could be used during the dynamic simulation. The dimensions of the stiffness matrix depend on the number of modal coordinates used in the model reduction [23, 24]. In this section, the procedure used to formulate the flexible body stiffness matrix is briefly outlined.
The strain energy of the flexible body j could be written as the sum of the strain energies of the finite body finite elements. The strain energy of an element i of body j, U ij , could be written as follows:
where
where
where
where q0em j is the vector of initial modal coordinates that can account for initial stains in the flexible body. From the material constitutive equations, the stress-strain relationship is defined as
where
where K ff ij is the element stiffness matrix. The strain energy of the flexible body could be written as follows:
where
where the stiffness matrices associated with the reference degrees of freedom of the flexible body are equal to the null matrix. The stiffness matrix of the flexible body can be assembled and transformed using a standard finite element assembly procedure.
Similarly, the modal structural damping matrix associated with the flexible body j could be obtained and the virtual work of the flexible body damping forces could be written as follows:
where Q d is the vector of damping forces due to elastic deformation which can be written as follows:
where C ff j is the modal structural damping matrix of the flexible body j.
The Lagrangian function for the flexible body could be expressed in terms of the kinetic energy T and the potential energy V as follows:
The equation of motion of the flexible body could be obtained by differentiating the Lagrangian operator, ℒ, using Lagrange's equation as follows [1]:
where T is the kinetic energy of the flexible body defined by (26), V is the potential energy of the flexible body (53), and
Performing the full differentiation and rearranging the terms in (57) we can write the equation of motion of the flexible body as follows:
where the right hand side of the equation represents the inertia forces and quadratic forces associated with the flexible body and could be written as follows:
where K m is the modal stiffness matrix and C m is the modal damping matrix. The flexible body inertia and quadratic forces could be expressed in terms of the ISI as follows:
where the new quantity N2 could be expressed as follows:
Using the inertia shape invariants in I1 to I10, N1, and N2, the equation of motion of the flexible body is completed in (59) and ready to be integrated in the system equation of motion. In order to be consistent with the rigid body equation of motion in (15), the terms of the flexible body equation of motion could be rearranged as follows:
where r refers to the flexible body's local reference frame, m refers to flexible or elastic coordinates, Mj,jj
jj
represents the 6 × 6 inertia matrix associated with the reference motion of body j defined at the reference of body j (similar to the rigid body inertia matrix),
4. Multibody System Equations of Motion
The proposed formulation utilizes the connectivity graph and parent-child list to optimize the recursive dynamics approach for solving the equations of motion. The solution is done in two steps: (1) marching forward from the root body to evaluate the velocities and accelerations of the descendent bodies through the joint variables and (2) stepping backward from each descendent body to project the Cartesian forces and the Cartesian inertia matrix into its joint subspace and into its parent body. As shown in Figure 2, the flexible body could be anywhere in the kinematic tree and could have more than one connected descendent. Descendants of the flexible body are connected through triads attached to flexible nodes. The node elastic deformation leads to extra articulation at the joint and must be accounted for during the spatial recursive calculations. The descendent bodies should be first referenced to the connecting node which is referenced to flexible body reference frame. In reference to Figure 1, the spatial transformation matrix between the flexible body j and the descendent body l could be written as follows:
where X jc jc is the spatial transformation matrix from the flexible body reference to the connecting node that includes the effect of the elastic translational and rotational deformations and X cl cl is the spatial transformation matrix between the descendent body and the connecting node due to joint articulation. For simplicity the intermediate transformation will be omitted with the understanding that it has to be calculated. Similarly, the velocity of the descendent of the flexible body could be calculated as follows:
where
where

Free body diagram of two connected bodies in the multibody system.
The force projected across the joint from the descendent body into the parent flexible body should be also projected into the connecting node frame first then transformed to the flexible body reference frame in order to account for the elastic deformation. These equations could be applied to a multibody system that includes a flexible body, as shown in Figure 2. The connectivity graph of the system is also shown in Figure 2. The velocity equations could be written in matrix form as follows:
The recursive velocity equation could be written in a compact form as follows:
where T
a
ℓℓ is the topological assembly matrix and could be constructed using the system connectivity graph, the subscript a refers to the system assembly,
Similarly, the spatial accelerations in (66) and (67) could be written in a compact form as follows:
Using the free body diagram for the multibody system shown in Figure 2, the equation of motion of each body could be formulated as follows: (notice that two sets of equations are needed for each flexible body as shown in (63))
The joint influence coefficient matrices could be used to project the joint Cartesian forces into the free joint subspace as follows:
where
The system equations of motion could be derived from the kinematic relations for the Cartesian acceleration in (71), the body equations of motion in (72), and the reaction forces in (73) and arranged in matrix form as follows:
A general form for the equation of motion of multibody system with flexible bodies could be written in a compact form as follows:
where the block diagonal matrix
The system of equations given by (75) can be easily solved for the joint accelerations and the modal coordinates accelerations. Then the Cartesian accelerations and the reaction forces could be easily computed. Since the inverse of system topology matrix
The Cartesian accelerations could be calculated as follows:
And the Cartesian joint reaction forces could be obtained from
The sequence of evaluating the terms in (76) to (78) could be optimized in order to minimize the computational efforts and to avoid repeated calculations.
5. Outline of the Recursive Solution Algorithm
At the beginning of the dynamic simulation, the structure of the equation of motion is determined based on a preliminary analysis of the system topology. The dependent and independent variable sets are determined using the generalized coordinate portioning approach. The solver integrates both dependent and independent variable sets and the kinematic constraints are enforced. The input states to the integrator represent the first and second time derivative of the joint variables and the output states are the joint displacements and the joint velocities. The following summarizes the structure of multibody dynamic simulation recursive algorithm.
Using the joint variables returned from the integrator, the Cartesian displacements, velocities, and accelerations are calculated. Forward evaluation scheme is utilized (starting from the root body to the descendent/branch bodies).
Update spatial quantities of the flexible body nodes using the elastic nodal displacements and velocities. The input markers in the flexible bodies and the descendent bodies are then updated.
Calculate the internal and external forces and apply them to the different bodies (interaction forces between bodies, driver forces, soil/terrain forces, etc.).
Update the flexible body inertia matrices using the inertia invariants and the current modal coordinates.
Transform the inertia matrices into global coordinate system.
Calculate the inertia forces and centrifugal and Coriolis forces in Cartesian space.
Propagate the external and inertia forces from the descendent bodies into their parents through the connectivity nodes.
Project the Cartesian forces into the body joint space.
Calculate the second derivatives of the joint variables.
Send the states to the integrator.
The algorithm utilizes a predictor-corrector integrator with variable-order interpolation polynomials and variable time step [28, 29]. This explicit integrator insures the stability of the solution and the ability to capture the high-speed impacts between the different machine parts.
6. Considerations for Pre-/Postprocessing of the Flexible Body
Flexible body dynamic simulation capability is currently available in many commercial software packages. Automatic algorithms are built in these software packages to automatically extract the required information for pre-/postprocessing. This section presents the preprocessing operations required to obtain the flexible body information necessary for the dynamic simulation using the proposed formulation. Necessary considerations include the following.
Optimizing the system topology and the connecting nodes: as mentioned earlier, the proposed approach uses forward scheme to calculate the velocities and acceleration of the bodies in the kinematic tree and backward scheme to project the Cartesian forces and the Cartesian inertia matrix into the body-joint subspace and the parent body. In order to maximize the efficiency of the proposed approach and minimize the projection operations, the kinematic tree could be defined such that flexible body is placed close to the root of the kinematic tree. Ordering the bodies in the kinematic tree could be done in the preprocessing step.
The choice of the flexible body reference frame: the flexible body reference node should be selected in order to compute the modal matrix and the inertia shape invariants.
The selection of mode shape sets: a critical condition for successful simulation is the choice of the mode shape sets which depend on the applied nodal forces, the degrees of freedom of the joints at the attachment nodes, and the type of analysis conducted. Including the natural vibration mode shapes is a critical condition to capture the correct deformed shapes of light structures.
Preparing the finite element model: in order to avoid unrealistic concentrated stress or localized deformation, rigid body elements are generated at the flexible body attachment nodes. Depending on the applied forces and contact regions, it may be necessary to generate rigid body elements (RBEs) or multiple point constraints (MPC) for this region.
During the dynamic simulation, the analyst might be interested in monitoring the stresses and strains at certain elements in order to match them with the existing measurement results. In this case, the preprocessing algorithms must extract the transformation coefficients that will directly relate the flexible body modal deformation to the selected elements’ strain and hence the stresses.
After the dynamics simulation is completed the deformation at each node could be computed using the finite element package and the resulting strain could be obtained using the element shape functions. The stresses could be easily calculated from the element constitutive relations and the calculated strain. Using the time history of the flexible body deformation allows the analyst to later perform full system stresses. The user can select certain time events that can be used in life prediction and further durability assessments.
7. Flexible Body Simulation Results
In this section, simulations results of the proposed algorithms are presented and the accuracy is compared to commercially available software packages. The simulation examples include the transient response of a cantilever beam under the effect of static load, the second example represents a pendulum falling under the effect of gravity, and the third example is a double pendulum swinging under the effect of gravity.
7.1. Cantilever Beam Transient Response
The first example simulates the transient response of a cantilever beam when a sudden load is applied to the beam tip and compares the results to the results obtained from COMSOL. The beam has length of 1.5 m, width of 0.01 m, and height of 0.015 m. The beam is made of steel that has Young's modulus of 2.06 E + 09 Pa, Poisson's ration of 0.29, and mass density of 7820 kg/m3. The beam is fixed from one end to the wall while the other end is subjected to a step load of 12 N. For the multibody dynamic simulation, the beam will be modeled as flexible body with fixed joint at the beam end. As a consequence, the body reference is selected at the node attaching the cantilever to the ground. For the preprocessing, NASTRAN is used to perform the necessary transformations and extract the mode shapes for the flexible body. The first 12 natural modes of the cantilever are selected to represent the elastic deformation of the beam and the inertia invariants are calculated based on those modes. Figure 3 shows the first 12 modes of the cantilever beam and the corresponding natural frequencies that will be used in the multibody dynamic simulation.

Mode shapes of the cantilever beam and the corresponding natural frequencies.
The MDB simulation utilized 12 modes to represent the flexible body while the full finite element model was used in COMSOL. Figure 4 shows the results of the dynamic tip deflection of the beam under the applied load. It could be noticed that there is very good agreement between the two sets of the results. Although 12 modes were included in the simulation, it is expected that only those modes contributing to the vertical tip deflection will be excited. Figure 5 shows an FFT of the tip deflection response, where only the first six bending modes were excited.

Comparing the beam tip deflection using proposed formulation and COMSOL.

Comparing FFT of the beam tip deflection using proposed formulation and COMSOL.
The stress state is another representative that captures all the information of the deformed shape. Figure 6 compares Von-Mises stresses obtained using modal approach to the stresses obtained from COMSOL. In order to eliminate the attachment effect that may give incorrect results, the stress is measured at an element that is located at distance 2h (0.03 m) from the connection node. It should be noticed that very good agreement could be achieved using the proposed algorithm.

Comparing the calculated stress using proposed formulation and COMSOL.
7.2. Simple Pendulum Transient Response
The same beam in the first example was used as a pendulum to check the algorithm performance under large rotation using a pendulum model. The proposed modal formulation results were compared to the full finite element model using LS-Dyna. The pendulum is connected to the ground with a revolute joint and swinging freely under the effect of gravity. Figure 7 shows the tip deflection as the beam swings under the effect of gravity. Figure 8 shows a comparison the resulting of Von-Mises stresses measured at the same element as before. It is clear from the figure that both results are in a very good agreement.

Tip deflection of the swinging pendulum at the beam tip.

Von-Mises stress of swinging pendulum.
7.3. Double Pendulum Transient Response
To complete the verification of the proposed formulation and equations of motion, the projection operations of the descendent bodies into parent bodies need to be checked. This could be achieved using an articulated multibody system. The same beam in the first example was used as a double pendulum to check the projections algorithms. In the case of double pendulum, the first pendulum has two attachment points (at the two revolute joints) while the second pendulum has only one attachment point. For this reason, the boundary conditions for both modal flexible bodies will be different and this requires a different set of mode shapes for each body [30]. In the current simulation, hinged-hinged boundary conditions were used to extract the flexible body mode shapes for the first pendulum while the same mode shapes in example 1 are used for the second pendulum. The first 12 mode shapes of the first pendulum are shown in Figure 9.

Mode shapes of the beam with hinged-hinged boundary conditions.
The pendulum is connected to the ground with a revolute joint and swinging freely under the effect of gravity. Figure 10 shows the tip deflection of the first pendulum as the beam swings under the effect of gravity while Figure 11 shows the tip deflection of the second pendulum.

Tip deflection of the first pendulum at the beam tip.

Tip deflection of the second pendulum at the beam tip.
8. Conclusions
This paper presented an approach for modeling flexible body in joint based multibody dynamics formulation. The spatial algebra was used to derive the equation of motion. Component mode synthesis approach was employed to reduce the finite element model into a set of modal coordinates. The resulting flexible body mass matrix is dependent on the generalized modal elastic coordinates. A set of inertia shape invariants were developed to efficiently update the mass matrix with minimum computational cost. The flexible body equations of motion were formulated using Cartesian coordinate system, joint variables, and the flexible body modal coordinates. The system connectivity information was to define the system topological connectivity matrix. The joint influence coefficient matrices and their dual matrices were used to project the Cartesian quantities into the joint subspace leading to the minimum set of differential equations. The structure of the equation of motion and the recursive solution algorithm were presented. The pre- and postprocessing operations required to model the flexible body were presented in this paper. The presented approach can be used to model large structures as well as light fabrications if the right set of modes were selected to represent the reduced flexible body.
Conflict of Interests
The author declares that there is no conflict of interests regarding the publication of this paper.
