June 1, 2015
I’ve often thought the keys to life are music, chocolate and air-conditioning, though not necessarily in that order. More recently I’ve had to add math, engineering and the Internet, definitely in that order because math pretty much comes before all the rest. Whether you’re considering the patterns in music, the engineering behind guitar-string manufacturing, the formula for refrigerant chemistry, or the code that drives a communications processor, math is at the core.
However, math as both a language and a tool can be a challenge to implement, so it’s a good thing that software developers have embraced the concept of worldwide, 24/7 connectivity to give users at all levels a helping hand.
Today’s Watercooler ResourcesWith the advent of the Internet and particularly the concept of electronic mailing lists, the old concept of comparing notes while standing by the company watercooler moved into the virtual world. The chance of encountering someone who could answer a design or simulation question increased exponentially. Such was the environment in the late ’90s when the Mathcad Collaboratory group, under its original Mathsoft ownership, offered an online forum for posting Mathcad software questions. Participants gained an easy way to tap the collective expertise of both developers and users when solving and visualizing math problems in science and engineering fields.
Acquired by PTC in 2006, Mathcad, with its natural “whiteboard” live math notation for numeric and symbolic formulas, saw its support expand even more as it joined the larger online PTC Community in 2010. Users of today’s PTC Mathcad Prime 3.1 package now have an number of ways to ask detailed questions and research possible scenarios, whether they are working with the software’s improved templates, writing their own APIs (application programming interfaces) or integrating worksheets with PTC Creo design software.
“A good starting place for new PTC Mathcad Community members is ptcusercommunity.com/docs/DOC-3621. This page links to Mathcad worksheets: some for free, some for purchase and some for active Global Support customers,” says Brent Edmonds, senior director for Mathcad, PTC.
Topics in the PTC Mathcad Community range from plotting data to designing electro-magnets to optimizing rigid-body dynamics. For example, in the mechanical forum, one member recently asked how to get rid of whatever was causing an “undefined variable” error message. In less than two hours, a helpful fellow member’s reply identified a missing multiplication step. And regarding another writer’s spreadsheet-conversion dilemma, labeled “Transient Heat Conduction in Cylindrical Geometry”—posted at 10:28 p.m.—a simple formatting solution appeared just 40 minutes later.
Edmonds also points out that his company’s general resource page gives users access to even more approaches for learning from company experts and tech support staff. Here, users can watch PTC video tutorials, join in live Web demos, explore the customer showcase and navigate to tips-and-techniques blogs. From the number of video views, it’s clear that “Using Vectors Instead of Range Variables” (34,162 views) is a hot topic, as is “Solving an Ordinary Differential Equation” (15,212) and learning general “Programming” steps (12,486).
Managing Big Data
The main webpage for MathWorks notes that its MATLAB product is a programming environment for data analysis, algorithm development, visualization and numeric computations, while Simulink is “a graphical environment for simulation and Model-Based Design of multi-domain dynamic and embedded systems.” What you don’t see in words, but quickly grasp after a little Web surfing, is the connected, supportive world called MATLAB Central that grew out of FTP swaps and news groups more than a decade ago. Here, experienced users are quick to share programs, solutions, ideas, tips, discussions, and even games. The result is a MathWorks software resource with great depth and a loyal following.
A true sense of helpfulness permeates MATLAB Central. “A large part of our market is people who aren’t programmers and may be out of their comfort zone,” says Ned Gulley, design lead, MathWorks. A quick search will lead them to detailed solutions of problems similar to their own, plus the chance to post questions and correct puzzling errors. “There are many generous people out there, engineers who figured out a way to solve a problem and were nice enough to write it up and put it out on the Web and are willing to interact with you,” says Gulley.
Recently, the File Exchange portion of MATLAB Central listed available downloads for “Calculation of Sphericity of Irregular Objects” and “Visualizing Wave Propagation”—just two possibilities out of nearly 18,000 functions, apps and videos, that can be local or accessed via GitHub. Meanwhile, in the MATLAB Answers section, users have added to the existing database of 145,000+ questions by asking and replying to: “How do I place a number before a decimal point?” and “how can I simulate an antenna array’s beamforming in the Phased Array System Toolbox?” The breadth of topics and level of detail is amazing, and users can update existing solutions over many years.
Even more assistance with manipulating files, developing algorithms and analyzing data comes in the form of a MathWorks Link Exchange and the general Newsgroup, as well as a lively “try this” games section. Lastly, MathWorks staff members regularly contribute useful posts through a set of topical blogs.
Maplesoft, the developer of Maple and MapleSim, is another company that recognizes the value of community resources to help make math tools accessible across a spectrum of users. The company’s white paper, “From Concept to Deployment,” tracks the uses and benefits of Maplesoft products over the past 25 years and comes to some interesting conclusions. No matter the company type or size, math usage fits into three categories: advanced analysis, application development and design calculations.
“In large organizations, it’s not unusual to find a ratio such as one advanced analyst: five solution developers: 50 end users. Maple captures the knowledge of the analyst working on mathematical concepts and provides a development environment for the solution developer. The Maple-based solution is then deployed to the end users,” says Laurent Bernardin, executive vice president, Maplesoft. Supporting both analyst and developers are several online Maplesoft resources that give users a common place to share models and analyses, compare experiences, post comments and download executable code.
At the core of this approach is the Maple Application Center. This online resource features more than 2,350 user- and staff-contributed applications, searchable by dozens of categories including 14 different engineering fields and 31 areas of math. Some files are documents describing an analysis challenge, proposed solution (system of equations) and implementation in Maple or MapleSim. Others are working models that users can adapt to their own needs, such as “Gas Orifice Flow Meter Calculator,” “Vehicle Ride & Handling Tool” and “Windshield Wiper Mechanism.” The Preview-Before-Downloading feature is very handy.
Additionally, for the past five years, Maple users have been able to share Maple worksheets and apps with fellow users through the MapleCloud. This repository is now accessible from a Web browser, a free Maple Player and from Maple itself, enabling easy collaboration even among non-Maple owners. A public community section within MapleCloud lets users share their applications and examples.
Two other online tools continue to simplify Maplesoft implementations. The MapleNet product lets you share solutions over your own Website through interactive Maple documents, offering more control and features than the basic Maple Player. And because everyone sees the value of user-to-user communications, MaplePrimes hosts the company’s active forum for posting comments, asking questions, learning about new features, and exploring tips and techniques.
A Fresh Look at Classic Software
Is it really possible to model, simulate and control nonlinear dynamic systems without coding, i.e., hiding the complexities of the underlying math? That was the challenge taken on 25 years ago by the founder of Visual Solutions; the successful result became VisSim software. Acquired by Altair in 2014, VisSim is a 100% graphical language package that combines the simplicity and clarity of a block diagram interface with a high-performance mathematical engine. A library of functional blocks ranges from simple timers and sine-wave generators to sophisticated sub-systems such as hydraulic components and 6-DOF (Degrees of Freedom) airframe dynamics. Connecting these blocks with virtual wires and hitting “go” sets a simulation in motion.
“We needed to find ways to encapsulate complicated math and describe it graphically. VisSim converts (operational) requirements into plant models, making them available to a broader audience so that they can evaluate different scenarios,” says Michael Hoffman, senior vice president, Math and Systems, Visual Solutions. Models of motor controls or gas turbine simulators, for example, can be used for training, for hardware-in-the-loop simulations, or to automatically generate tight, readable controller code that will load directly into a standard control-processor. All of this is done without the originator having to code in C or assembly.
End-users can download the view-only VisSim Viewer software to open, view and simulate VisSim models of any size. The Viewer lets you move sliders, click buttons and change block and simulation parameters to test different design scenarios, all with no knowledge of the math or exposure of company-private algorithms.
Developers can get questions answered through email or online forums focused on modeling, simulation and embedded controllers; reusable models are also shared through an online exchange, addressing such topics as “Controlling Prius Brushless Interior Permanent Magnet Motors” and “Thermal Response of a Large CCD Camera.” Adding to the dozens of downloadable tutorials and user guides is a series of mechatronics training videos produced by Richard Kolk, chief technical specialist at Visual Solutions.
Another company that got started in this area 25 years ago is Wolfram Research, developer of Mathematica, now in version 10. Users who are comfortable with equations and coding will appreciate the fundamental Wolfram mathematical language for technical computing, as well as the drag-and-drop component-based modeling and simulation environment found in Wolfram SystemModeler. The latter greatly simplifies connecting a functioning model with the math behind a dynamic system such as a truck-seat suspension or flight dynamics of an aircraft under different flight conditions. Both packages enjoy extensive community support: 89 online discussion groups cover a huge range of topics, from general mechanical engineering (including finite element analysis and computational fluid dynamics) to image processing, control systems, and Raspberry Pi.
The philosophy of the Wolfram language is to automate as many tasks as possible, so programmers can concentrate on defining the end functions. The language automatically solves ODEs and PDEs (partial differential equations) by finding the best algorithm out of thousands in the Wolfram/Alpha Knowledge database. This growing database of information-about-everything already includes 150,000+ examples, including engineering data and computational approaches, plus 10,000 open-code demonstrations.
The new Wolfram Programming Cloud introduces a level of automation that greatly speeds up application/GUI (graphical user interface) creation (check out Wolfram Research for a good overview). And with the advent of Mathematica Online, Mathematica interactive notebooks now work directly in a Web browser—letting users seamlessly share documents and resources in the cloud.
Math in Friendly Places
Tapping online resources not only helps demystify math tools but also opens users up to completely new solutions. “We have people coming to the (MATLAB Central) site every morning and afternoon, constantly learning and sharing,” says MathWork’s Gulley. “It’s a really nice way to break out of the isolated world of an engineer at the desktop and make connections with people.”