Thanks for visiting Scientific Computing World.

You're trying to access an editorial feature that is only available to logged in, registered users of Scientific Computing World. Registering is completely free, so why not sign up with us?

By registering, as well as being able to browse all content on the site without further interruption, you'll also have the option to receive our magazine (multiple times a year) and our email newsletters.


Share this on social media:

Computer algebra systems are widely applied to the modelling of engineering (and many other) systems. In fact, most of the Maple worksheets which come my way are real-world models of one kind or another. A realistic physical model, however, takes a lot of work and a lot of attention to detail: every component needs to be built as a detailed sub-model, if the aggregate result is to be useful and meaningful. Not quite a year ago, Maplesoft released a new product, MapleSim, which drew on both the existing abilities of Maple mathematical software and the company’s industrial partnerships experience.

A month back, MapleSim went to release 2. There are core improvements to speed and robustness, and the library of components has been expanded considerably across several areas with additions from ceiling function to translational EMF. Storable, distributable and inheritable parameter blocks can offer dramatic economies of effort and time in the right circumstances, especially across large and complex structures or replications. A central storage, management and export repository for results also makes a significant contribution to insights and to streamlined working practices alike. Visualisation, already sophisticated, benefits from animated 3D enhancement.

Off the shelf sub-models, with realistic physical properties, are dragged and dropped from palettes onto an assembly plane where they can be fine tuned, copied, cut, pasted, rearranged, linked, renamed, and so on, in various ways.

A component (for example a joint, body, sensor, visualisation, motor or moment) can be opened up for examination and, if required, modification of its properties. New user specified components can also specified in a Maple worksheet and added to a custom library. Once components have been assembled into a meaningful entity, they can be packed up and collapsed into a self-contained black box subsystem. Subsystems can be labelled, copied and pasted (instance identification subscripts to the label are added automatically), moved around, opened for editing, closed again, reused in other models, and combined into further subsystems – ad infinitum, so far as I can tell. Each level of encapsulation is one layer in a virtual stack. The resulting hierarchy, from whole system in one box down to individual component properties, is navigated by a simple up and down cursor set (plus a single jump from anywhere in the guts of the model all the way to the highest abstraction and also a pair of browser style back and forward controls as well), allowing quick access to views at any desired degree of detailed complexity or schematic simplicity.

Communication with Maple is two way. Once a model (or intermediate submodel, for that matter) is working satisfactorily, the equations generated can be examined, saved, and hived off into Maple (or a Modelica application) for further work. Similarly, data is exportable to anything that can read an Excel or CSV file, and read in the same way.

At the heart of any such product is the question: how much easier is it to use, compared to previously employed methods? Working down through a series of guinea pigs, the youngest and least experienced who could still produce a functioning model with useful visualised output was an eight year old who in ten minutes demonstrated an impressive  five jointed creation which she calls ‘a wiggly waggly dancer thing’. As one who has sat through more undergraduate simulations of pendulum assemblies than I care to remember, I find that very impressive.