 Using Units and Dimensions - Maple Programming Help

Using Units and Dimensions

 Introduction Maple provides a comprehensive package for managing units and dimensions. Problems in science and engineering can now be fully managed with appropriate dimensions in any modern unit system (and even some historical systems!), including MKS, FPS, CGS, atomic, and more. Over 500 standard units are recognized by the Maple Units package.   This document explains how the Units package is structured, how to do simple and complex conversions between units, and how to use units in a Maple document. It also gives tips and examples on how to effectively use the different notation styles, how to change the default measurement system, and how to customize defaults in an existing measurement system.   For an introductory tutorial on units, see the Units & Tolerances.  For more detailed help on the support for units and dimensions in Maple, see the Units package.
 Entering Units You can enter units by clicking the appropriate symbol in the Units palette on the left or by using the Units hot key:  - Ctrl + Shift + U : Windows, Linux  - Command + Shift + U : Mac  - Alt + Shift + U : Linux

Operating Environments

Default Environment: For basic units support, you do not need to load the Units package. Maple will allow you to assign units to variables and expressions through the Units palette and perform calculations with them. The unit names are treated as non-assigned symbols and will be manipulated to give the correct combination of units in your results.

However, you can perform unit conversions and simplifications on your expressions by using the Context Panel.

Default Environment Examples

$\mathrm{restart}$



$\mathrm{mass}:=90.4⟦\mathrm{kg}⟧:$

$l:=34⟦\mathrm{cm}⟧:$

$t:=24.5⟦s⟧:$

$\mathrm{f1}≔\frac{\mathrm{mass}\cdot l}{{t}^{2}}$ = $\frac{{5.120533111}⟦{\mathrm{kg}}⟧⟦{\mathrm{cm}}⟧}{{⟦{s}⟧}^{{2}}}$

From the Context Panel, select Units>Simplify to give: ${0.05120533111}⟦{N}⟧$

Simple Environment: Establishes an environment in which some functions, including the ones for basic arithmetic, are modified to accept input with units.

In contrast to the Natural and Standard environments, unassigned variables are not automatically assumed to represent unit-free quantities. For example, $5⟦m⟧+x$ is a valid expression if $x$ is unassigned, because $x$ may represent a length. On the other hand, $\left(5⟦m⟧+x\right)\cdot \left(6⟦s⟧+x\right)$ is an invalid expression, because the first factor implies that $x$ represents a length, whereas the second factor implies that $x$ is a duration.

By default, the Simple Environment is loaded automatically when you load the Units package.

You assign units to variables or expressions either using the Unit function or the Units palette on the left.  If you do not find the unit you need, simply select the $⟦{\mathrm{unit}}⟧$ symbol and enter the unit name into the placeholder.



Simple Environment Examples

$\mathrm{restart}$

$\mathrm{with}\left(\mathrm{Units}\left[\mathrm{Simple}\right]\right):$

$3⟦\mathrm{cm}⟧+2⟦m⟧$ = $\frac{{203}}{{100}}⟦{m}⟧$

$\mathrm{mass}:=90.4⟦\mathrm{kg}⟧:$

$l:=34⟦\mathrm{cm}⟧:$

$t:=24.5⟦s⟧:$

$\mathrm{f3}≔\frac{\mathrm{mass}\cdot l}{{t}^{2}}+x$ = ${0.05120533110}⟦{N}⟧{+}{x}$

$\frac{ⅆ}{ⅆ\phantom{\rule[-0.0ex]{0.2em}{0.0ex}}s}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{s}^{2}$ = ${2}{s}$

Standard Environment: Allows you to take full advantage of the units and dimensions support in the Units package. Unit names are separated from variable names so that you can still use variables with the same name for other computations.

You assign units to variables or expressions either using the Unit function or the Units palette on the left.  If you do not find the unit you need, simply select the $⟦{\mathrm{unit}}⟧$ symbol and enter the unit name into the placeholder.

Standard Environment Examples

$\mathrm{restart}$

$\mathrm{with}\left(\mathrm{Units}\left[\mathrm{Standard}\right]\right):$

$\mathrm{mass}:=90.4⟦\mathrm{kg}⟧:$

