Research Papers

Parallel Computing in Multibody System Dynamics: Why, When, and How

[+] Author and Article Information
Dan Negrut

Simulation-Based Engineering Lab,
Department of Mechanical Engineering,
University of Wisconsin–Madison,
Madison, WI 53706
e-mail: negrut@wisc.edu

Radu Serban

Simulation-Based Engineering Lab,
Department of Mechanical Engineering,
University of Wisconsin–Madison,
Madison, WI 53706
e-mail: serban@wisc.edu

Hammad Mazhar

Simulation-Based Engineering Lab,
Department of Mechanical Engineering,
University of Wisconsin–Madison,
Madison, WI 53706
e-mail: hmazhar@wisc.edu

Toby Heyn

Simulation-Based Engineering Lab,
Department of Mechanical Engineering,
University of Wisconsin–Madison,
Madison, WI 53706
e-mail: heyn @wisc.edu

We use GB to denote gigabytes and Gb for gigabits. Eight Gb make one GB.

1Corresponding author.

Manuscript received June 19, 2013; final manuscript received March 24, 2014; published online July 11, 2014. Assoc. Editor: Javier Cuadrado.

J. Comput. Nonlinear Dynam 9(4), 041007 (Jul 11, 2014) (12 pages) Paper No: CND-13-1144; doi: 10.1115/1.4027313 History: Received June 19, 2013; Revised March 24, 2014

This paper addresses three questions related to the use of parallel computing in multibody dynamics (MBD) simulation. The “why parallel computing?” question is answered based on the argument that in the upcoming decade parallel computing represents the main source of speed improvement in MBD simulation. The answer to “when is it relevant?” is built around the observation that MBD software users are increasingly interested in multi-physics problems that cross disciplinary boundaries and lead to large sets of equations. The “how?” question is addressed by providing an overview of the state of the art in parallel computing. Emphasis is placed on parallelization approaches and support tools specific to MBD simulation. Three MBD applications are presented where parallel computing has been used to increase problem size and/or reduce time to solution. The paper concludes with a summary of best practices relevant when mapping MBD solutions onto parallel computing hardware.

Copyright © 2014 by ASME
Your Session has timed out. Please sign back in to continue.


