Previous section-----Next section


Kinematic and Dynamic Analysis
in Mathematica

Version 2.0

Robert Beretta
Dynamic Modeling


September 2005
Third edition
Intended for use with Mathematica 5 or later

Software and manual written by Robert Beretta

Partnerships manager: Joy Costa
Developer support specialist: Nirmal Malapaka
Project manager: Jennifer Peterson
Software quality assurance: Rachelle Bergmann, Jay Hawkins, Cindie Strater
Document quality assurance: Jan Progen, Marcia Krause, Angela Latham, Wendy Leung, Carol Ordal
Document production: Richard Miske
Graphics design: Megan Gillette, Jody Jasinski, Kimberly Michael
Marketing product manager: Yezabel Dooley

Special thanks to Karen Beretta, Joy Costa, Monica Davis, Ed Garner, Joe Grohens, Jay Hawkins, Gary Miller, Leszek Sczaniecki, Kristina Zack

Published by Wolfram Research, Inc., 100 Trade Center Drive, Champaign, Illinois 61820-7237, USA
phone: +1-217-398-0700; fax: +1-217-398-0747; email:; web:

© 1994-2005 Dynamic Modeling.

All rights reserved. No part of this document may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of Dynamic Modeling and Wolfram Research, Inc.

Dynamic Modeling is the holder of the copyright to the MechanicalSystems software system described in this document, including, without limitation, such aspects of the system as its code, structure, sequence, organization, "look and feel", programming language, and compilation of command names. Use of the system unless pursuant to the terms of a license granted by Wolfram Research or as otherwise authorized by law is an infringement of the copyright.

Dynamic Modeling and Wolfram Research make no representations, express or implied, with respect to this documentation or the software it describes, including, without limitation, any implied warranties of merchantability, interoperability, or fitness for a particular purpose, all of which are expressly disclaimed. Users should be aware that included in the terms and conditions under which Wolfram Research is willing to license MechanicalSystems is a provision that Wolfram Research and its distribution licensees, distributors, and dealers shall in no event be liable for any indirect, incidental, or consequential damages, and that liability for direct damages shall be limited to the amount of the purchase price paid for MechanicalSystems.

In addition to the foregoing, users should recognize that all complex software systems and their documentation contain errors and omissions. Dynamic Modeling and Wolfram Research shall not be responsible under any circumstances for providing information on or corrections to errors and omissions discovered at any time in this document or the software it describes, whether or not they are aware of the errors or omissions. Dynamic Modeling and Wolfram Research do not recommend the use of the software described in this document for applications in which errors or omissions could threaten life, injury, or significant loss.

Mathematica is a registered trademark of Wolfram Research, Inc. MechanicalSystems is a trademark of Dynamic Modeling. All other trademarks are the property of their respective owners. Mathematica is not associated with Mathematica Policy Research, Inc. or MathTech, Inc.



1. Getting Started

1.1    Starting MechanicalSystems
1.2    Basic 2D Model
1.3    Basic 3D Model

2. Kinematic Modeling

2.1    Body Objects
2.2    Points, Vectors, and Axes
2.3    Constraint Objects
2.4    Building the Model
2.5    Running the Model
2.6    Variable Management

3. Output Functions

3.1    2D Output Functions
3.2    3D Output Functions
3.3    Plots and Graphs
3.4    2D Mechanism Images
3.5    3D Mechanism Images

4. Velocity and Acceleration

4.1    Velocity and Acceleration Solutions
4.2    Velocity and Acceleration Output

5. Multistage Mechanisms

5.1    Stage Switching Constraints
5.2    Time Switching Constraints

6. Cams and Gears

6.1    Cam Constraints
6.2    Gear Constraints

7. Loads and Reactions

7.1    Load Objects
7.2    Static Solutions
7.3    Resultant Forces
7.4    Multistage Loads

8. Inverse Dynamics

8.1    Inertia Properties
8.2    Kinematic and Dynamic Solutions
8.3    Friction and Damping

9. Parametric Design

9.1    Coupled Models
9.2    Multiple Configuration Couples
9.3    Velocity and Acceleration Couples
9.4    Load-Dependent Couples
9.5    Sensitivity

10. Underconstrained Systems

10.1    Equilibrium Configuration
10.2    Equilibrium Velocity
10.3    Free Acceleration
10.4    Dynamic Motion Synthesis
10.5    Nonholonomic Systems

11. Generalized Coordinates

11.1    Generalized Coordinate Constraints
11.2    Loads and Reactions
11.3    Dynamic Modeling

12. Performance Improvement

12.1    Updating Solutions
12.2    Simplifying Expressions
12.3    Compiling Expressions
12.4    Coordinate Systems
12.5    Locking Variables

13. Debugging Models

13.1    Model Building Errors
13.2    Failure to Converge
13.3    Mathematical Anomalies
13.4    Equations of Motion

Appendix. Reference Guide

A.    Modified Mathematica Built-in Symbols
B.    MechanicalSystems Function Listing


MechanicalSystems is a set of Mathematica packages designed to assist in the analysis and design of planar and spatial rigid body mechanisms. The package is written entirely in the Mathematica programming language and is completely portable and platform independent. The source code is written in the preferred package format as generally used by Wolfram Research, Inc. for the standard packages that are included with Mathematica. MechanicalSystems is intended to run under Mathematica 5.0 or later.