$l:=34⟦\mathrm{cm}⟧:$

$t:=24.5⟦s⟧:$

$\mathrm{f3}≔\frac{\mathrm{mass}\cdot l}{{t}^{2}}$ = ${0.05120533110}⟦{N}⟧$

$\frac{ⅆ}{ⅆ\phantom{\rule[-0.0ex]{0.2em}{0.0ex}}s}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{s}^{2}$ = ${2}{s}$

Natural Environment: You can express unit variables as ordinary variables without special notation.

This convenient notation is very readable, and is suitable for many situations, including interactive calculations where you have a limited number of user-defined variable names.

The Natural units notation is suitable for situations in which you are confident you will not create naming conflicts or expressions that appear ambiguous. Because the Units package supports many units, many names are "taken" when the Natural notation is used. This list will contain many unit names which you may not even be aware are units, for example, f, year, barn, and Pa. Using these names as variables could inadvertently create problems with your calculations.

Natural Environment Examples

$\mathrm{restart}$

$\mathrm{with}\left(\mathrm{Units}\left[\mathrm{Natural}\right]\right):$

$4.2\cdot m+32\cdot \mathrm{cm}$ = ${4.520000000}⟦{m}⟧$

$\mathrm{f2}≔\frac{\mathrm{mass}\cdot l}{{t}^{2}}$ = $\frac{{1}}{{1000000000}}{\mathrm{mass}}⟦\frac{{{m}}^{{3}}}{{{\mathrm{kg}}}^{{2}}}⟧$

But, because s is defined as seconds in the Natural units environment, if you attempt to use it in a symbolic calculation, it results in an error.

$\frac{ⅆ}{ⅆs\phantom{\rule[-0.0ex]{0.2em}{0.0ex}}}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}{s}^{2}$

Units Package:  Loading the Units package does not enable a separate units environment. Instead, it loads one of the three non-default environments listed above; by default the Simple Environment. In addition, the Units package provides functions that allow you to make changes to the units support: add new units, rename existing ones, even create your own systems of units.

Examples using the Units package

Converting between Measurement Systems

Maple automatically converts the answer to a default unit system and unit. SI is the default unit system used by the Units package.

$\mathrm{restart}$

$\mathrm{with}\left(\mathrm{Units}\right):$

= ${1.308100000}⟦{m}⟧$

You can easily express the above in the standard US (FPS: foot-pound-second) system using the convert command.

= ${4.291666667}⟦{\mathrm{ft}}⟧$

The default unit system can be changed using the Units[UseSystem] command.

$\mathrm{Units}\left[\mathrm{UseSystem}\right]\left(\mathrm{FPS}\right):$

= ${31603.35958}⟦{\mathrm{ft}}⟧$

Finding what Unit Systems are Available

GetSystems() returns an expression sequence of all systems of units.

$\mathrm{restart}$

$\mathrm{with}\left(\mathrm{Units}\right):$

$\mathrm{GetSystems}\left(\right)$ = ${\mathrm{Atomic}}{,}{\mathrm{CGS}}{,}{\mathrm{EMU}}{,}{\mathrm{ESU}}{,}{\mathrm{FPS}}{,}{\mathrm{MKS}}{,}{\mathrm{MTS}}{,}{\mathrm{SI}}$

Redefining Default Units inside a Measurement System

Inside each measurement system, each dimension has a specified default unit. For example, all length calculations done inside the SI system return answers in meters. It is possible to change the default unit for a particular dimension, which will be respected even after combining and simplifying units, while leaving the rest of the measurement system unchanged.

$\mathrm{with}\left(\mathrm{Units}\right):$

$\mathrm{AddSystem}\left(\mathrm{NewSI},\mathrm{GetSystem}\left(\mathrm{SI}\right),\mathrm{mm}\right):$

$\mathrm{UseSystem}\left(\mathrm{NewSI}\right):$

$\mathrm{Unit}\left(50000.⟦{\mathrm{cm}}^{2}⟧\right),\mathrm{Unit}\left(3.⟦\mathrm{cm}⟧\right),\mathrm{Unit}\left(11.⟦{\mathrm{ft}}^{3}⟧\right)$ = ${50000.}⟦{{\mathrm{cm}}}^{{2}}⟧{,}{3.}⟦{\mathrm{cm}}⟧{,}{11.}⟦{{\mathrm{ft}}}^{{3}}⟧$

