by Alen Ribic on November 23, 2025
Tagged as: hp15c, physics, calculator.
If you own an HP-15C, one of the greatest pocket scientific calculators ever built, you’re already holding a small numerical laboratory. In this post we’ll turn it into a statistical-mechanics engine, capable of computing:
…all from first principles, using the 15C’s built-in programmable functions and definite integral capability.
Einstein proposed the first successful quantum model of a crystalline solid. He modeled each atom as an independent 3D harmonic oscillator with quantized energy:
\[ E_n = \left(n + \frac12\right)\hbar \omega_E. \]
This resolved the failure of classical physics, which predicted a constant heat capacity \(C_V = 3R\) for all solids.
Experimentally, solids have:
The Einstein model captures this temperature dependence using a characteristic temperature.
The Einstein temperature is defined as:
\[ \Theta_E = \frac{\hbar \omega_E}{k_B}. \]
This expresses the oscillator quantum \(\hbar\omega_E\) on a temperature scale.
The key dimensionless parameter of the model is:
\[ x = \frac{\Theta_E}{T}. \]
Why? Because
\[ x = \beta \hbar\omega_E = \frac{\hbar\omega_E}{k_B T} = \frac{\Theta_E}{T}, \]
which is the ratio of:
Interpretation:
The entire temperature dependence of the Einstein model is controlled by \(x\).
The molar heat capacity is:
\[ \frac{C_V}{R} = 3\frac{x^2 e^x}{(e^x - 1)^2}, \qquad x = \frac{\Theta_E}{T}. \]
This is the expression we will program into the HP-15C.
We’ll write a program at LBL A that computes \(C_V/R\) given:
Example: \(\Theta_E = 230\ \text{K}\)
230 STO 0
Enter program mode:
g P/R
Then enter:
f LBL A
1/x
RCL 0
×
STO 1
RCL 1
e^x
STO 2
1
-
ENTER
×
STO 3
RCL 1
ENTER
×
RCL 2
×
3
×
RCL 3
÷
g RTN
Compute \(C_V/R\) at \(T = 210\):
210
GSB A
Result for \(\Theta_E = 230\ \text{K}\):
2.717278
Thermodynamics gives:
\[ \Delta U = \int_{T_1}^{T_2} C_V(T), dT. \]
Since LBL A returns \(C_V/R\), the 15C computes:
\[ I = \int_{T_1}^{T_2} \frac{C_V}{R},dT = \frac{\Delta U}{R}. \]
Multiply by \(R \approx 8.314\) J/(mol·K) to obtain \(\Delta U\).
Append:
f LBL 0
GSB A
g RTN
100 ENTER 300
f ∫xy 0
8.314 ×
Expected (for \(\Theta_E = 230\) K): \(\Delta U \approx 4.34\times 10^3\ \text{J/mol}\)
Entropy from heat capacity:
\[ \Delta S = \int_{T_1}^{T_2} \frac{C_V(T)}{T}, dT. \]
Since LBL A returns \(C_V/R\), we need to compute
\[ \frac{1}{T}\frac{C_V}{R}. \]
Append:
f LBL 1
STO 9
GSB A
RCL 9
÷
g RTN
This returns \((C_V/R)/T\).
100 ENTER 300
f ∫xy 1
8.314 ×
Expected value: \(\Delta S \approx 23\ \text{J/(mol·K)}\)
Your HP-15C can now compute:
Einstein heat capacity \(C_V(T)\)
Internal energy change \(\Delta U = \int C_V,dT\)
Entropy change \(\Delta S = \int C_V/T,dT\)
All directly from statistical mechanics and all on a pocket calculator that has stood the test of time.