Simple Engineering Calculations in Jupyter
Turn the contents of a Jupyter cell into a formatted calculation by following the steps below:
- Install
ipycalcusingpip install ipycalc - Use
from ipycalc import calcto bringipycalcinto your notebook's namespace. - Use
%%calcas the first line of a cell to indicate that you want to runipycalcon the contents of a cell.
The basic calculation syntax is:
Variable Description: variable_name = python_expression -> result_decimal_places*result_unit # Reference Text
Here's a simple example that calculates the flexural strength of a concrete beam:
Key components of the ipycalc syntax are:
:(required) The description must come before this character.=(optional) Used to assign a python expression to a variable name. Omit this if you simply want to reprint a previously defined variable.->(optional) Separates the python expression from the results formatting rules.*(optional) Indicate the number of decimals you want to see in the result to the left of the*, and the units you want to see in the result to the right.#(optional) Indicates reference text to the side of the calculation - handy for equation references or code references.
Here are a few useful things to keep in mind when using ipycalc:
- Subscripts can be added by using the
_character to indicate the start of a subscript. - Greek characters included in the
python_expressioncan just be written out (e.g.epsilon). To include greek characters in the Variable Description or the Reference Text, you can use Jupyter's Markdown Latex tags (e.g.$\epsilon$). Note that the greek characterpsiis ambiguous with the unit psi (pounds per square inch), so for that character specifically you'll need to use\grpsito tellipycalcyou want the greek character rather than the unit. - To stack fractions place the numerator and denominater in parentheses: (num)/(denom) yields
$\dfrac{num}{denom}$ . -
ifstatements andelsestatements are available using python's inlineifstatement (terniary) notation. - Square roots can be displayed using
sqrt. - Prime characters can be displayed using
^prime. - If text gets to lengthy to fit on one line, you can add
\\to force a line break anywhere in a line. This can help your calculations fit within the page's print margins. -
ipycalcassists you with printing your notebooks. It has a built innbconverttemplate calledipycalcthat works just like thewebpdftemplate, except it fixes the the bad margins in thewebpdftemplate, and avoids page breaks right after headers. Any cells tagged withhide_cellwill not be rendered. Any cells tagged withhide_inputwill only show the output upon printing. You can select it from the file menu via "File -> Save and Export Notebook As... -> Ipycalc"
IPycalc is still in development. There could be bugs, so be cautious and validate the answers it gives you. A special thanks to @connorferster for his project handcalcs which inspired this project. A link to handcalcs is here: https://github.com/connorferster/handcalcs.
