Last week in class, I presented the following problem:
The potential energy per Na⁺–Cl⁻ pair within a NaCl crystal can be expressed as:
$$E(r) = -\frac{e^2 M}{4\pi \varepsilon_0 r} + \frac{B}{r^m}$$
where \( M = 1.748 \) and \( m = 8.0 \) are dimensionless constants. The constant \( B \) has been determined to be \( 6.972 \times 10^{-96} \, \text{J} \cdot \text{m}^8 \). Calculate the bond energy at equilibrium.
This is a fairly standard problem for Materials Science & Engineering students. The first step is to determine the equilibrium bond length, which can then be substituted into the energy expression to find the bond energy. To find the equilibrium bond length, we take the derivative of \( E(r) \) with respect to \( r \), and set it equal to zero:
$$\frac{dE}{dr} = \frac{e^2 M}{4\pi \varepsilon_0 r^2} – \frac{mB}{r^{m+1}} = 0 \quad \text{at} \quad r = r_0$$
Rearranging:
$$\frac{e^2 M}{4\pi \varepsilon_0 r_0^2} = \frac{mB}{r_0^{m+1}}$$
Solving for \( r_0 \):
$$r_0 = \left( \frac{4\pi \varepsilon_0 mB}{e^2 M} \right)^{1/(m-1)}$$
Since all constants are given in SI units, it is natural to work in SI, and the unit for \( r_0 \) is expected to be meters. Plugging in the values:
$$r_0 = \left( \frac{4\pi \cdot 8.85 \times 10^{-12} \cdot 8 \cdot 6.972 \times 10^{-96}}{(1.6 \times 10^{-19})^2 \cdot 1.748} \right)^{1/7}$$
Most students had no trouble reaching this step. However, when they used their calculators to compute the value, they got “0” as the result. This caused confusion—clearly, the equilibrium bond length cannot be zero. Even after double-checking the inputs, the calculators still returned zero.
This is a classic case of underflow. Calculators and computers are designed to handle numbers within a certain range. If a number is too large, it causes an overflow error. If it’s too small, it causes an underflow error. For example, my TI-84 Plus calculator gives an overflow error for numbers with absolute values ≥ \( 10^{100} \), and represents any number with an absolute value < \( 10^{-99} \) as zero.
In this case, the numerator in the expression evaluates to a value smaller than \( 10^{-99} \), so the calculator treats it as zero.
So, what’s the workaround?
We can separate out the exponents from the numerical coefficients. Rewriting the expression:
$$r_0 = \left( \frac{4\pi \cdot 8.85 \cdot 8 \cdot 6.972}{(1.6)^2 \cdot 1.748} \cdot \frac{10^{-12} \cdot 10^{-96}}{(10^{-19})^2} \right)^{1/7}$$
Calculating the exponent part separately:
$$\frac{10^{-12} \cdot 10^{-96}}{(10^{-19})^2} = 10^{-70}$$
Now we compute:
$$r_0 = (1386.178334 \times 10^{-70})^{1/7}$$
This is a number that calculators can handle. My TI-84 Plus gives:
$$r_0 = 2.81 \times 10^{-10} \, \text{m}$$
From here, we can proceed to calculate the bond energy at equilibrium.
Conclusion
When working with extremely large or small numbers, it is advisable to separate the exponents from the numerical coefficients to avoid overflow or underflow errors during computation.
Note: This problem is Example 2.1 in the textbook (pages 30–32).

Leave a Reply