PTC Mathcad is a symbolic mathematic document software, capable of a vast array of calculations, simultaneously documenting your project in an easy to read manner. I have been using it for about three weeks, and now that the recent round of college exams are over, I have a few minutes to chat about it. It is an interesting piece of engineering software, uniquely beneficial in specific situations.

PTC offers a limited version that is totally free, named PTC Mathcad Express! That is the focus of this article.

# PTC Mathcad software, old and new

The Mathcad line of products recently split:

- PTC Mathcad, the somewhat robust legacy build, has been halted at v15
- PTC Mathcad Prime, the build for the future, is currently at v3.1.

The company decided that it was beneficial to move to a new core platform, giving themselves more room to grow. While Mathcad Prime is in its 3^{rd} major revision, and continues to be improved, the original feature set is being brought over piece-meal, a major criticism by many on the forums.

Mathcad Prime runs in “Express” mode until it has been registered; express mode is de-featured, but it’s a useful tool, __free of charge to use perpetually__. Since you use Express knowing it’s in a limited, unregistered state, you don’t miss the previous toolset that hasn’t made it to Prime… well, not completely.

# Mathcad – the document

Mathcad is simply a symbolic math calculator, capable of performing most varieties of math, and doing so in a document format. **What you see is what you get**. There are no hidden calculations.

(The image above was formatted as a ledger sheet in portrait orientation. The default math variable and text sizes were rather large, and instead of reformatting the defaults, I simply went to a larger sheet, and plot it reduced to letter sized). The image should offer a feel for the basic software and expectations. It is somewhat like a symbolic version of Microsoft Excel with all the information visible, but with far more mathematic capabilities and an easy to read approach. The format can be appealing to students that are new to mathematic projects, and are uncomfortable with programmatic and spreadsheet type software.

This setup is in English reading style: Left to right; top to bottom. This is the breaking point for many experienced Excel users, which can point to any cell in their spreadsheet. Variables must be defined above, and/or to the left of the calculations referencing them, as if you were reading the report from top to bottom. In many situations, setting up a variables and constants page at the beginning will alleviate this. Organizing a document with this limitation, in an attractive, well laid out manner can be very trying, and not to mention time consuming. This is not a deal breaker, but an inconvenience nonetheless.

The document shell is just that – a shell. You add information to the shell with three major components:

- Add a
**text block**– permits a paragraph style entry, the full width of the page. - Add a
**text box**– a rectangular-style grouping of text and symbols that word-wraps independently, which can be dragged anywhere on the document. I wished that a border were available for these in certain situations. - Add a
**math block**-These are the mathematic containers and are similar to fields in other document formats. Apply the math block to the empty shell independent of text, as well as inline within the text containers. Variables defined in these become the variables and constants used throughout the document.

Basic document and text editing is available, including fonts, colors, underscores, etc. What is not available is search and replace. When you rename a variable, downstream variables of the same name do not update, but instead your sheet calculations fail and the document turns red: quite un-cool.

Images can be added, and print out quite nicely.

# Mathcad – Symbolic and slick

Variables, symbols and units

Variables are created on-the-fly with a statement such as this: “mdot:=something”; “mdot” is then ever-present for reference from that point forward. Greek symbols are available within variables, allowing them to remain visibly similar to other references, like say lower case sigma for solidity, or upper-case sigma for sums. Pulling these off the ribbon is cumbersome, but once you learn the associated hot-keys, the process is quite smooth.

Mathcad is unit-aware which is a strength and weakness. Once you define a variable with a unit type, that unit is maintain that throughout the document. When units are multiplied for example, say like m/s and kg/s, Mathcad spits out Newtons. If I wanted that in English units, I can simply type those over top of the SI unit result, and Mathcad will update the result to accommodate the difference. That is pretty cool.

When incompatible unit types come together, the units have to be rendered out and then reapplied. In my opinion, this makes for an ugly document, but these changes become quite apparent for all to understand.