MSC.Software, 2014, “ADAMS User Manual,” available online at http://www.mscsoftware.com
Cuadrado, J., Cardenal, J., Morer, P., and Bayo, E., 2000, “Intelligent Simulation of Multibody Dynamics: Space-State and Descriptor Methods in Sequential and Parallel Computing Environments,” Multibody Syst. Dyn., 4(1), pp. 55–73. [CrossRef]
Featherstone, R., 1999, “A Divide-and-Conquer Articulated-Body Algorithm for Parallel O(log(n)) Calculation of Rigid Body Dynamics. Part 2: Trees, Loops and Accuracy,” Int. J. Robot. Res., 18(3), pp. 876–892. [CrossRef]
Anderson, K. S., and Duan, S., 2000, “Highly Parallelizable Low Order Dynamics Algorithm for Complex Multi-Rigid-Body Systems,” AIAA J. Guidance, Control Dyn., 23(2), pp. 355–364. [CrossRef]
Mraz, L., and Valasek, M., 2013, “Solution of Three Key Problems for Massive Parallelization of Multibody Dynamics,” Multibody Syst. Dyn., 29(1), pp. 21–39. [CrossRef]
González, F., Luaces, A., Lugrís, U., and González, M., 2009, “Non-Intrusive Parallelization of Multibody System Dynamic Simulations,” Comput. Mech., 44(4), pp. 493–504. [CrossRef]
Bauchau, O. A., 2010, “Parallel Computation Approaches for Flexible Multibody Dynamics Simulations,” J. Frank. Inst., 347(1), pp. 53–68. [CrossRef]
Quaranta, G., Masarati, P., and Mantegazza, P., 2002, “Multibody Analysis of Controlled Aeroelastic Systems on Parallel Computers,” Multibody Syst. Dyn., 8(1), pp. 71–102. [CrossRef]
Iglberger, K., and Rüde, U., 2009, “Massively Parallel Rigid Body Dynamics Simulations,” Comput. Sci.-Res. Develop., 23(3–4), pp. 159–167. [CrossRef]
Negrut, D., Tasora, A., Mazhar, H., Heyn, T., and Hahn, P., 2012, “Leveraging Parallel Computing in Multibody Dynamics,” Multibody Syst. Dyn., 27, pp. 95–117. [CrossRef]
Mazhar, H., Heyn, T., Pazouki, A., Melanz, D., Seidl, A., Bartholomew, A., Tasora, A., and Negrut, D., 2013, “Chrono: A Parallel Multi-Physics Library for Rigid-Body, Flexible-Body, and Fluid Dynamics,” Mech. Sci., 4(1), pp. 49–64. [CrossRef]
Haug, E. J., 1989, Computer-Aided Kinematics and Dynamics of Mechanical Systems Volume-I, Prentice-Hall, Englewood Cliffs, New Jersey.
Stewart, D. E., and Trinkle, J. C., 1996, “An Implicit Time-Stepping Scheme for Rigid-Body Dynamics With Inelastic Collisions and Coulomb Friction,” Int. J. Numer. Methods Eng., 39, pp. 2673–2691. [CrossRef]
Pang, J. S., and Stewart, D. E., 2008, “Differential Variational Inequalities,” Math. Programm., 113, pp. 1–80. [CrossRef]
Anitescu, M., and Hart, G. D., 2004, “A Constraint-Stabilized Time-Stepping Approach for Rigid Multibody Dynamics With Joints, Contact and Friction,” Int. J. Numer. Methods Eng., 60(14), pp. 2335–2371. [CrossRef]
Tasora, A., and Anitescu, M., 2011, “A Matrix-Free Cone Complementarity Approach for Solving Large-Scale, Nonsmooth, Rigid Body Dynamics,” Comput. Methods Appl. Mech. Eng., 200(5–8), pp. 439–453. [CrossRef]
Heyn, T., Anitescu, M., Tasora, A., and Negrut, D., 2013, “Using Krylov Subspace and Spectral Methods for Solving Complementarity Problems in Many-Body Contact Dynamics Simulation,” Int. J. Numer. Methods Eng., 95(7), pp. 541–561. [CrossRef]
Heyn, T., 2013, “On the Modeling, Simulation, and Visualization of Many-Body Dynamics Problems With Friction and Contact,” Ph.D thesis, Department of Mechanical Engineering, University of Wisconsin–Madison, http://sbel.wisc.edu/documents/TobyHeynThesis_PhDfinal.pdf
Khulief, Y. A., 2013, “Modeling of Impact in Multibody Systems: An Overview,” J. Comput. Nonlinear Dyn., 8, p. 021012. [CrossRef]
Lucy, L. B., 1977, “A Numerical Approach to the Testing of the Fission Hypothesis,” Astronom. J., 82, pp. 1013–1024. [CrossRef]
Gingold, R. A., and Monaghan, J. J., 1977, “Smoothed Particle Hydrodynamics-Theory and Application to Non-Spherical Stars,” Monthly Notices Roy. Astronom. Soc., 181(1), pp. 375–389.
Monaghan, J. J., 2005, “Smoothed Particle Hydrodynamics,” Rep. Prog. Phys., 68(1), pp. 1703–1759. [CrossRef]
Monaghan, J. J., 1989, “On the Problem of Penetration in Particle Methods,” J. Comput. Phys., 82(1), pp. 1–15. [CrossRef]
Dilts, G., 1999, “Moving-Least-Squares-Particle Hydrodynamics–I. Consistency and Stability,” Int. J. Numer. Methods Eng., 44(8), pp. 1115–1155. [CrossRef]
Koshizuka, S., Nobe, A., and Oka, Y., 1998, “Numerical Analysis of Breaking Waves Using the Moving Particle Semi-Implicit Method,” Int. J. Numer. Methods Fluids, 26(7), pp. 751–769. [CrossRef]
Dalrymple, R. A., and Rogers, B. D., 2006, “Numerical Modeling of Water Waves With the SPH Method,” Coastal Eng., 53(2), pp. 141–147. [CrossRef]
Pazouki, A., Mazhar, H., and Negrut, D., 2012, “Parallel Collision Detection of Ellipsoids With Applications in Large Scale Multibody Dynamics,” Math. Comput. Simul., 82(5), pp. 879–894. [CrossRef]
Pazouki, A., and Negrut, D., 2012, “Direct Simulation of Lateral Migration of Buoyant Particles in Channel Flow Using GPU Computing,” Proceedings of the 32nd Computers and Information in Engineering Conference, CIE32, August 12-15, Chicago, IL, USA, American Society of Mechanical Engineers.
Flynn, M. J., 1972, “Some Computer Organizations and Their Effectiveness,” IEEE Trans. Comput., 100(9), pp. 948–960. [CrossRef]
Gropp, W., Lusk, E., and Skjellum, A., 1999, Using MPI: Portable Parallel Programming with the Message-Passing Interface, 2nd ed., MIT Press Cambridge, MA.
OpenMP, 2013, “Specification Standard 4.0,” available online at http://openmp.org/wp/
Patterson, D. A., and Hennessy, J. L., 2011, Computer Organization and Design: The Hardware/Software Interface, 4th ed., Morgan Kaufmann, Burlington, MA.
Dennard, R., Gaensslen, F., Rideout, L., Bassous, E., and LeBlanc, A., 1974, “Design of Ion-Implanted MOSFET's With Very Small Physical Dimensions,” IEEE J. Solid-State Circuits, 9(5), pp. 256–268. [CrossRef]
Munshi, A., Gaster, B., Mattson, T., and Ginsburg, D., 2011, OpenCL Programming Guide, Addison-Wesley Professional.
NVIDIA, 2014, “CUDA Programming Guide,” available online at http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html
Khude, N., Stanciulescu, I., Melanz, D., and Negrut, D., 2013, “Efficient Parallel Simulation of Large Flexible Body Systems With Multiple Contacts,” ASME J. Comput. Nonlinear Dyn., 8(4), p. 041003. [CrossRef]
Gropp, W., 2002, “MPICH2: A New Start for MPI Implementations,” Recent Advances in Parallel Virtual Machine and Message Passing Interface, Springer, New York, p. 7.
Graham, R., Woodall, T., and Squyres, J., 2006, “Open MPI: A Flexible High Performance MPI,” Parallel Processing and Applied Mathematics, Springer, New York, pp. 228–239.
MVAPICH2, 2013. MVAPICH: MPI over InfiniBand, 10GigE/iWARP and RoCE. http://mvapich.cse.ohio-state.edu/performance/mvapich2/interNode.shtml.
Bell, N., and Garland, M., 2012, CUSP: Generic Parallel Algorithms for Sparse Matrix and Graph Computations. Version 0.3.0.
Hoberock, J., and Bell, N., 2010, Thrust: A Parallel Template Library. Version 1.7.0.
Open MPI, 2013, “A High Performance Message Passing Library,” http://www.open-mpi.org/
MPICH2, 2013, “High Performance Portable MPI,” http://http://www.mpich.org/
Plimpton, S., 1995, “Fast Parallel Algorithms for Short-Range Molecular Dynamics,” J. Comput. Phys., 117(1), pp. 1–19. [CrossRef]
LAMMPS, 2013, “A Molecular Dynamics Simulator,” http://lammps.sandia.gov/
Parks, M., Lehoucq, R., Plimpton, S., and Silling, S., 2008, “Implementing Peridynamics Within a Molecular Dynamics Code,” Comput. Phys. Commun., 179(11), pp. 777–783. [CrossRef]
LIGGGHTS, 2013, “Open Source Discrete Element Method Particle Simulation Code,” http://cfdem.dcs-computing.com/?q=OpenSourceDEM
Balay, S., Brown, J., Buschelman, K., Eijkhout, V., Gropp, W., Kaushik, D., Knepley, M., McInnes, L. C., Smith, B., and Zhang, H., 2012, “PETSc Users Manual Revision 3.3,” http:// www.mcs.anl.gov/petsc/petsc-3.3/docs/manual.pdf
Hindmarsh, A., Brown, P., Grant, K., Lee, S., Serban, R., Shumaker, D., and Woodward, C., 2005, “SUNDIALS: Suite of Nonlinear and Differential/Algebraic Equation Solvers,” ACM Trans. Math. Softw. (TOMS), 31(3), pp. 363–396. [CrossRef]
Orlandea, N., Chace, M. A., and Calahan, D. A., 1977, “A Sparsity-Oriented Approach to the Dynamic Analysis and Design of Mechanical Systems—Part I and Part II,” Trans. ASME J. Eng. Indus., pp. 773–784.
Shabana, A., 1989, Multibody Systems, John Wiley and Sons, New York.
Shabana, A. A., 2005, Dynamics of Multibody Systems, 3rd ed., Cambridge University Press Cambridge, UK.
Armstrong, W. W., 1979, “Recursive Solution to the Equations of Motion of an N-Link Manipulator,” Proceedings of the 5th World Congress on Theory of Machines and Mechanism, Vol. 2, pp. 1343–1346.
Featherstone, R., 1983, “The Calculation of Robot Dynamics Using Articulated-Body Inertias,” Int. J. Robot. Res., 2(1), pp. 13–30. [CrossRef]
Jain, A., 1991, “Unified Formulation of Dynamics for Serial Rigid Multibody Systems,” J. Guidance, 14(3), pp. 531–542. [CrossRef]
Brandl, H., Johanni, R., and Otter, M., 1986, “A Very Efficient Algorithm for the Simulation of Robots and Similar Multibody Systems Without Inversion of the Mass Matrix,” In IFAC/IFIP/IMACS Symposium (lst), Vienna, Austria, pp. 95–100.
Bae, D., and Haug, E., 1987, “A Recursive Formulation for Constrained Mechanical System Dynamics: Part I. Open Loop Systems,” Mech. Struct. Mach., 15(3), pp. 359–382. [CrossRef]
Bae, D., and Haug, E., 1987, “A Recursive Formulation for Constrained Mechanical System Dynamics: Part II. Closed Loop Systems,” Mech. Struct. Mach.,15(4), pp. 481–506. [CrossRef]
Rosenthal, D., 1987, “Order N Formulation for Equations of Motion of Multibody Systems,” SDIO/NASA Workshop on Multibody Simulations, JPL Pub. D-5190, Jet Propulsion Lab., Pasadena, CA, pp. 1122–1150.
Rodriguez, G., 1987, “Kalman Filtering, Smoothing and Recursive Robot Arm Forward and Inverse Dynamics,” IEEE J. Robot. Autom., 3(6), pp. 624–639. [CrossRef]
Rodriguez, G., Jain, A., and Kreutz-Delgado, K., 1992, “Spatial Operator Algebra for Multibody System Dynamics,” J. Astronaut. Sci., 40(1), pp. 27–50. [CrossRef]
Fijany, A., Shraf, I., and D'Eleuterio, G., 1995, “Parallel O(log N) Computation of Manipulator Forward Dynamics,” IEEE J. Robot. Autom., 11(3), pp. 389–400. [CrossRef]
Mukherjee, R., and Anderson, K., 2007, “Orthogonal Complement Based Divide-and-Conquer Algorithm for Constrained Multibody Systems,” Nonlinear Dyn., 48, pp. 199–215. [CrossRef]
Wittenburg, J., 1977, Dynamics of Systems of Rigid Bodies, B. G.Teubner, ed., Stuttgart, Germany.
Falgout, R., and Yang, U. M., 2002, “Hypre: A Library of High Performance Preconditioners,” Preconditioners, Lecture Notes in Computer Science, pp. 632–641.
Open Group, 2004, “IEEE Std. 1003.1,” available online at http://www.unix.org/version3/ieee_std.html
SBEL, 2013, “Software Downloads,” Simulation-Based Engineering Laboratory, University of Wisconsin-Madison. http://sbel.wisc.edu/Software
Negrut, D., Tasora, A., Anitescu, M., Mazhar, H., Heyn, T., and Pazouki, A., 2011, “Solving Large Multi-Body Dynamics Problems on the GPU,” GPU Gems Vol. 4, pp. 269–280.
Melo, F., Umbanhowar, P., and Swinney, H. L., 1994, “Transition to Parametric Wave Patterns in a Vertically Oscillated Granular Layer,” Phys. Rev. Lett., 72, pp. 172–175. [CrossRef] [PubMed]
Umbanhowar, P. B., Melo, F., and Swinney, H. L., 1996, “Localized Excitations in a Vertically Vibrated Granular Layer,” Nature, 382(6594), pp. 793–796. [CrossRef]
Luding, S., Clément, E., Rajchenbach, J., and Duran, J., 1996, “Simulations of Pattern Formation in Vibrated Granular Media,” EPL (Europhysics Letters), 36(4), p. 247. [CrossRef]
Bizon, C., Shattuck, M. D., Swift, J. B., McCormick, W. D., and Swinney, H. L., 1998, “Patterns in 3D Vertically Oscillated Granular Layers: Simulation and Experiment,” Phys. Rev. Lett., 80(1), pp. 57–60. [CrossRef]
Jaeger, H. M., Nagel, S. R., and Behringer, R. P., 1996, “Granular Solids, Liquids, and Gases,” Rev. Mod. Phys., 68, pp. 1259–1273. [CrossRef]
Moon, S. J., Swift, J. B., and Swinney, H. L., 2004, “Role of Friction in Pattern Formation in Oscillated Granular Layers,” Phys. Rev. E, 69, p. 031301. [CrossRef]
Mazhar, H., Heyn, T., and Negrut, D., 2011, “A Scalable Parallel Method for Large Collision Detection Problems,” Multibody Syst. Dyn., 26, pp. 37–55. [CrossRef]
SBEL, 2013, “Movies, Physics-Based Modeling and Simulation,” http://sbel.wisc.edu/Animations
Amdahl, G., 1967, “Validity of the Single Processor Approach to Achieving Large-Scale Computing Capabilities,” AFIPS Conf. Proc., 30, pp. 483–485. [CrossRef]
Knuth, D., 1974, “Structured Programming With go to Statements,” ACM Comput. Surv. (CSUR), 6(4), pp. 261–301. [CrossRef]


