MULTIBODY DYNAMICS 2005, ECCOMAS Thematic Conference J.M. Goicolea, J. Cuadrado, J.C. Garc´ ıa Orden (eds.) Madrid, Spain, 21–24 June 2005 EASYDYN: A FRAMEWORK BASED ON FREE SYMBOLIC AND NUMERICAL TOOLS FOR TEACHING MULTIBODY SYSTEMS O. Verlinden, G. Kouroussis, C. Conti Department of Theoretical Mechanics, Dynamics and Vibrations Facult´ e polytechnique de Mons, Bd Dolez 31, 7000 Mons, Belgium e-mails: Oliver.Verlinden@fpms.ac.be, Georges.Kouroussis@fpms.ac.be, Calogero.Conti@fpms.ac.be, web page: http://mecara.fpms.ac.be Keywords: Multibody systems, education, object-oriented programming, open source, sym- bolic, numerical Abstract. EasyDyn is an open source framework, available for free on the net, allowing to easily write a program which simulates the motion of a multibody system from only a descrip- tion of the motion in terms of the chosen configuration parameters and the expression of the efforts exerted on each body. The configuration parameters necessarily correspond to general- ized coordinates, whose number is equal to the number of degres of freedom. EasyDyn obliges the user to understand some theoretical principles but automatic tools take charge of the te- dious part of the job, principally the expression of velocities and accelerations by derivation of position, and the development of vector expressions. EasyDyn provides on one hand a C++ library which offers the following components classes implementing the vector algebra: vectors, rotation and inertia tensors, homoge- neous transformation matrices so that vector expressions can be written as is in the C++ code; routines to build 3D scenes that can be viewed by an external program called EasyAnim, also available for free; routines to numerically solve second-order differential equations; numerical routines to build the residual form of the equations of motion of a multibody system from kinematics and applied forces. The C++ library is completed by CAGeM,a MuPAD script, generating a basic C++ EasyDyn application from inertia data and position expressions related to each body. After generation, the user just has to complete the C++ code with the expression of the efforts. EasyDyn was developed expressly for teaching with the concerns of readibility and com- pacity instead of efficiency. Due to the elegant balance between numerical and symbolic tools, and the large use of existing packages, the development effort was minimal. It has also been tested successfully on reasonably complex systems. 1