Error Propagation Calculator V.1.0


About:
      This program provides a GUI front-end for the python "Uncertainties" library. The motivation of the project was to provide a user friendly access to this python library such that users with little-to-no Python experience can use it to easily propagate errors.
      The program evaluates native Python code. If the user is not familiar with python they can access the correct formatting for a function (or mathematical constant) by click on the provided buttons. This is the reason why the "ln()" button produces "log()" in the equation box. Natively Python uses "log()" to denote the natural logarithm while the common base-10 log is denoted as "log10()"

Interface and Use:
      The interface is kept very simple. On the right there is a table where the users can enter the values and corresponding errors for each variable definition (A,B,C,...Z). On the left, an equation can be entered by the user in native Python syntax, substituting the variable letter (row name; A-Z) for the raw values. If the user does not know the native python syntax they can use the buttons below the equation field much like they would on a standard graphing calculator. The result of hitting a button to produce an operation will be that operation with a '?' character embedded where it must be substituted with a value. For instance, if the user wants to calculate "ln(variable K)" they would hit the "ln()" button which produces "log(?)" in the equation field. Substitution of '?' with 'K' (I.E. "log(K)") will yield the appropriate syntax. Hitting the "Compute" button will evaluate the expression and out put both the resulting nominal value and error in the designated fields.

Below is an example of using this program for the Gibbs Free Energy Equation: ΔG = -RTln(K), where R is the gas constant.



Controls:

Within Menu:

File/Clear Table      =       Removes all elements of the table
File/Clear Equation      =       Resets the equation input field
File/Exit      =       Closes the program
Help.../Instructions...      =       Provides a Message box with instructions for use


Within Variable Table:

'shift'      =       Moves cell selection left
'alt+shift'      =       Moves cell selection right
arrow 'up'      =       Moves cell selection up
arrow 'down'      =       Moves cell selection down
arrow 'left'      =       Moves cell selection left
arrow 'right'      =       Moves cell selection right
right click      =       Displays OS standard menu for that action


Within Output Fields:

double left click      =       Copies contents to system clipboard



Dependencies:

The GUI for this software is dependent on wxPython and wxWidgets.
The interface code was generated using wxFormBuilder
All calculations are dependent on the uncertainties package (Uncertainties: a Python package for calculations with uncertainties, Eric O. LEBIGOT, http://pythonhosted.org/uncertainties/)



Copyright © 2013 Paul Nobrega