Unit conversions

For simple conversions between units, the convenient Units Converter is available.

From Tools menu, select Assistants>Units Converter or in Maple help, type assistants/Units.  No knowledge of the Units package is required. All the available dimensions and units are selected from a list, so you know instantly what is available with no worries over choosing the proper spelling or abbreviation.

The convert command

The Maple convert command can be used directly for unit conversions without the $\mathrm{with}\left(\mathrm{Units}\right)$ command.

To determine the conversion factor, use an unassigned variable in the convert command. For example, to see the conversion formula from calories to joules:

$\mathrm{restart}$

$\mathrm{convert}(\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}1.0,\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{units},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{ft},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}m)$ = ${0.3048000000}$





$\mathrm{convert}(x,\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{units},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{cal},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}J)$ = $\frac{{523}{x}}{{125}}$

Temperature conversions

The units conversion for temperature converts changes (for example, a temperature change of 5° Celsius is the same as a change of 9° Fahrenheit). To convert absolute temperatures from one scale to another, use the temperature option to convert.



$\mathrm{convert}(5,\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{units},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{degC},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{degF})$ = ${9}$



$\mathrm{convert}(0,\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{temperature},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{degC},\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\mathrm{degF})$ = ${32}$

Angle Conversions

All trigonometric functions in Maple expect angles in radians. In the Units[Simple] mode, you can simply enter the angle in any units and Maple automatically performs the conversion.

$\mathrm{with}\left(\mathrm{Units}\right):$

$\mathrm{α}≔45.⟦\mathrm{deg}⟧:$

$\mathrm{cos}\left(\mathrm{α}\right)$ = ${0.7071067811}$

Displaying results in the units you want

Sometimes, you will need to change the units of your result from the units computed by Maple. To do this, from the Context Panel for the result, select Units>Replace Units, and then enter your desired units.

If you enter units with incompatible dimensions, you will get an error message.

$\mathrm{with}\left(\mathrm{Units}\right):$

$\mathrm{distance}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}:=\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}5.0⟦m⟧:$

$\mathrm{elapsedtime}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}:=\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}10⟦s⟧:$

$\mathrm{speed}:=\frac{\mathrm{distance}}{\mathrm{elapsedtime}}$ = ${0.5000000000}⟦\frac{{m}}{{s}}⟧$

To convert to miles per hour, select Units>Replace Units, and then enter your desired units: ${1.118468146}⟦\frac{{\mathrm{mi}}}{{h}}⟧$

Example: How much space does 1 billion dollars worth of gold occupy?

Initialize the Units package.

$\colorbox[rgb]{0,0,0}{\mathrm{restart}}$

$\mathrm{with}\left(\mathrm{Units}\right):$

First, define the dollar value of the gold, cost per troy ounce (assume \$268), and the density.

$\mathrm{val}:={10}^{9}⟦\mathrm{USD}⟧:$

$\mathrm{costPerOz}:=268.00⟦\frac{\mathrm{USD}}{\mathrm{oz}\left[\mathrm{troy}\right]}⟧:$

$\mathrm{density}:=19.3⟦\frac{g}{{\mathrm{cm}}^{3}}⟧$ = ${19.3}⟦\frac{{g}}{{{\mathrm{cm}}}^{{3}}}⟧$

The resulting mass and volume are:

$\mathrm{mass}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}:=\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\frac{\mathrm{val}}{\mathrm{costPerOz}}$ = ${1.160577493}{{10}}^{{5}}⟦{\mathrm{kg}}⟧$

$\mathrm{volume}\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}:=\phantom{\rule[-0.0ex]{0.5em}{0.0ex}}\frac{\mathrm{mass}}{\mathrm{density}}$ = ${6.013354886}⟦{{m}}^{{3}}⟧$

What is the length of one side of a cube having this volume?

$\mathrm{LengthSide}:=\sqrt{\mathrm{volume}}$ = ${1.818467785}⟦{m}⟧$