Grahic Jump Location
Fig. 1

Contact i between two bodies A, B ∈ {1, 2,…, nb}

Grahic Jump Location
Fig. 2

Cross-section view of 3D normal contact forces in granular material (modeled using 0.6 × 106 rigid bodies), during impact by spherical object

Grahic Jump Location
Fig. 3

Coupling of the fluid and solid phases. BCE and fluid markers are represented by black and white circles, respectively

Grahic Jump Location
Fig. 4

Light tracked vehicle operating on gravel

Grahic Jump Location
Fig. 5

Magnitude of force experienced by one revolute joint on granular terrain

Grahic Jump Location
Fig. 6

Top view of simulation results obtained for Γ = 0.4 and f= 0.38

Grahic Jump Location
Fig. 7

Snapshot from Mars Rover simulation at t = 4.41s, with two million terrain bodies using MPI-enabled parallelism on 64 cores. Animation available at Ref. [76].

Grahic Jump Location
Fig. 8

Snapshot from Mars Rover simulation at t = 4.41s, showing the “footprint” of the rover wheels with grousers in granular terrain composed of 2 × 106 rigid bodies



Some tools below are only available to our subscribers or users with an online account.

Related Content

Customize your page view by dragging and repositioning the boxes below.

Related Journal Articles
Related eBook Content
Topic Collections

Sorry! You do not have access to this content. For assistance or to subscribe, please contact us:

  • TELEPHONE: 1-800-843-2763 (Toll-free in the USA)
  • EMAIL: asmedigitalcollection@asme.org
Sign In