MapleSim 222 Oct, 2009 By: Jeffrey Rowe
First Look Review: Powered by the Maple technical computing engine, MapleSim is a 3D modeling and simulation solution that lets users specify and evaluate myriad simulation conditions for physical models.
Editor's note: Author Jeffrey Rowe received financial support from Maplesoft to undertake this review. Both the author and the company agreed that the review would be conducted according to Cadalyst's standard review guidelines to maintain objectivity and serve the interests of the readership. — Editor-in-Chief Nancy Johnson
If you've had any exposure to the 3D CAD world in the past 15 to 20 years, you've almost certainly experienced parametric modeling. Parametric 3D models digitally represent and simulate the physical look, feel, and behavior of objects. A mathematical model, such as a 3D CAD or physical model, is a simplified representation of certain aspects of a real system.
When you create a mathematical model, you move from the real world to the world of abstraction, building your model on math concepts such as equations and functions rather than physical parts with features. Next, the model is solved using mathematical techniques. Finally, the solution to the mathematical problem is translated into a solution that can be applied to the initial problem that began in the real world. Mathematical modeling really goes full circle because it begins and ends in the real world. Math, after all, is the language that describes the physics and physical world around us.
MapleSim 2 from MapleSoft is a 3D modeling and simulation system built on the company's Maple 13 mathematical computing engine. The products build on the power of mathematical modeling to perform fast, accurate calculations that result in simplified, highly efficient models. Using MapleSim, you could create a system diagram on screen in the same way you would draw it on paper, and the software would automatically generate the model equations. Generated code can be exported to real-time and other applications and runs 10 to 100 times faster for complex models, according to MapleSoft. Available for Windows, Linux, and Macintosh platforms, MapleSim offers dynamic analysis, control design, and optimization capabilities and supports custom component creation and live design documentation.
I've used parametric 3D modelers for many years — including Autodesk Inventor, SolidWorks, and PTC's Pro/ENGINEER — and I was eager to explore parametric mathematical modeling using the latest versions of Maplesoft's flagship products. This product suite also gave me an excellent opportunity to brush up on my fundamental mathematics skills with Maple 13.
Maple 13: Underlying Math Engine
Maple 13 is a powerful math engine that provides an advanced symbolic computation engine, numeric solver, and technical document interface. Maple 13 is required to run MapleSim2.
When you launch Maple 13 for the first time, a user-friendly interface provides several options for users who are getting acquainted with the application. A portal presents several comprehensive example exercises and tutorials to assist new as well as more experienced users. This portal is a good starting point for many rudimentary and more advanced mathematical tasks. I decided to give it a trial run by executing one of the sample exercises. I chose "Designing a More Effective Car Radiator," a SolidWorks-based example. The exercise imported the design and ultimately exported the optimized dimensions based on proposed and desired heat-transfer characteristics. The parametric results were then imported into SolidWorks for optimizing a 3D solid model of the car radiator. In effect, this process served as a simulation before the design.
The exercise was completed using an executable example worksheet (the basic tool used for solving problems with Maple) that demonstrated syntax and invoking Maplet (an applet written in the Maple programming language) application interfaces that make problems easier to solve and visualize. All the math performed was presented very clearly, including equations and detailed definitions and explanations. The math data generated by Maple 13 can be exported for use by other applications, including CAD, Microsoft Excel, The MathWorks MATLAB, and others.
Maple 13 provides more than tools for experienced engineers; it also serves as an excellent introduction to mathematical methods for younger engineers and students. For the latter group, Maple 13 provides excellent tools for understanding and visualizing aspects of calculus, geometry, differential equations, logic, and linear algebra. It could act as a supplemental material for classroom math courses. I wish I'd had this resource many years ago when I was in the middle of my mathematical education.
Last but certainly not least, Maple 13 also includes outstanding hard-copy user manuals — something that has become increasingly rare in the technical software arena. Along with the integrated user support described previously, these excellent guides provide some of the best learning and reference resources I have ever experienced with a software product, largely because of the breadth of topics covered, ability to clearly convey complex mathematical concepts, and the general level of detail provided.
Getting Started with MapleSim 2
After you spend a little time with Maple 13 and stimulate your math mindset, it's time to get started with MapleSim 2. Keep in mind that MapleSim offers myriad potential simulation possibilities, and my relatively simple example below only scratches the surface of these possibilities.
Simply put, MapleSim is a modeling environment for creating and simulating physical systems with multiple-domain (mechanical and electrical) components. For all it can do, the MapleSim user interface is surprisingly clean and uncluttered. It consists of five main components:
- Palettes: These expandable menus contain sample models and domain-specific components, such as motors, sensors, power sources, and controls, that you can add to a physical model.
- Model workspace: Build and edit physical models in this window.
- Drawing and layout toolbar: These hold the tools for laying out objects in the model workspace and annotating physical models.
- Components pane: This area allows you to manage subsystems and navigate physical model hierarchy as you add components to the model workspace.
- Parameters pane: Here you view and change parameter values and component names in a physical model, specify simulation values, and configure display options for simulation graphs. The contents of the parameters pane change depending on the component or subsystem selected in the model workspace. This part of the user interface is the cornerstone of MapleSim's parametric math modeling capabilities, although not all modeling components provide parameter values that can be edited.
Assemblies, such as robots, comprise a network of physical components that interact. In software, these components are modeled with block diagrams, in which lines connecting component blocks are coupled by physical laws, such as pressure and amps. The connection linetypes, such as mechanical and electrical, are displayed in different colors. Signal flow is also a major consideration, because a signal is a time-varying number that flows into one side of a block, the block performs a mathematical operation on the signal, and the result flows out the other side of the block. With MapleSim, signal flow can be modeled either unidirectionally or multidirectionally.
The interface for MapleSim is clean and uncluttered. This illustration is a model of a robot with five degrees of freedom (DoF), including body rotation, wrist, and end effector. Each component in this view has a 3D CAD object attached for visualizing the full robot (shown in the next figure). You can see the results of the simulation by opening the Results Manager, selecting the stored results, and clicking the View button.
I have supplied a simplistic view of what MapleSim 2 can do, but really all you have to do is draw a block diagram of components from multiple domains (electrical, mechanical, hydraulic, and so forth), and assign parameters to the components. MapleSim 2 performs all the calculations automatically, then displays the results in tabular or any of a variety of other graphical representations.
Although more experienced users can build models with customized components, the MapleSim 2 library contains more than 300 components — plenty of choices for new users — for building physical models. These components are organized in palettes according to their domains. This library also contains useful complete sample models, such as electrical circuits and filters that you can view and simulate. For example, I was able to comprehend and apply electrical principles and components to my robot models, even though my background is in mechanical design, not electrical.
The real power behind MapleSim is its ability to specify simulation conditions for physical models by setting parameter values for individual modeling components. When a component in the model workspace is selected, the configurable parameter values for that component are displayed in the Parameters pane.
Global parameters are common parameter values that are defined and assigned to multiple components in the physical model. You can also store parameter values assigned to a physical model in a parameter set. This capability is particularly useful because you can run a simulation using one parameter set, replace those parameter values with another parameter set, run another simulation, and compare the results. Parameter sets are really useful for quickly testing what-if scenarios.
When you add a modeling component to the model workspace or group components into a subsystem, a node is added to the model tree in the Components pane below the model workspace. In other words, each node in the model tree represents a modeling component, subsystem, or connection in the physical model. The model tree is handy for creating hierarchical levels of model components for navigating and editing physical models. You also can annotate physical models for descriptive documentation purposes.
This image of the articulating robot arm discussed above illustrates how 3D animations make it easier to validate models and give greater insight into system behavior — a major benefit of using MapleSim 2.
For simulation purposes, every component in the physical model contains algebraic or differential equations that describe behavior. Components also can define events, which can change component behavior during a simulation by enabling or disabling parts of system equations or changing state values. Connections between components can generate additional equations that describe how those components interact.
Simulations begin by collecting all possible equation iterations into one large system of equations specifically for the simulation. Parameter values also are substituted in during this initial phase.
This latest version of MapleSim simplifies the system of equations through a process called index reduction, which reduces the algebraic constraints as much as possible. After the preprocessing is complete, the numeric process begins. A differential algebraic equation (DAE) solver numerically integrates the system of equations. Algebraic constraints are monitored to minimize constraint drift that could affect solution accuracy.
During this part of the simulation process, MapleSim 2 displays simulation status messages in a Progress Information window. When it encounters an event during the simulation process, the numeric solver stops and the simulation computes a new configuration of the system of equations based on the event conditions. This process continues and repeats itself until another event is triggered or the simulation times out.
When the simulation is complete, the results are generated and displayed as graphs. The simulation graphs can be exported to several image formats such as JPEG or BMP. Simulation results also can be displayed in MapleSim's 3D visualization environment as animated 3D graphical representations of multibody mechanical systems.
Admittedly, as eager as I was to familiarize myself with Maple 13 and MapleSim 2, I was also quite apprehensive because it had been so long since I had done much mathematically intensive work. Honestly, though, my initial fear was largely unfounded thanks to the user-friendly interfaces and support materials for these products. I became comfortable with several aspects of the mathematical suite and method and started imagining all the things that were possible with these applications. With a little practice, the intimidation factor goes to zero, and the power and possibilities of parametric mathematical modeling become evident.
The excellent tools and methods available in Maple 13 and MapleSim 2 could benefit many engineers who want to improve their mathematical skills and their design work. Highly Recommended