I’m excited to announce the launch of a new math tool called Maple Flow. Here, I’ll outline our motivation for developing this product, and talk about its features.
A large fraction of Maple users are professional engineers .
All use Maple, but very few say that they do math for a living, in much the same way a plumber wouldn’t say they use a wrench for a living.
They say things like:
- I design concrete retaining walls
- I simulate the transients on a transmission line
- I design heat exchangers
- I model the absorbency of diapers
- I design subsea pipelines
- I need to optimize the trajectory of a space shuttle
- I work for a power generation company doing load flow analysis
- I model how a robot arm needs to move
Some of these applications are mathematically simple (but are based on scientific principles, such as the conservation of heat, mass and momentum). The equations consist of basic arithmetic operations, trig and log functions, sprinkled with the occasional numeric integration.
Sometimes, the equations are already formalized in design guides, published by organizations like the IEEE, ASME or ISO. Given the specific physical context, engineers just need to implement the calculations in the right order (this is especially true for Civil and Structural engineering). These applications require you to think at an engineering level.
These are what we call design calculations, done by design engineers.
On the other end of the spectrum, some of these applications are mathematically complex. You might need to derive equations, manipulate PDEs, work with quaternions or transformation matrices, or do some programming. These applications require you to think at a mathematical level.
Let’s call the engineers doing this type of work research engineers. Research engineers are often more closely aligned with mathematicians than design engineers.
So we have design engineers and research engineers (and of course we have engineers with feet in both camps, to a varying degree).
Research engineers and design engineers do different mathematical things, and have different mathematical needs. Both groups use Maple, but one size doesn’t always fit well. Either the toe pinches a little, or the shirt is a mite too baggy.
This is where Maple Flow enters stage right.
Maple Flow is a new tool that we’ve built (and are continuing to expand and improve) with the needs of design engineers in mind.
- The worksheet lets you put math anywhere – just point, click and type
- The evaluation model is forward-in-space (unlike Maple’s forward in time evaluation model). This means the execution order is explicitly given by the position of the math on the canvas.
- The worksheet updates automatically, so results are never stale
- We’ve made several simplifications to massage away some of the complexity of the Maple programming language.
- You can use nearly all of tools in the Maple programming language.
Here’s how we see people using Maple Flow. They
- Enter a few major equations somewhere, followed by some parameters scattered around
- Make the equations “see” the parameters by moving the parameters above the equations
- Insert any parameters or equations you’ve forgotten, and move them into position, shifting the existing content out of the way to make room
- Add text, and perhaps an image or plot
- Finally, align math and format text for a presentable document
I’ve been using Maple Flow for a while now. I like the fact that the nature of Maple Flow means that you don’t have to start with a grand plan, with every computational detail planned out in advance. You’re encouraged to make things up as you go along, and gradually sculpt your calculations into shape.
Basically, Maple Flow doesn’t issue stiff penalties for making mistakes. You fix them, and then move on.
I also like that Maple Flow makes you feel like you’re “touching” your equations, shifting things about easily with either the mouse or the keyboard. There’s a certain tactility and immediacy to Maple Flow that gives me a micro dose of dopamine every time I use it.
Maple Flow’s freeform interface lets you experiment with space, alignment and layout, drawing attention to different groups of equations.
For example, you can design calculation documents that look like this.
You can use nearly all of the Maple programming language in Flow. Here’s a command from the plots package.
Here’s fsolve in action.
The Maple Flow website has more information, including a demo video.
As ever, your feedback is gratefully received.