Introduction to EngineeringPaper.xyz

Introduction to EngineeringPaper.xyz

A live version of this calculation is available at EngineeringPaper.xyz.

Introduction

EngineeringPaper.xyz is a free and open source tool that evaluates complex mathematical expressions while keeping track of the units for you. EngineeringPaper.xyz also has the capability to solve systems of equations. Once you have your calculation the way you want it, you can easily save or share your sheet with others by creating a shareable link or by saving directly to a file. This sheet introduces you to the basics of using EngineeringPaper.xyz. A video tutorial for EngineeringPaper.xyz is available as well. We also have an EngineeringPaper.xyz Reddit community where you can ask questions, share your calculations, and stay up date with the latest EngineeringPaper.xyz developments. The source code for EngineeringPaper.xyz is available on its GitHub page.

Cell Types

An EngineeringPaper.xyz sheet consists primarily of documentation cells and math cells. This cell is a documentation cell and the three cells after this cell are math cells. There are two primary math statement types that appear in math cells, an assignment statement and a query statement. For an assignment statement, a parameter name is provided on the left hand side and an expression is provided on the right hand side. Here are some examples of assignment statements:

$$ l=10\left[m\right] $$

$$ w=3\left[m\right] $$

$$ area\ =\ l\cdot w $$

Specifying Units

Anytime a numerical values appear in an expression, units may be provided in square brackets immediately after the numerical value. If no units are provided, numerical values are treated as unitless. EngineeringPaper.yxz will keep track of the units throughout all of the calculations and will generate an error if units are not consistent.

Querying Results

A query statement is used to obtain the result of a calculation. A query statement consists of a expression on the left hand side of the equals sign and the right hand side is left blank. When a query statement is encountered, EngineeringPaper.xyz knows that the results of a calculation are desired and it will automatically fill in the right hand side. Here are some examples of query statements:

$$ area= 30 \left\lbrack m^2\right\rbrack $$

$$ \frac{10\ \left[miles\right]}{1\ \left[hour\right]}= 4.4704 \left\lbrack \frac{m}{s}\right\rbrack $$

An assignment statement and a query statement can be combined by adding an equals sign to the end of an assignment statement as shown below:

$$ velocity=\frac{10\left\lbrack km\right\rbrack}{1\left\lbrack day\right\rbrack}= 0.115740740740741 \left\lbrack \frac{m}{s}\right\rbrack $$

Additionally, multiple assignments may be defined in a single math cell by separating the assignments by commas as shown below:

$$ a_1=10\left\lbrack\frac{m}{sec^2}\right\rbrack,:a_2=20\left\lbrack\frac{ft}{sec^2}\right\rbrack,:a_3=5\left\lbrack\frac{in}{sec^2}\right\rbrack $$

Specifying Result Units

Note that the result units default to SI base units. To display results in different units, the desired output units my be specified in square brackets on the right hand side of a query statement. This capability is demonstrated in the following example:

$$ \frac{10\ \left[miles\right]}{1\left[hour\right]}=\left[\frac{miles}{day}\right] =240 \left[\frac{miles}{day}\right] $$

Automatic Calculation Ordering

EngineeringPaper.xyz will automatically perform calculations in the correct order independent of the order of the math cells appear in the sheet. See the following example:

$$ volume= 90 \left\lbrack m^3\right\rbrack $$

$$ volume=area\cdot h $$

$$ h=3\left[m\right] $$

Automatic Cell Updates

All edits update the impacted cells immediately. Change the value of h in the above cell to see the volume update as soon as the edit is made.

Saving Sheets

Sheets can be saved locally to your own computer using the Save Sheet to File button

. These files will have the .epxyz extension and can be opened by dragging and dropping the files onto the EngineeringPaper.xyz page or by clicking the Open Sheet From File button
.

Sharing Sheets

If you would like to share a sheet with someone else using just a link, use the Get Shareable Link button

on the top toolbar. The link is private unless you choose to share it with someone else. Anytime you would like to save changes to a sheet, it is necessary to generate a new shareable link since sheets are not automatically saved. To start a new sheet, use the New Sheet button
on the top toolbar.

Plotting and Function Notation

EngineeringPaper.xyz also supports using function notation to evaluate expressions at specific values. For example, the projectile equation can be defined as:

$$ y=-\frac{g\cdot\sec\left(\theta\right)^2}{2\cdot v_{initial}^2}\cdot x^2+x\cdot\tan\left(\theta\right) $$

Any values that won’t change can be set using an assignment statement, as was done previously. For example, let’s set the gravitational constant:

$$ g=9.81\left[\frac{m}{sec^{2}}\right] $$

Now, we just need to specify v_initial, theta, and x to evaluate the projectile height y at position x. We could set these values like we set the gravitational constant, but then the values would be fixed for the entire sheet. To allow us to evaluate y for different sets of input values, we can use the function notation as shown below:

$$ y\left(\theta=45\left[degrees\right],\ v_{initial}=1200\left[\frac{ft}{sec}\right],\ x=100\left[yards\right]\right)= 90.826875 \left\lbrack m\right\rbrack $$

The parameters can be in any order. Notice the use of units with the parameters passed to the function. If we want the solution in feet instead of meters, we just need to specify the desired output units:

$$ y\left(\theta=45\left[degrees\right],\ v_{initial}=1200\left[\frac{ft}{sec}\right],\ x=100\left[yards\right]\right)=\left[feet\right] =297.98843503937 \left[feet\right] $$

Of course, specifying the height y at a single x value isn’t very useful. It would be better to plot over a range of x values. When using the function notation, if one of the inputs is given as a range, a plot will be displayed as follows:

Plots are a powerful way to compare different scenarios. For example, the impact of changing launch angle from 45 to 20 degrees can be clearly illustrated by adding a second plot expression:

Check out the following tutorials to explore some of the more advanced features of EngineeringPaper.xyz