Introduction to Multi body dynamics
Multi-Body Dynamics (MBD/MBS)
Definition:
Multibody Dynamics(MBD) or Multibody systems (MBS) simulation is the study of the motion of mechanical systems caused by external forces and motion excitations acting on systems. MBD is incorporated with FEA which helps in reducing the time required with the same level of accuracy neglecting things like meshing and boundary conditions. Study of MBD is the analysis of how mechanisms work under the influence of forces.
Industrial applications include Automotive, Aircraft, Defence/Military, Spacecraft, Robotics, Agriculture, Construction, Manufacturing etc. Engineering judgement is made based on the analysis done using MBD simulations.
The general structure of an MBD system - Common Components
A mechanism (MBD system) constitutes a set of bodies/parts connected or constrained with each other to perform a specified action under the application of force, torque or motion.
Equations governing MBD simulation
The whole idea of MDB was developed based on Newton's second law of motion (`F = m*a`). The equations of motion are used to describe the dynamic behaviour of a multibody system. Each MBD system may lead to different mathematical appearance for the equations of motion while the physics behind is the same. The equations are written for the general motion of the single bodies with the addition of constraint conditions.
Degrees of freedom (DOF):
Kinematic definition for DoF of any system or its components would be “the number of independent variables or coordinates required to ascertain the position of the system or its components”.
Types of MBD simulations:
- Kinematic Simulation
- Dynamic Simulation
- Static Simulation
- Quasi-Static simulation
- Linear Simulation
- Complex Simulation (Combination of two or more simulations)
Kinematic Simulation: Kinematic simulation is a study of relative motion between various parts which are involved in the mechanism. It is basically the study of motion and forces required to achieve it. In a kinematic simulation, the total degrees of freedom will be zero. Position, velocity and acceleration analyses through a purely geometric study.
Applications: Mechanism design, Robot design, Cam profile design
Dynamic Simulation: Dynamic simulation is the study of a system as a consequence of applied forces and Inertial forces. Models with DOF greater than zero comes under Dynamic simulation. It accounts for all accelerations whether it could be linear or angular. Compared to other simulations this is very much complex and time-consuming.
Static Simulation: Static simulation is the study of the equilibrium conditions of a system at rest having one or more degrees of freedom. Equilibrium is a condition where all the algebraic sum of forces and moments becomes zero.
Quasi-Static simulation: Quasi-static is a condition in which the system is driven extremely slowly. Mathematically quasi-static simulation is a sequence of static stimulation. Here the velocity and inertial forces are ignorable.
Applications: Suspension design, Stability analysis etc.
Linear Simulation: It is the study of vibration modes of a system at any operating point, Evaluation of the system transfer function at any specified operating point. Solve the eigenvalue problems to obtain system frequencies and mode shapes.
Applications: Stability analysis, NVH etc.
In the present market, two major software is widely used in Industry.
1. MSc Adams view (developed by MSc corporation)
2. Altair Hyperworks Motion view (developed by Altair)
Altair Hyperworks Motionview Graphical User Interface
Motion view is the preprocessor tool which helps in designing/modifying the system according to the requirements of the user. Motion solve is the solver that performs the simulation operations. After the simulation is done the results can be viewed in the form of plots and animations. Plots can be viewed using Hypergraph and animated results using Hyperview
Main Menu:
- The Main Menu bar, shown in the figure below, includes the same functionalities that are available through the various toolbars.
- Additionally, the main menu for MotionView contains other useful utilities not found in the toolbars such as FlexPrep, Macros, and other utilities.
Standard Tool Bar:
Client Specific Tool Bar:
Basic Entities required in Building Models:
1. Bodies/Parts
Bodies are the only modelling elements that capture mass and Inertia effects.
Three types of bodies are available in MotionSolve. They are
Rigid Bodies, Point Mass, Flexible Body
Rigid Bodies: A rigid body is the one which has both position and orientation. Deformation occurred in a Rigid body is negligible. It is always represented by its centre of mass (CM) and orientation. They are used when both mass and inertia are significant. It is a 6 DOF element
Point Mass: It is a 3 DOF element and it is used when the moment of inertia of the component is negligible, but its mass is significant.
Flexible body: Flexible body is used when the component deformation has a significant effect on system dynamics or when component stresses are of interest.
2. Constraints:
Joints, Motion
3. Forces
Actuators, Connectors, springs, dampers, contact, friction etc.
4. Geometry
Not necessary for rigid bodies, but often helpful for visualization
Required for flexible bodies, 3D rigid-to-rigid geometry contacts
5. Special Entity
Markers
6. Outputs
Built-in outputs to measure displacement, velocity, acceleration, forces
7. Others (Model Dependent)
Solver/Design variables
State variables
Sensors
Systems
Points:
Points or hardpoints(Msc Adams) are the basic fundamental construction elements for multi-body models built-in Motion solve. Almost all the entities that can be created in MotionView need to use points either for defining their location or orientation. There are two types of entities in MotionView.
- a) Design-time entities
- b) Run time entities
Points fall under the category of design time entities. Run time entities only purpose is to help in creating other entities for MotionSolve.
There are 3 types of Points:
- Single Point
- Asymmetric Pair Point
- Symmetric Pair Point
By default, point-pairs are always symmetric, and the left side is the master. For symmetric pairs, the changes made on the left side will automatically reflect on the right side. This is majorly helpful in suspension analysis. The symmetry can be turned on or off in the Properties tab.
Markers and Coordinate Systems:
In MBD markers are referred to as Coordinate systems. Markers are nothing but Coordinate systems which uniquely measures the position of a geometric element. Motion view uses the Cartesian coordinate system. A marker is a coordinate system attached (fixed) to a body.
There are two types of coordinate systems:
1. Global coordinate system
2. Local coordinate system
a) Body coordinate system
b) Markers
Adams defines all markers associated with a body with respect to the local part reference frame.
MotionSolve defines all markers with regard to the Global Coordinate system
Constraints - Joints and Motions:
In MotionView Joints and Motions fall under the category of constraints. Constraints have a specific meaning in MBD, they are the algebraic equations that restrict the relative motion between bodies.
Degrees of freedom: The definition of degrees of freedom of a mechanism is the number of independent relative motions among the rigid bodies. Every rigid body has 6 degrees of freedom, all joints are constraints on rigid bodies. The number of DOF of the entire system is given by:
`DOF_(system) =6*n_B-sum_(j=1)^(N_J)(6-DOF_j)` `to` Gruebler's Equation
`n_B` = Number of Rigid Bodies
`n_J` = Number of Joints
`DOF_j` = DOF of each Joint
Redundant Constraints:
It is possible to over-specify the constraints. A model is said to be over-constrained and the constraints are redundant. When the total degrees of freedom is negative then the system is said to have redundant constraints.
Classification of constraints:
- Lower pair constraints
- Joint primitives
- Higher pair constraints
- Motion as a constraint, Other joints
In MotionView , 27 types of Joints can be created and they can be classified into five main categories:
MOTION function
- Generally, there is a function to measure the force and/or torque in every type of entity in MotionSolve that produces a force/torque. For example:
- Bushing entity `to` BUSH function
- joint entity `to` JOINT function
- motion entity`to`MOTION function
- Syntax: MOTION (id, jflag, comp, RM)
- Arguments:
Id - The ID of the Motion_Joint or Motion_Marker element.
Jflag - jflag equal to 0 or 1 means that forces and moments are reported at the I or J marker, respectively.
comp -
1 - returns the force magnitude.
2 - returns the force x component.
3 - returns the force y component.
4 - returns the force z component.
5 - returns the torque magnitude.
6 - returns the torque x component.
7 - returns the torque y component.
8 - returns the torque z component.
RM - The reference frame in which the components are reported; RM=0 implies the global frame.
BISTOP Function
Syntax - Bistop`(x,dotx,x_1,x_2,k,e,c,d)`
- The BISTOP function models a gap element.
- It can be used to model forces acting on a body while moving in the gap between two boundary surfaces.
- This can be used to limit the motion of a joint.
`x `- independent variable
`dotx` - The derivative of the independent variable
`x_1` - The lower bound of x
`x_2` - The upper bound of x
`k` – Stiffness of the boundary surface interaction
`e` – Exponent of the force deformation characteristic
`c`– Maximum damping coefficient
`d` – Penetration
AZ, WZ Functions
- The AZ and WZ measure the rotational displacement and velocity, respectively of a marker “I” with respect to the marker, “J”.
- AZ(I, J)
I - The marker whose rotational displacement is to be computed
J - The marker with respect to which the velocity is to be computed
WZ(I, J, K)
I - The marker whose rotational displacement is to be computed
J - The marker with respect to which the velocity is to be computed
K - The resultant velocity vector is resolved in the coordinate system of the K marker
Curves :
Curves are used as:
Forces: nonlinear characteristics for the forces, e.g., spring force vs. deformation characteristic or a damping force vs. deformation velocity
Motions: displacements vs. time, velocity vs. time, and/or acceleration vs. time data.
Constraints: constraint paths for high-pair joint* types (e.g., curve-to-curve joint)
DX function:
DX function computes the X-component of the relative translational displacement of marker I with respect to marker J, as resolved in the coordinate system of marker K.
Syntax: DX (I,J,K)
I : marker whose displacement is to be computed.
J : marker with respect to which the displacement is to be computed.
K : resultant displacement vector is resolved in the coordinate system of the K marker. This argument is optional. If omitted, it defaults to the ground coordinate system.
Basic example
Free Falling of a simple rigid body under the influence of Gravity and to determine its trajectory.
Step 1: Create a single rigid body from the client-specific toolbar by right-clicking on the Add Body icon. A free body is created in the model browser. The created body has been assigned with mass and inertia. The location of the centre of mass is oriented along with the global origin.
Finally, run the transient simulation with an End time of 1 second. The body is falling freely along the z-axis and the acquired results can be viewed using Altair's hypergraph 2D.
Next, create 2 points one at the global origin (0,0,0) and the other at (10,0,10). Next, create graphics (cylinder) in between these two points of radius 1mm. Later, the created mass is being associated with the newly created cylinder and finally the mass moves to the centre of gravity and is evenly distributed. The final mass of the cylinder is 0.003 kg and inertia properties `I_(xx), I_(yy), I_(zz)` as 0.0030,0.0059,0.0030 kg-mm`^4`.
The session files and modal files can be found here:
https://drive.google.com/open?id=1eGIiZq0m7-n524kKG6hkiWNCF59wmnYl