The Calculator
Conventional Calculator Functionality
The SD Calculator includes a set of conventional calculator implementations available through a set of custom palettes that gives the user convenient and extensive calculator functionality on the canvas. The following conventional calculators are provided:
•Basic Arithmetic Calculator
•Comprehensive Financial Calculator
•Comprehensive Scientific Calculator
•Comprehensive Programming Calculator
The set of custom palettes could include the following custom function collections to place converters in computation-intensive models more conveniently:
•Time Value of Money (loans and annuities)
•Time Value of Capital Assets (depreciation)
•Localization (time conversions, units of measure conversions and currency conversions)
In the following example of a possible user interface, two calculators are displayed:
The two calculators illustrated above also demonstrate several behaviors that are necessary for efficient calculator operation by the user. One calculator is a simple, conventional arithmetic calculator with a number pad of buttons and a column of function buttons. The other calculator is a loan payment model calculator. The loan payment calculator requires the placement of two converters from the custom palette – one is the “PMT” loan payment function converter, and the other is the “÷12” converter that converts the annual loan interest rate to a monthly interest rate.
The model builder automatically draws the variable lines and labels them consistently with the converter behavior that is defined for the custom palette converters. The model builder also automatically connects the “÷12” converter when that converter comes within a threshold distance to the “i” interest variable line as a standard behavior. At this point, the user enters the numbers that define the annual interest rate “i”, the number of monthly payments “n” and the loan value “PV”; if the loan is to be completely paid over time, the final value (future value) “FV” is zero, and it is implicitly zero if the user does not enter a value for this variable.
A number entry method is automatically presented when the user clicks on or gestures on a variable label; the variables are defined as numbers, so only the number entry method is presented. If a number entry method is already in place, it is utilized. In the above example, the user has a arithmetic calculator displayed, and numeric variable entry can be made from the other calculator’s number pad.
Finally, the user runs the loan payment calculator by clicking or gesturing on the “PMT” converter’s result variable line. In the above example, the user has also placed a script to run the model every time an entry is completed – every time the user clicks or gestures on a variable value – or every time the user clicks of gestures on the “=” button on the arithmetic calculator.
The user dismisses the basic arithmetic calculator with a “go-away” button that is the red rectangle in this illustration.
An Introduction to System Dynamics Models
Basic Calculator Architectures
Conventional Calculator Functionality
Appendix: The Modeling Process