Mathematics and operators in math blocks

Most algebraic mathematics that I can think of off-hand are present, as well as calculus, logic, and matrices. This is where the rubber meets the road, and where Express is lacking. Items like iterative solver blocks are locked until he product is registered.

Calculations involving matrices is both amazing when the system is with you, and utterly painful when it is not; this is largely due to my inexperience with the software. Matrices and lists are divided into two categories, vectors and range variables. Knowing which is used in which situation still remains a mystery to me. I have however learned enough to get by in a case-by-case basis.

Matrices can be dimensioned ahead of time, but Mathcad will dimension variables into matrices on-the-fly where needed. For example, the exit velocity of the stream is calculated from single variables and 1X6 element arrays. The new resulting variable is alutomatically created as a 1X6 matrix to accommodate the straight multiplication.

Matrices and lists can be visibly compressed by dragging their ends up and down save space, or to limit terrifying redundancy where it is not needed.

Subscripts and indexes

These can seem a bit perplexing:

- Subscripts – more characters to use as identification, differentiating mass flow of air “mdot
_{a}”, from the mass flow of fuel “mdot_{f}”. - Indexes – index lookups within variables. These look like subscripts, but applied differently, so that Mathcad knows the difference between a variable with a subscript vs. an index of an array. Users can add indexes under subscripts as well. Another example of this is shown in the plots section following.

# Plots and graphing

Plots are a letdown. They are basic at best, and after much reading, learned that most of the advanced functionality and formatting was left behind in v15. The company assured users back before v3.0 that the improvements were coming, however in 3.1 they are still not there.

Adding variables is simple enough. Simply add a trace; the software will drop a placeholder in on the plot for users to enter the desired variable names. Limited formatting can be applied on a trace-by-trace basis.

The image below shows 8 plot types available in the ribbon pulldown. However, the background grid is not available, the axes cannot be formatted for opposing scales, data cannot be shown on the plot, and so forth. Some plot features can be drag adjusted directly, but these are limited.

One nice feature was plotting the data from matrices. In this example, I compared thrust, velocities, Mach thresholds, and internal areas for each of an array of compressor pressure ratios. I identified the x-axis with the equation that would deliver the ratios, and the y-axis with the corresponding variable and index.

# Conclusion

Mathcad Express is a nice tool to do some mathematic documentation, and it really stands alone in that area of engineering. Discussions I had with other engineers have noted that they use it to do certain calculations that need to be documented, and as one engineer put it *“I run out my calculations and when I’m completed, there is no need to document anything: the documentation is already done”*. There really isn’t any other full capability software that can do this with such ease.

**Pros:**

- Awesome documentation of calculations
- Tracks and updates units
- Manipulates arrays and performs calculus (which spreadsheets won’t do)
- Creates simple graphs
- Express version is free

**Cons:**

- Retail version is expensive (You really gotta need documentation)
- Creates simple graphs
- Document layout methodology wastes a lot of space and requires a lot of pages to do anything fun
- Most employers are requiring knowledge of MatLab
- Mathcad Prime 3.1 is the compatibility cutoff; Mathcad files cannot be read forward or backward of this version, not even Prime 3.0 documents (there are converters available, but the jury is out on whether this is safe or not).

Is it worth the cost?

PTC Mathcad Express – duh! It’s free. You can’t beat this, period.

PTC Mathcad Prime 3.1 – Student ~$100 USD (annual). Still, you can’t beat that for what it provides.

PTC Mathcad Prime 3.1 – single user? Last time I checked it was ~$1600 USD (annual). Ummm…. I’m not sure.

Why do I seem unsure? On my end there was a licensing snafu, where in I am still out the registration fee, but cannot register the software. PTC came through with a new registration code last night, so I have not had a chance to work with Prime yet. I will write more about Prime as I begin to use the full feature set.

I think the value largely depends on how you document your calculations. Many will retreat to Excel, but for others the slick documentation, easy on-the-fly format is a no-brainer.