Thermal Physics Tutorials With Python Simulations Minjoon Kouh download
Thermal Physics Tutorials With Python Simulations Minjoon Kouh download
https://ebookbell.com/product/thermal-physics-tutorials-with-
python-simulations-minjoon-kouh-47661736
https://ebookbell.com/product/thermal-physics-tutorials-with-python-
simulations-minjoon-kouh-49056992
https://ebookbell.com/product/thermal-physics-of-the-atmosphere-
advancing-weather-and-climate-science-1st-edition-maarten-
ambaum-2177008
https://ebookbell.com/product/thermal-physics-concepts-and-
practice-1st-edition-allen-l-wasserman-2350938
https://ebookbell.com/product/thermal-physics-of-the-atmosphere-
second-edition-2nd-edition-maarten-hp-ambaum-34408536
Thermal Physics Entropy And Free Energies 1st Edition Joon Chang Lee
https://ebookbell.com/product/thermal-physics-entropy-and-free-
energies-1st-edition-joon-chang-lee-5299160
https://ebookbell.com/product/thermal-physics-thermodynamics-and-
statistical-mechanics-for-scientists-and-engineers-1st-edition-robert-
floyd-sekerka-5432844
https://ebookbell.com/product/thermal-physics-and-thermal-analysis-
from-micro-to-macro-highlighting-thermodynamics-kinetics-and-
nanomaterials-hubk-6750898
https://ebookbell.com/product/thermal-physics-kinetic-theory-
thermodynamics-and-statistical-mechanics-2nd-sc-garg-10512030
https://ebookbell.com/product/thermal-physics-ed-groth-51004162
Thermal Physics Tutorial
with Python Simulations
This book may serve as a thermal physics textbook for a semester-long under-
graduate thermal physics course or may be used as a tutorial on scientific com-
puting with focused examples from thermal physics. This book will also appeal
to engineering students studying intermediate-level thermodynamics as well as
computer science students looking to understand how to apply their computer
programming skills to science.
Series in Computational Physics
Series Editors: Steven A. Gottlieb and Rubin H. Landau
Reasonable efforts have been made to publish reliable data and information, but the author and
publisher cannot assume responsibility for the validity of all materials or the consequences of their use.
The authors and publishers have attempted to trace the copyright holders of all material reproduced
in this publication and apologize to copyright holders if permission to publish in this form has not
been obtained. If any copyright material has not been acknowledged please write and let us know so
we may rectify in any future reprint.
Except as permitted under U.S. Copyright Law, no part of this book may be reprinted, reproduced,
transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or
hereafter invented, including photocopying, microfilming, and recording, or in any information
storage or retrieval system, without written permission from the publishers.
For permission to photocopy or use material electronically from this work, access www.copyright.com
or contact the Copyright Clearance Center, Inc. (CCC), 222 Rosewood Drive, Danvers, MA 01923,
978-750-8400. For works that are not available on CCC please contact mpkbookspermissions@tandf.
co.uk
Trademark notice: Product or corporate names may be trademarks or registered trademarks and are
used only for identification and explanation without intent to infringe.
DOI: 10.1201/9781003287841
Publisher’s note: This book has been prepared from camera-ready copy provided by the authors.
To our parents, Yong Woo and Byung Ok Kouh
Contents
Preface xi
Chapter 1 Calculating π 1
vii
viii Contents
Appendix 205
APPENDIX A: GETTING STARTED WITH PYTHON 205
APPENDIX B: PYTHON PROGRAMMING BASICS 205
APPENDIX C: PLOTS 209
APPENDIX D: COLORS 212
APPENDIX E: ANIMATION 217
Epilogue 221
Index 223
Preface
xi
xii Preface
Einstein solid). The final chapter is about random and guided walks, a
topic that is independent of earlier chapters and provides a glimpse of
other areas of thermal physics.
T. Kouh earned his B.A. in physics from Boston University and Sc.M.
and Ph.D. degrees in physics from Brown University. After his study in
Providence, RI, he returned to Boston, MA, and worked as a postdoc-
toral research associate in the Department of Aerospace and Mechan-
ical Engineering at Boston University. He is a full faculty member in
the Department of Nano and Electronic Physics at Kookmin University
in Seoul, Korea, teaching and supervising undergraduate and graduate
students. His current research involves the dynamics of nanoelectrome-
chanical systems and the development of fast and reliable transduction
methods and innovative applications based on tiny motion.
M. Kouh holds Ph.D. and B.S. degrees in physics from MIT and M.A.
from UC Berkeley. He completed a postdoctoral research fellowship
at the Salk Institute for Biological Studies in La Jolla, CA. His re-
search includes computational modeling of the primate visual cortex,
information-theoretic analysis of neural responses, machine learning,
and pedagogical innovations in undergraduate science education. He
taught more than 30 distinct types of courses at Drew University (Madi-
son, NJ), including two study-abroad programs. His professional experi-
ences include a role as a program scientist for a philanthropic initiative,
a data scientist at a healthcare AI startup, and an IT consultant at a
software company.
ACKNOWLEDGEMENT
his academic career and showing him the fun of doing physics. Last but
not least, his biggest and deepest thanks go to his dearest Sarah.
M. Kouh would like to thank his colleagues from the Drew University
Physics Department, R. Fenstermacher, J. Supplee, D. McGee, R. Mu-
rawski, and B. Larson, as well as his students. They helped him to
think deeply about physics from the first principles and from different
perspectives. He is indebted to his academic mentors, T. Poggio and
T. Sharpee, who have shown the power and broad applicability of com-
putational approaches, especially when they are thoughtfully combined
with mathematical and experimental approaches. His family is a con-
stant source of his inspiration and energy. Thank you, Yumi, Chris, and
Cailyn!
CHAPTER 1
Calculating π
π.†
Perhaps one of the easiest ways to obtain the value of π is to use the
fact that cos π = −1, which means cos−1 (−1) = arccos(−1) = π. The
following lines of code print out the value of the inverse cosine func-
tion, which is equal to π. The import command in Python expands
the functionality of the calling script by “importing” or giving access to
other modules or libraries. Here, the import math command imports
the mathematical library, math, which contains many predefined math-
ematical functions and formulas, such as arccosine acos().
# Code Block 1.1
import math
print(math.acos(-1))
3.141592653589793
†
See “The Discovery That Transformed Pi,” by Veritasium, at
www.youtube.com/watch?v=gMlf1ELvRzc about these approaches.
1
2 Thermal Physics Tutorials with Python Simulations (TPTPS)
import numpy as np
import matplotlib.pyplot as plt
Let’s start with a few straightforward plots. Try to decipher what each
line of code is doing. You can run the code without or with a particular
line by adding or removing # at the beginning of the line.
The command plt.plot((-1,1),(1,1),color=’black’,
linewidth=5) draws a black horizontal line that connects two
points at (-1,1) and (1,1) – top side of the square – and the rest
of the sides are similarly added in the subsequent commands with
plt.plot(). plt.xlim() and plt.ylim() which help to set the limits
of x- and y-axes. plt.axis() controls the axis properties of a plot
based on the argument within the command. For example, by using
equal with plt.axis(), we can generate a plot with an equal scale
along x- and y- axes, and the argument off will hide the axes. Finally,
plt.savefig() and plt.show() allow us to save and display the
resulting plot.
# Code Block 1.3
# Make a square with a side of 2.
plt.plot((-1,1),(1,1),color='black',linewidth=5)
plt.plot((1,1),(1,-1),color='gray',linewidth=10)
plt.plot((1,-1),(-1,-1),color='black',linewidth=5,linestyle='dashed')
plt.plot((-1,-1),(-1,1),color='gray',linewidth=5,linestyle='dotted')
plt.xlim((-2,2))
plt.ylim((-2,2))
plt.axis('equal')
plt.axis('off')
plt.savefig('fig_ch1_box.eps')
plt.show()
Calculating π 3
Figure 1.1
pi = 3.141592
delta_theta = 0.4
theta = np.arange(0,2*pi+delta_theta,delta_theta)
x = np.cos(theta)
y = np.sin(theta)
N = len(theta)
print("Number of data points = %d"%N)
for i in range(N-1):
plt.plot((x[i],x[i+1]),(y[i],y[i+1]),color='black')
Figure 1.2
Let’s go over a few key lines in the above code. The equal sign = assigns
a value on the right to a variable on the left. Hence, pi = 3.141592
means that the variable named pi is assigned to a value of 3.141592.
Similarly, the variable delta_theta is assigned to a value of 0.4 (ra-
dian), which can be made smaller to create a even finer polygon.
There is a lot going on with theta = np.arange(0,
2*pi+delta_theta,delta_theta). Here, we are creating an ar-
ray or a vector of numbers and assigning it to a variable named theta.
This array is created with the numpy module imported earlier. Since
we have imported numpy with a nickname np, we can access a very
Calculating π 5
Here is another approach for estimating π, using the fact that the area of
a circle is πr2 . Let’s consider a square with a side of 2 and an inscribed
circle with a radius r of 1. The square would have an area of 4, and
the area of the circle would be π. The ratio of the areas of the circle
and the square would be π/4. To estimate the ratio of these areas, we
will generate a large number of random dots within the square, as if
we are sprinkling salt or pepper uniformly over a plate. The position
of these dots will be generated from a uniform distribution. Then, we
could compare the number of dots inside the inscribed circle and the
square.∗
∗
We might imagine doing this simulation in real life by throwing many darts
and comparing the number of darts that landed inside of a circle. The precision
of estimation will increase with the number of darts, but who would do something
like that? See “Calculating Pi with Darts” on the Physics Girl YouTube Channel
(www.youtube.com/watch?v=M34TO71SKGk).
Calculating π 7
plt.scatter(x,y,s=5,color='black')
plt.xlim((-2,2))
plt.ylim((-2,2))
plt.axis('equal')
plt.axis('off')
plt.savefig('fig_ch1_random_num.eps')
plt.show()
Figure 1.3
In the following code block, the distance of each point from the origin
is calculated by dist = np.sqrt(x**2+y**2), so that dist is also an
array. The next line in the code, is_inside = dist < 1, compares
the distance with a constant 1. If distance is indeed less than 1, the
comparison < 1 is true (or a boolean value of 1), and the point lies
within a circle. If distance is not less than 1, the comparison < 1 is false
(or a boolean value of 0). Therefore, the variable is_inside is an array
of boolean values (true/false or 1/0) that indicate whether each point
lies inside a circle or not. Finally, by summing the values of this array
with np.sum(is_inside), we can calculate the number of points inside
the unit circle.
We also note a clever way of selectively indexing an array. x[dist<1]
returns a subset of array x which meets the condition where dist<1. In
other words, it returns the x coordinates of the points that lie within the
circle. Hence, plt.scatter(x[dist<1],y[dist<1],color='black')
makes a scatter plot of the points in the circle with a black marker.
Sometimes it is convenient to package several lines of code into a func-
tion that accepts input arguments and returns an output. In the follow-
ing code block, we created a custom function estimate_pi(), which
takes an optional input argument N with a default value of 500. This
function calculates an estimate of π using N random points.
# Code Block 1.7
plt.scatter(x[dist<1],y[dist<1],s=5,c='black')
plt.scatter(x[dist>1],y[dist>1],s=5,c='#CCCCCC')
plt.xlim((-2,2))
plt.ylim((-2,2))
plt.axis('equal')
plt.axis('off')
plt.savefig('fig_ch1_pi_circle_square.eps')
plt.show()
Calculating π 9
Figure 1.4
that the estimates are more consistent, or the spread of the estimates
is smaller, with higher N.
# Code Block 1.9
N_range = [100,500,1000,5000,10000]
N_trial = 30
result = np.zeros((N_trial,len(N_range)))
for i, N in enumerate(N_range):
for trial in range(N_trial):
pi_estimate = estimate_pi(N)
result[trial,i] = pi_estimate
plt.scatter(i+np.zeros(N_trial)+1,result[:,i],color='gray')
# Overlay a box plot (also known as a whisker plot).
plt.boxplot(result)
plt.xticks(ticks=np.arange(len(N_range))+1,labels=N_range)
plt.xlabel('N')
plt.ylabel('Estimate of $\pi$')
plt.savefig('fig_ch1_boxplot.eps')
plt.show()
Figure 1.5
I
Classical Thermodynamics
CHAPTER 2
The idea that gas is composed of many tiny moving particles is obvious
to us now, but it took many centuries of scientific inquiries for this
idea to be accepted as a verified theory. We call this idea the “kinetic
theory of gas.” It was a significant breakthrough in physics, bridging
two different domains of knowledge: classical mechanics, which usually
deals with the force, momentum, and kinetic energy of an individual
particle, and thermodynamics, which deals with the pressure, volume,
and temperature of a gas.
Critical insights from the kinetic theory of gas are the mechanical in-
terpretation of temperature and the derivation of the ideal gas law,
PV = nRT, where P is pressure, V is volume, T is temperature, and nR
is related to the quantity of the gas. More specifically, n is the number
of moles of gas, and 1 mole is equivalent to 6.02 × 1023 particles (this
quantity is known as Avogadro’s number NA ). The proportionality con-
stant R is known as a universal gas constant. Sometimes, the ideal gas
law is also written as PV = NkT, where N is the number of particles
and k is known as the Boltzmann constant. Therefore, n = N/NA and
NA = R/k.
As we will show in this chapter, the pressure of an ideal gas is a macro-
scopic manifestation of numerous microscopic collisions of gas parti-
cles with the containing walls. The gas temperature is directly related
to the average kinetic energy of the constituent particles. As an anal-
ogy, consider the economy of a market, which consists of many individ-
ual transactions of people buying and selling products. These financial
13
14 Thermal Physics Tutorials with Python Simulations (TPTPS)
import numpy as np
import matplotlib.pyplot as plt
plt.plot(t,y,color='black')
plt.xlabel('Time')
plt.ylabel('Position')
plt.savefig('fig_ch2_y_vs_t.eps')
plt.show()
Kinetic Theory of Gas 15
Figure 2.1
Now let’s put this code into a more versatile and reusable format, a
function that can be called with different parameters. Such a function
is implemented below. We will update the position of a particle with a
small increment dt, so that y(t + dt) = y(t) + v · dt. In other words, after
short time later, the particle has moved from the old position y(t) to a
new position y(t + dt) by a displacement of v · dt.
In the following code, we use a for-loop structure to update the po-
sition of a particle over time from tmin to tmax in a small increment
of dt. The update starts from the initial position y0. The incremental
update is accomplished by current_y = y[i] + current_v*dt. Note
that, by using time_range[1:] in this for-loop calculation, we are
just considering the elements in the time_range array excluding the
first element (tmin), since the update is only needed for the subsequent
times.
When a particle runs into a wall, the particle bounces off without a
change in its speed or without loss of its kinetic energy. Only the sign
of its velocity flips. In the code, this process is implemented with a
statement, current_v = -current_v. The first if-statement handles
the collision event with the bottom wall located at ymin, and the second
if-statement is for the collision with the top wall at ymax.
16 Thermal Physics Tutorials with Python Simulations (TPTPS)
When the particle bounces off of a wall at the origin ( y = 0), simply
taking the absolute value of the position prohibits negative position
values and disallows the particle from punching through the wall. How-
ever, if we were to simulate a collision with a wall placed somewhere
other than the origin, the particle’s position would need to be updated
more carefully. When the particle has just hit the bottom wall with
a negative velocity (current_v < 0), the calculation of current_y
= y[i] + current_v*dt would yield a value that is less than ymin.
Therefore, the current position of the particle needs to be corrected
by current_y = ymin + (ymin-current_y). This command correctly
calculates the position of the bounced particle to be above the bot-
tom wall by the distance of (ymin-current_y). When the particle hits
the top wall at ymax, a similar calculation of current_y = ymax -
(current_y-ymax) correctly puts the bounced particle below the top
wall. We also keep track of the number of bounces by incrementing
Nbounce by one within each if-statement.
# Code Block 2.2
Nbounce = 0
for i, t in enumerate(time_range[1:]):
current_y = y[i] + current_v*dt # Update position.
if current_y <= ymin:
# if the particle hits the bottom wall.
current_v = -current_v # velocity changes the sign.
current_y = ymin + (ymin - current_y)
Nbounce = Nbounce+1
if current_y >= ymax:
# if the particle hits the top wall.
current_v = -current_v # velocity changes the sign.
current_y = ymax - (current_y - ymax)
Nbounce = Nbounce+1
y[i+1] = current_y
if (plot):
plt.plot(time_range,y,color='black')
plt.xlabel('Time')
plt.ylabel('Position')
Kinetic Theory of Gas 17
plt.savefig('fig_ch2_bounce.eps')
plt.show()
return y, time_range, Nbounce
Figure 2.2
We can build on the above set of codes to simulate the motion of mul-
tiple particles. In the following code block, there is a for-loop that
accounts for N particles with random velocities and initial positions.
np.random.randn(N) generates N random numbers taken from a nor-
mal distribution with a mean of 0 and standard deviation of 1. Hence,
multiplying it by 0.5 creates random numbers with a smaller variation.
(There is a caveat. The velocities of gas particles are not normally dis-
tributed but follow the Maxwell-Boltzmann distribution. However, the
main ideas discussed in this chapter hold up regardless of the distribu-
tion type. We will revisit this topic in a later chapter.)
A series of timestamps between the minimum and maximum time in
steps of dt can be created with t = np.arange(tmin,tmax,dt). The
18 Thermal Physics Tutorials with Python Simulations (TPTPS)
# Multiple particles.
N = 30
tmin = 0
tmax = 10
dt = 0.1
t = np.arange(tmin,tmax,dt)
pos = np.zeros((N,len(t))) # initialize the matrix.
Nbounce = np.zeros(N)
v = np.random.randn(N)*0.5
y0 = np.random.rand(N)
for i in range(N):
# pos[i,:] references the i-th row of the array, pos.
# That is the position of i-th particle at all timestamps.
pos[i,:], _, Nbounce[i] = calculate_position(y0[i],v[i],dt=dt,
tmin=tmin,tmax=tmax)
plt.hist(v,color='black')
plt.xlabel('Velocity (m/sec)')
plt.ylabel('Number of Particles')
plt.title("Initial velocities (randomly chosen).")
plt.savefig('fig_ch2_v0_distrib.eps')
plt.show()
for i in range(N):
plt.plot(t,pos[i,:],color='gray')
plt.xlabel('Time (sec)')
plt.ylabel('Position (m)')
plt.ylim((-0.1,1.1))
plt.title('Position of $N$ particles versus time')
plt.savefig('fig_ch2_Nbounces.eps')
plt.show()
Figure 2.3
Figure 2.4
Although the numbers we are using for the above simulations are not
particularly tied to any units, we will assume that they have the stan-
dard units of meters for position, seconds for time, and m/sec for
20 Thermal Physics Tutorials with Python Simulations (TPTPS)
2L
∆t = ,
|v|
where L is the distance between the walls (or ymax-ymin) and v is the
velocity of a particle. The particle travels the distance of 2L before
hitting the same wall. The frequency of bounce is 1/∆t, and hence, the
number of bounces is linearly proportional to |v|, as Figure 2.5 shows.
Figure 2.5
Kinetic Theory of Gas 21
Now let’s visualize a superhero whose mighty body can deflect a volley
of bullets fired from a machine gun by a villain. As they strike and
bounce off of our superhero, these bullets would exert force on the body.
The microscopic collisions of individual gas particles on the containing
walls similarly exert force, macroscopically manifested as pressure. In
the following, we will develop this idea mathematically and derive the
ideal gas law.
When a particle bounces off the wall, its direction changes and its ve-
locity goes from −v to v (or from v to −v). This change in velocity,
∆v = v − (−v) = 2v, comes from the force acting on the particle by
the wall. The particle, in turn, exerts a force with the same magnitude
and opposite direction on the wall, according to Newton’s Third Law
of Motion.
According to Newton’s Second Law of Motion, this force F is equal to
the mass of the particle m times its acceleration (the rate of change in
its velocity) a, so F = ma. Acceleration of an object is the rate of change
of velocity, or ∆v
∆t , and we had also discussed that ∆t = 2L/|v|. Therefore,
∆v 2v|v|
Fsingle particle = m =m .
∆t 2L
The magnitude of the force is |Fsingle particle | = mv2 /L.
Since there are many particles with different velocities that would col-
lide with the wall, we should consider the average force delivered by
N different particles. Let’s use a notation of a pair of angled brackets,
< · > to denote an average quantity. Then, for an average total force on
the wall due to N particles:
m < v2 >
< F >= N .
L
By dividing this average force by the cross-sectional area A of the wall,
we can find pressure P = F/A. We also note V = LA, where V is the
volume of the container, so
PV = Nm < v2 > .
1 2
PV = Nm < |~
v|2 >= N < Kinetic Energy >,
3 3
where we made an identification that the kinetic energy of a particle is
given by 12 mv2 .
By comparing this relationship with the ideal gas law PV = NkT, we
arrive at a conclusion that
3
< Kinetic Energy >= kT,
2
and
r
p 3kT
< |~
v|2 > = vrms = .
m
In other words, temperature T is a measure of the average √
kinetic energy
of N gas particles, whose root-mean-square (rms) speed is 3kT/m. This
is the main result of the Kinetic Theory of Gas.
Answer: 515 m/sec. There will be other particles moving faster and
slower than this speed.
As a hypothetical situation, if all N2 particles were moving at this speed
and if they were striking a wall of area 100 cm2 in a head-on collision
(i.e., one-dimensional motion) for 0.5 sec, what would be the pressure
exerted on the wall by these particles?
Answer: These particles would all experience the change of velocity of
2 × 515 m/sec and the acceleration of a = ∆v/∆t = 2060 m/sec2 . Each
particle would exert a force of ma, and since there are NA molecules,
the pressure would be equal to 5.80 × 103 Pa.
x1 + x2 + ... + xN
< x >= ,
N
and
s
x21 + x22 + ... + x2N
xrms = .
N
x = np.array([0,1,2,3,4])
N = len(x)
print("Number of items = %d"%N)
print("x = ",np.array2string(x, precision=3, sign=' '))
print("x^2 = ",np.array2string(x**2, precision=3, sign=' '))
print("<x> = %4.3f"%(np.sum(x)/N))
print("<x^2> = %4.3f"%(np.sum(x**2)/N))
print("x_rms = %4.3f"%(np.sqrt(np.sum(x**2)/N)))
24 Thermal Physics Tutorials with Python Simulations (TPTPS)
Number of items = 5
x = [0 1 2 3 4]
x^2 = [ 0 1 4 9 16]
<x> = 2.000
<x^2> = 6.000
x_rms = 2.449
Let’s calculate the force exerted on the wall in two ways, using our
mechanical interpretation of elastic collisions. One way to calculate the
force is to add up the momentum changes, m∆v, due to multiple colli-
sions by multiple particles on the wall and then to divide the sum by
the time ∆t. Another way is to use one of the results derived earlier,
< F >= N m<vL > . We can directly calculate < v2 > from a list of particle
2
ymin = 0
ymax = 2
tmin = 0
tmax = 10
dt = 0.1
t = np.arange(tmin,tmax,dt)
Nbounce = np.zeros(N)
y0 = np.random.rand(N)
v = np.random.randn(N)*2
v = np.sort(v)
for i in range(N):
_, _, Nbounce[i] = calculate_position(y0[i],v[i],dt=dt,
ymin=ymin,ymax=ymax,
Kinetic Theory of Gas 25
tmin=tmin,tmax=tmax)
m = 1 # mass of a particle
L = ymax-ymin
delta_t = tmax - tmin
delta_v = 2*np.abs(v)
v_rms = np.sqrt(np.sum(v**2)/N)
F2 = N*m*v_rms**2/L
print("Force = Nm<v^2>/L = %4.3f"%F2)
# Calculate percent difference as (A-B) / average(A,B) * 100.
print("Percent Difference = %3.2f"%(100*(F2-F1)*2/(F1+F2)))
# misc. info.
print('\n============================================\n')
print('misc. info:')
print('speed range: min = %4.3f, max = %4.3f'
%((np.min(np.abs(v)),np.max(np.abs(v)))))
print('number of particles with 0 bounce = %d'%(np.sum(Nbounce==0)))
print('number of particles with 1 bounce = %d'%(np.sum(Nbounce==1)))
============================================
misc. info:
speed range: min = 0.007, max = 6.223
number of particles with 0 bounce = 4
number of particles with 1 bounce = 14
2.5 TEMPERATURE
Our derivation of the ideal gas law has revealed that the temperature
is directly proportional to the average kinetic energy of gas particles,
which is directly proportional to v2rms .
In the following block of code, we make a comparison between T and
v2rms . For T, we will refer to the ideal gas law, PV = NkT, so that
kT = PV/N. The quantity P will be calculated by measuring the force
due to individual collisions of N gas particles in the simulation, as we
have done above. Then, PV = (F/A)(AL) = FL, where A is the area of
the wall and L is the distance between the two walls.
The root-mean-square velocity, vrms , can simply be calculated by
np.sqrt(np.sum(v**2)/N), since in this simulation, each particle
maintains its speed. The particles only collide with the walls, so their
velocities will always be either v or −v. In the next chapter, we will
consider what happens when particles collide.
We will simulate different temperature values by generating random
velocities with different magnitudes, which is accomplished by v =
np.random.randn(N)*T, so that high T increases v_rms. In other words,
higher temperature results in particles traveling faster with more col-
lision events, which in turn would be manifested as increased pressure
on the wall.
Kinetic Theory of Gas 27
The following simulation verifies that the kinetic theory of gas “works”
over different situations. The simulation parameter T scales the range of
velocities by v = np.random.randn(N)*T, so high T increases v_rms.
As the resulting plot demonstrates, PV/N is indeed equal to m < v2 >
or mv2rms . The data points lie along a diagonal line. The factor of 3
in the derivation of an ideal gas is not here because our simulation is
one-dimensional.
# Code Block 2.6
tmin=0
tmax=10
dt = 0.1
t = np.arange(tmin,tmax,dt)
Nbounce = np.zeros(N)
v = np.random.randn(N)*T # T scales the v_rms.
y0 = np.random.rand(N)
v = np.sort(v)
for i in range(N):
_, _, Nbounce[i] = calculate_position(y0[i],v[i],dt=dt,
ymin=ymin,ymax=ymax,
tmin=tmin,tmax=tmax)
delta_t = tmax - tmin
delta_v = 2*np.abs(v)
v_rms = np.sqrt(np.sum(v**2)/N)
F = m*np.sum( Nbounce * delta_v / delta_t )*0.5
PV = F*L
return PV, v_rms
perc_diff = np.zeros(len(T_range))
maxval = 0 # keep track of max value for scaling the plot.
for i,T in enumerate(T_range):
PV, v_rms = run_with_different_T(T=T,N=N,m=m)
plt.scatter(m*v_rms**2,PV/N,color='black')
# Calculate percent difference as (A-B)/average(A,B)*100.
perc_diff[i] = (m*v_rms**2 - PV/N)*2/(m*v_rms**2+PV/N)*100
if maxval < PV/N:
maxval = PV/N
28 Thermal Physics Tutorials with Python Simulations (TPTPS)
Figure 2.6
Velocity Distribution
m1 ~
v1, before + m2 ~
v2, before = m1 ~
v1, after + m2 ~
v2, after
1 1 1 1
m1 v21, before + m2 v22, before = m1 v21, after + m2 v22, after
2 2 2 2
Since ~
v has x, y, and z components, vx , v y , and vz , the above equations
can be written out this way, too.
29
30 Thermal Physics Tutorials with Python Simulations (TPTPS)
1
m1 (v21x, before + v21y, before + v21z, before )
2
1
+ m2 (v22x, before + v22y, before + v22z, before )
2
1
= m1 (v21x, after + v21y, after + v21z, after )
2
1
+ m2 (v22x, after + v22y, after + v22z, after )
2
There are a lot of possible solutions that simultaneously satisfy the
above set of equations because there are 12 variables (three spatial di-
mensions and two particles for before and after conditions) that are
constrained by only four relationships (three for momentum conserva-
tion and one for energy conservation).
m1 − m2 2m2
v1x, after = v1x, before + v2x, before
m1 + m2 m1 + m2
2m1 m2 − m1
v2x, after = v1x, before + v2x, before
m1 + m2 m1 + m2
The above result is symmetric. When we swap the indices 1 and 2, the
resulting expressions remain mathematically identical, as they should
be since there is nothing special about which particle is called 1 or 2.
Another fun consideration is to swap “before” and “after” distinctions,
and then solve for the post-collision velocities. After a few lines of al-
gebra, we again obtain mathematically identical expressions, as they
should be since particle collisions are symmetric under time-reversal.
That means that the time-reversed process of a particle collision is pos-
sible. If two particles with velocities of v1x, after and v2x, after collided
Velocity Distribution 31
with each other, their post-collision velocities would be v1x, before and
v2x, before . Note it is not a typo that I am calling the post-collision
velocities with “before” labels, as we are considering a time-reversed
collision event. If we recorded a movie of microscopic particle collisions
and played it backward in time, it would look as physically plausible as
the original movie, as the conservation laws of momentum and kinetic
energy would hold. (Another way to think about the time reversal is to
replace t with −t in an equation of motion and to notice that this extra
negative sign does not change the equation.)
The profound question is, then, why is there an arrow or directionality
of time that we experience macroscopically. For example, a concentrated
blob of gas particles would diffuse across the space, as a scent from a
perfume bottle would spread across a room, not the other way. This
question will be addressed in later chapters as we further develop a
statistical description of various physical phenomena.
As an interesting case of a two-particle collision event, let’s consider
m2 >> m1 and v2x, before = 0. Then, we would have a reasonable result
of v1x, after = −v1x, before and v2x, after = 0. In other words, m1 would
bounce off of a more massive particle, m2 . Another interesting case is
m1 = m2 and v2x, before = 0. We obtain v1x, after = 0 and v2x, after =
v1x, before . In other words, the first particle comes to a stop, and the
second particle is kicked out with the same speed as the first particle
after the collision. We sometimes see this type of collision on a billiard
table when a white cue ball hits a ball at rest, gives all its momentum
to that ball, and comes to an immediate stop. The last example is
m1 = m2 and v1x, before = −v2x, before , where two particles move toward
each other with the same momentum. This collision sends each particle
in the opposite direction with the same speed.
The following code draws cartoons of these three examples programmat-
ically. The calculation of post-collision velocities is implemented in the
function headon_collision(). The plotting routine is packaged in the
function plot_pre_post_collision(), which splits a figure window
into two subplots. The left subplot draws the pre-collision condition,
and the right subplot shows the post-collision condition. Each particle
is placed with a scatter() command, and its velocity is drawn with
an arrow() command. A for-loop is used to issue the same commands
for constructing each subplot.
32 Thermal Physics Tutorials with Python Simulations (TPTPS)
The following code also illustrates the use of the assert command,
which can be used to check test cases and potentially catch program-
ming errors.
# Code Block 3.1
def plot_pre_post_collision(velocity1,velocity2,m1,m2):
x1, x2 = (-1,1) # Location on m1 and m2.
y = 1 # Arbitrary location along y.
marker_size = 100
scale = 0.5 # the length scale of the velocity arrow.
title_str = ('Before','After')
c1 = 'black'
c2 = 'gray'
fig,ax = plt.subplots(1,2,figsize=(8,1))
for i in range(2):
ax[i].scatter(x1,y,s=marker_size,color=c1)
ax[i].scatter(x2,y,s=marker_size,color=c2)
# Draw an arrow if the velocity is not too small.
if abs(velocity1[i])>0.01:
ax[i].arrow(x1,y,velocity1[i]*scale,0,color=c1,
head_width=0.1)
if abs(velocity2[i])>0.01:
ax[i].arrow(x2,y,velocity2[i]*scale,0,color=c2,
head_width=0.1)
ax[i].set_xlim((-2,2))
ax[i].set_ylim((0.8,1.2))
ax[i].set_title(title_str[i])
ax[i].axis('off')
plt.tight_layout()
m1, m2 = (1, 1)
u1, u2 = (1, 0)
v1, v2 = headon_collision(u1,u2,m1,m2)
plot_pre_post_collision((u1,v1),(u2,v2),m1,m2)
plt.savefig('fig_ch3_collision_case2.eps')
assert v1==0
assert v2==u1
Figure 3.1
Let’s use the following notation to keep track of various velocity com-
ponents:
v1 , ~
(~ v2 )before = (v1x , v1y , v1z , v2x , v2y , v2z )before = (1, 0, 0, 0, 0, 0).
(v1x , v1y , v1z , v2x , v2y , v2z )after = (0.9, 0.3, 0.0, 0.1, −0.3, 0.0).
Over the following several blocks of code, we will systematically and ex-
haustively search for possible velocities. Even though brute-force search
may not be the most mathematically sophisticated or elegant, it can be
relied on when an analytical method is not readily available.
We will develop a few versions of the search code so that the subsequent
version will be faster than the previous ones. The main idea will be
the same. We will use six for-loops to go through possible values of
(v1x , v1y , v1z , v2x , v2y , v2z )after , and check whether they jointly satisfy the
principles of momentum and energy conservation. The improvements of
different code versions will come from reducing the search space. As an
analogy, suppose you are trying to find a key you lost in the house, and
you can optimize your search by only visiting the places you’ve been to
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of Tubal Cain
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.
Language: English
1922
Published, April, 1918, in a volume
now out of print entitled 'Gold and Iron,'
and then reprinted twice.
CONTENTS
TUBAL CAIN
I
II
III
IV
V
VI
VII
VIII
IX
X
XI
XII
XIII
XIV
XV
XVI
TUBAL CAIN
I
A
LEXANDER HULINGS sat at the dingy, green-baize covered
table, with one slight knee hung loosely over the other, and
his tenuous fingers lightly gripping the time-polished wooden
arms of a hickory chair. He was staring somberly, with an immobile,
thin, dark countenance, at the white plaster wall before him. Close
by his right shoulder a window opened on a tranquil street, where
the vermilion maple buds were splitting; and beyond the window a
door was ajar on a plank sidewalk. Some shelves held crumbling
yellow calf-bound volumes, a few new, with glazed black labels; at
the back was a small cannon stove, with an elbow of pipe let into
the plaster; a large steel engraving of Chief Justice Marshall hung on
the wall; and in a farther corner a careless pile of paper, folded in
dockets or tied with casual string, was collecting a grey film of
neglect A small banjo clock, with a brass-railed pediment and an
elongated picture in color of the Exchange at Manchester, traced the
regular, monotonous passage of minutes into hour.
The hour extended, doubled; but Alexander Hulings barely shifted
a knee, a hand. At times a slight convulsive shudder passed through
his shoulders, but without affecting his position or the concentrated
gloom. Occasionally he swallowed dryly; his grip momentarily
tightened on the chair, but his gaze was level. The afternoon waned;
a sweet breath of flowering magnolia drifted in at the door; the light
grew tender; and footfalls without sounded far away. Suddenly
Hulings moved: his chair scraped harshly over the bare floor and he
strode abruptly outside, where he stood facing a small tin sign nailed
near the door. It read:
ALEXANDER HULINGS
COUNSELOR AT LAW
With a violent gesture, unpremeditated even by himself, he forced
his hand under an edge of the sign and ripped it from its place. Then
he went back and flung it bitterly, with a crumpling impact, away
from him, and resumed his place at the table.
It was the end of that! He had practiced law seven, nine, years,
detesting its circuitous trivialities, uniformly failing to establish a
professional success, without realizing his utter legal unfitness.
Before him on a scrap of paper were the figures of his past year's
activities. He had made something over nine hundred dollars. And
he was thirty-four years old! Those facts, seen together, dinned
failure in his brain. There were absolutely no indications of a brighter
future. Two other actualities added to the gloom of his thoughts:
one was Hallie Flower; that would have to be encountered at once,
this evening; and the other was—his health.
He was reluctant to admit any question of the latter; he had the
feeling, almost a superstition, that such an admission enlarged
whatever, if anything, was the matter with him. It was vague, but
increasingly disturbing; he had described it with difficulty to Doctor
Veneada, his only intimate among the Eastlake men, as a sensation
like that a fiddlestring might experience when tightened
remorselessly by a blundering hand.
“At any minute,” he had said, “the damned thing must go!”
Veneada had frowned out of his whiskers.
“What you need,” the doctor had decided, “is a complete change.
You are strung up. Go away. Forget the law for two or three months.
The Mineral is the place for you.”
Alexander Hulings couldn't afford a month or more at the Mineral
Spring; and he had said so with the sharpness that was one of the
annoying symptoms of his condition. He had had several letters,
though, throughout a number of years, from James Claypole, a
cousin of his mother, asking him out to Tubal Cain, the iron forge
which barely kept Claypole alive; and he might manage that—if it
were not for Hallie Flower. There the conversation had come to an
inevitable conclusion.
Now, in a flurry of violence that was, nevertheless, the expression
of complete purpose, he had ended his practice, his only livelihood;
and that would—must—end Hallie.
He had been engaged to her from the day when, together, they
had, with a pretense of formality, opened his office in Eastlake. He
had determined not to marry until he made a thousand dollars in a
year; and, as year after year slipped by without his accumulating
that amount, their engagement had come to resemble the
unemotional contact of a union without sex. Lately Hallie had
seemed almost content with duties in her parental home and the
three evenings weekly that Alexander spent with her in the formal
propriety of a front room.
His own feelings defied analysis; but it seemed to him that, frankly
surveyed, even his love for Hallie Flower had been swallowed up in
the tide of irritability rising about him. He felt no active sorrow at the
knowledge that he was about to relinquish all claim upon her; his
pride stirred resentfully; the evening promised to be uncomfortable
—but that was all.
The room swam about him in a manner that had grown hatefully
familiar; he swayed in his chair; and his hands were at once numb
with cold and wet with perspiration. A sinking fear fastened on him,
an inchoate dread that he fought bitterly. It wasn't death from which
Alexander Hulings shuddered, but a crawling sensation that turned
his knees to dust. He was a slight man, with narrow shoulders and
close-swinging arms, but as rigidly erect as an iron bar; his mentality
was like that too, and he particularly detested the variety of nerves
that had settled on him.
A form blocked the doorway, accentuating the dusk that had
swiftly gathered in the office, and Veneada entered. His neckcloth
was, as always, carelessly folded, and his collar hid in rolls of fat; a
cloak was thrown back from a wide girth, and he wore an
incongruous pair of buff linen trousers.
“What's this—mooning in the dark?” he demanded. “Thought you
hadn't locked the office door. Come out; fill your lungs with the
spring and your stomach with supper.”
Without reply, Alexander Hulings followed the other into the
street.
“I am going to Hallie's,” he said in response to Veneada's
unspoken query.
Suddenly he felt that he must conclude everything at once and get
away; where and from what he didn't know. It was not his evening
to see Hallie and she would be surprised when he came up on the
step. The Flowers had supper at five; it would be over now, and
Hallie finished with the dishes and free. Alexander briefly told
Veneada his double decision.
“In a way,” the other said, “I'm glad. You must get away for a little
anyway; and you are accomplishing nothing here in Eastlake. You
are a rotten lawyer, Alexander; any other man would have quit long
ago; but your infernal stubbornness held you to it. You are not a
small-town man. You see life in a different, a wider way. And if you
could only come on something where your pigheadedness counted
there's no saying where you'd reach. I'm sorry for Hallie; she's a nice
woman, and you could get along well enough on nine hundred——”
“I said I'd never marry until I made a thousand in a year,” Hulings
broke in, exasperated.
“Good heavens! Don't I know that?” Veneada replied. “And you
won't, you—you mule! I guess I've suffered enough from your
confounded character to know what it means when you say a thing.
I think you're right about this. Go up to that fellow Claypole and
show him what brittle stuff iron is compared to yourself. Seriously,
Alex, get out and work like the devil at a heavy job; go to bed with
your back ruined and your hands raw. You know I'll miss you—
means a lot to me, best friend.”
A deep embarrassment was visible on Veneada; it was
communicated to Alexander Hulings, and he was relieved when they
drew opposite the Flowers' dwelling.
It was a narrow, high brick structure, with a portico cap,
supported by cast-iron grilling, and shallow iron-railed balconies on
the second story. A gravel path divided a small lawn beyond a gate
guarded by two stone greyhounds. Hallie emerged from the house
with an expression of mild inquiry at his unexpected appearance.
She was a year older than himself, an erect, thin woman, with a pale
coloring and unstirred blue eyes.
“Why, Alex,” she remarked, “whatever brought you here on a
Saturday?” They sat, without further immediate speech, from long
habit, in familiar chairs.
He wondered how he was going to tell her. And the question, the
difficulty, roused in him an astonishing amount of exasperation. He
regarded her almost vindictively, with covertly shut hands. He must
get hold of himself. Hallie, to whom he was about to do irreparable
harm, the kindest woman in existence! But he realized that whatever
feeling he had had for her was gone for ever; she had become
merged indistinguishably into the thought of East-lake; and every
nerve in him demanded a total separation from the slumbrous town
that had witnessed his legal failure.
He wasn't, he knew, normal; his intention here was reprehensible,
but he was without will to defeat it. Alexander Hulings felt the
clumsy hand drawing tighter the string he had pictured himself as
being; an overwhelming impulse overtook him to rush away—
anywhere, immediately. He said in a rapid blurred voice:
“Hallie, this... our plans are a failure. That is, I am. The law's been
no good; I mean, I haven't. Can't get the hang of the—the damned
——”
“Alex!” she interrupted, astonished at the expletive.
“I'm going away,” he gabbled on, only half conscious of his words
in waves of giddy insecurity. “Yes; for good. I'm no use here! Shot to
pieces, somehow. Forgive me. Can't get a thousand.”
Hallie Flower said in a tone of unpremeditated surprise:
“Then I'll never be married!”
She sat with her hands open in her lap, a wistfulness on her
countenance that he found only silly. He cursed himself, his
impotence, bitterly. Now he wanted to get away; but there remained
an almost more impossible consummation—Hallie's parents. They
were old; she was an only child.
“Your father——” he muttered.
On his feet he swayed like a pendulum. Viselike fingers gripped at
the back of his neck. The hand of death? Incredibly he lived through
a stammering, racking period, in the midst of which a cuckoo
ejaculated seven idiotic notes from the fretted face of a clock.
He was on the street again; the cruel pressure was relaxed; he
drew a deep breath. In his room, a select chamber with a “private”
family, he packed and strapped his small leather trunk. There was
nowhere among his belongings a suggestion of any souvenir of the
past, anything sentimental or charged with memory. A
daguerreotype of Hallie Flower, in an embossed black case lined with
red plush, he ground into a shapeless fragment. Afterward he was
shocked by what he had done and was forced to seek the support of
a chair. He clenched his jaw, gazed with stony eyes against the
formless dread about him.
He had forgotten that the next day was Sunday, with a
corresponding dislocation of the train and packet service which was
to take him West. A further wait until Monday was necessary.
Alexander Hulings got through that too; and was finally seated with
Veneada in his light wagon, behind a clattering pair of young
Hambletonians, with the trunk secured in the rear. Veneada was
taking him to a station on the Columbus Railroad. Though the
morning had hardly advanced, and Hulings had wrapped himself in a
heavy cape, the doctor had only a duster, unbuttoned, on his casual
clothing.
“You know, Alex,” the latter said—“and let me finish before you
start to object—that I have more money than I can use. And, though
I know you wouldn't just borrow any for cigars, if there ever comes
a time when you need a few thousands, if you happen on something
that looks good for both of us, don't fail to let me know. You'll pull
out of this depression; I think you're a great man, Alex—because
you are so unpleasant, if for nothing else.”
The doctor's weighty hand fell affectionately on Hulings' shoulder.
Hulings involuntarily moved from the other's contact; he wanted
to leave all—all of Eastlake. Once away, he was certain, his being
would clarify, grow more secure. He even neglected to issue a
characteristic abrupt refusal of Veneada's implied offer of assistance;
though all that he possessed, now strapped in his wallet, was a
meager provision for a debilitated man who had cast safety behind
him.
The doctor pulled his horses in beside a small, boxlike station, on
flat wooden tracks, dominated by a stout pole, to which was nailed a
ladderlike succession of cross blocks.
Alexander Hulings was infinitely relieved when the other, after
some last professional injunctions, drove away. Already, he thought,
he felt better; and he watched, with a faint stirring of normal
curiosity, the station master climb the pole and survey the mid-
distance for the approaching train.
The engine finally rolled fussily into view, with a lurid black column
of smoke pouring from a thin belled stack, and dragging a rocking,
precarious brigade of chariot coaches scrolled in bright yellow and
staring blue. It stopped, with a fretful ringing and grinding impact of
coach on coach. Alexander Hulings' trunk was shouldered to a roof;
and after an inspection of the close interiors he followed his baggage
to an open seat above. The engine gathered momentum; he was
jerked rudely forward and blinded by a cloud of smoke streaked with
flaring cinders.
There was a faint cry at his back, and he saw a woman clutching a
charring hole in her crinoline. The railroad journey was an
insuperable torment; the diminishing crash at the stops, either at a
station or where cut wood was stacked to fire the engine, the
choking hot waves of smoke, the shouted confabulations between
the captain and the engineer, forward on his precarious ledge—all
added to an excruciating torture of Hulings' racked and shuddering
nerves. His rigid body was thrown from side to side; his spine
seemed at the point of splintering from the pounding of the rails.
An utter mental dejection weighed down his shattered being; it
was not the past but the future that oppressed him. Perhaps he was
going only to die miserably in an obscure hole; Veneada probably
wouldn't tell him the truth about his condition. What he most
resented, with a tenuous spark of his customary obstinate spirit, was
the thought of never justifying a belief he possessed in his ultimate
power to conquer circumstance, to be greatly successful.
Veneada, a man without flattery, had himself used that word
“great” in connection with him.
Alexander Hulings felt dimly, even now, a sense of cold power; a
hunger for struggle different from a petty law practice in Eastlake.
He thought of the iron that James Claypole unsuccessfully wrought;
and something in the word, its implied obduracy, fired his
disintegrating mind. “Iron!” Unconsciously he spoke the word aloud.
He was entirely ignorant of what, exactly, it meant, what were the
processes of its fluxing and refinement; forge and furnace were
hardly separated in his thoughts. But out of the confusion emerged
the one concrete stubborn fact—iron!
He was drawn, at last, over a level grassy plain, at the far edge of
which evening and clustered houses merged on a silver expanse of
river. It was Columbus, where he found the canal packets lying in
the terminal-station basin.
II
T
HE westbound packet, the Hit or Miss, started with a long
horn blast and the straining of the mules at the towrope. The
canal boat slipped into its placid banked waterway. Supper
was being laid in the gentlemen's cabin, and Alexander Hulings was
unable to secure a berth. The passengers crowded at a single long
table; and the low interior, steaming with food, echoing with
clattering china and a ceaseless gabble of voices, confused him
intolerably. He made his way to the open space at the rear. The
soundless, placid movement at once soothed him and was
exasperating in its slowness. He thought of his journey as an
escape, an emergence from a suffocating cloud; and he raged at its
deliberation.
The echoing note of a cornet-à-piston sounded from the deck
above; it was joined by the rattle of a drum; and an energetic band
swept into the strains of Zip Coon. The passengers emerged from
supper and gathered on the main deck; the gayly lighted windows
streamed in moving yellow bars over dark banks and fields; and they
were raised or lowered on the pouring black tide of masoned locks.
If it had not been for the infernal persistence of the band, Alexander
Hulings would have been almost comfortable; but the music, at
midnight, showed no signs of abating. Money was collected, whisky
distributed; a quadrille formed forward. Hulings could see the
women's crinolines, the great sleeves and skirts, dipping and floating
in a radiance of oil torches. He had a place in a solid bank of chairs
about the outer rail, and sat huddled in his cape. His misery, as
usual, increased with the night; the darkness was streaked with
immaterial flashes, disjointed visions. He was infinitely weary, and
faint from a hunger that he yet could not satisfy. A consequential
male at his side, past middle age, with close whiskers and a mob of
seals, addressed a commonplace to him; but he made no reply. The
other regarded Hulings with an arrogant surprise, then turned a
negligent back. From beyond came a dear, derisive peal of girlish
laughter. He heard a name—Gisela—pronounced.
Alexander Hulings' erratic thoughts returned to iron. He wondered
vaguely why James Claypole had never succeeded with Tubal Cain.
Probably, like so many others, he was a drunkard. The man who had
addressed him moved away—he was accompanied by a small party
—and another took his vacant place.
“See who that was?” he asked Hulings. The latter shook his head
morosely. “Well, that,” the first continued impressively, “is John
Wooddrop.”
Alexander Hulings had an uncertain memory of the name,
connected with——
“Yes, sir—John Wooddrop, the Ironmaster. I reckon that man is
the biggest—not only the richest but the biggest—man in the state.
Thousands of acres, mile after mile; iron banks and furnaces and
forges and mills; hundreds of men and women... all his. Like a
European monarch! Yes, sir; resembles that. Word's law—says 'Come
here!' or 'Go there!' His daughter is with him too, it's clear she's got
the old boy's spirit, and his lady. They get off at Harmony; own the
valley; own everything about.”
Harmony was the place where Hulings was to leave the canal;
from there he must drive to Tubal Cain. The vicarious boastfulness of
his neighbor stirred within him an inchoate antagonism.
“There is one place near by he doesn't own,” he stated sharply.
“Then it's no good,” the other promptly replied. “If it was,
Wooddrop would have it. It would be his or nothing—he'd see to
that. His name is Me, or nobody.”
Alexander Hulings' antagonism increased and illogically fastened
on the Ironmaster. The other's character, as it had been stated, was
precisely the quality that called to the surface his own stubborn will
of self-assertion. It precipitated a condition in which he expanded,
grew determined, ruthless, cold.
He imagined himself, sick and almost moneyless and bound for
Claypole's failure, opposed to John Wooddrop, and got a faint thrill
from the fantastic vision. He had a recurrence of the conviction that
he, too, was a strong man; and it tormented him with the bitter
contrast between such an image and his actual present self. He
laughed aloud, a thin, shaken giggle, at his belief persisting in the
face of such irrefutable proof of his failure. Nevertheless, it was
firmly lodged in him, like a thorn pricking at his dissolution,
gathering his scattered faculties into efforts of angry contempt at the
laudation of others.
Veneada and Hallie Flower, he realized, were the only intimates he
had gathered in a solitary and largely embittered existence. He had
no instinctive humanity of feeling, and his observations, colored by
his spleen, had not added to a small opinion of man at large. Always
feeling himself to be a figure of supreme importance, he had never
ceased to chafe at the small aspect he was obliged to exhibit. This
mood had grown, through an uncomfortable sense of shame, to a
perpetual disparagement of all other triumph and success.
Finally the band ceased its efforts, the oil lights burned dim, and a
movement to the cabins proceeded, leaving him on a deserted deck.
At last, utterly exhausted, he went below in search of a berth. They
hung four deep about the walls, partly curtained, while the floor of
the cabin was filled with clothesracks, burdened with a miscellany of
outer garments. One place only was empty—under the ceiling; and
he made a difficult ascent to the narrow space. Sleep was an
impossibility—a storm of hoarse breathing, muttering, and sleepy
oaths dinned on his ears. The cabin, closed against the outer air,
grew indescribably polluted. Any former torment of mind and body
was minor compared to the dragging wakeful hours that followed; a
dread of actual insanity seized him.
Almost at the first trace of dawn the cabin was awakened and
filled with fragmentary dressing. The deck and bar were occupied by
men waiting for the appearance of the feminine passengers from
their cabin forward, and breakfast. The day was warm and fine. The
packet crossed a turgid river, at the mouths of other canal routes,
and entered a wide pastoral valley.
Alexander Hulings sat facing a smaller, various river; at his back
was a barrier of mountains, glossy with early laurel and
rhododendron. His face was yellow and sunken, and his lips dry.
John Wood-drop passed and repassed him, a girl, his daughter
Gisela, on his arm. She wore an India muslin dress, wide with
crinoline, embroidered in flowers of blue and green worsted, and a
flapping rice-straw hat draped in blond lace. Her face was pointed
and alert.
Once Hulings caught her glance, and he saw that her eyes
seemed black and—and—impertinent.
An air of palpable satisfaction emanated from the Ironmaster. His
eyes were dark too; and, more than impertinent, they held for
Hulings an intolerable patronage. John Wooddrop's foot trod the
deck with a solid authority that increased the sick man's smoldering
scorn. At dinner he had an actual encounter with the other. The
table was filling rapidly; Alexander Hulings had taken a place when
Wooddrop entered with his group and surveyed the seats that
remained.
“I am going to ask you,” he addressed Hulings in a deep voice, “to
move over yonder. That will allow my family to surround me.”
A sudden unreasonable determination not to move seized Hulings.
He said nothing; he didn't turn his head nor disturb his position.
John Wood-drop repeated his request in still more vibrant tones.
Hulings did nothing. He was held in a silent rigidity of position.
“You, sir,” Wooddrop pronounced loudly, “are deficient in the
ordinary courtesies of travel! And note this, Mrs. Wooddrop,”—he
turned to his wife—“I shall never again, in spite of Gisela's
importunities, move by public conveyance. The presence of
individuals like this——”
Alexander Hulings rose and faced the older, infinitely more
important man. His sunken eyes blazed with such a feverish passion
that the other raised an involuntary palm.
“Individuals,” he added, “painfully afflicted.” Suddenly Hulings'
weakness betrayed him; he collapsed in his chair with a pounding
heart and blurred vision. The incident receded, became merged in
the resumption of the commonplace clatter of dinner.
Once more on deck, Alexander Hulings was aware that he had
appeared both inconsequential and ridiculous, two qualities
supremely detestable to his pride; and this added to his bitterness
toward the Ironmaster. He determined to extract satisfaction for his
humiliation. It was characteristic of Hulings that he saw himself
essentially as John Wood-drop's equal; worldly circumstance had no
power to impress him; he was superior to the slightest trace of the
complacent inferiority exhibited by last night's casual informer.
The day waned monotonously; half dazed with weariness he
heard bursts of music; far, meaningless voices; the blowing of the
packet horn. He didn't go down again into the cabin to sleep, but
stayed wrapped in his cloak in a chair. He slept through the dawn
and woke only at the full activity of breakfast. Past noon the boat
tied up at Harmony. The Wooddrops departed with all the
circumstance of worldly importance and in the stir of cracking whip
and restive, spirited horses. Alexander Hulings moved unobserved,
with his trunk, to the bank.
Tubal Cain, he discovered, was still fifteen miles distant, and—he
had not told James Claypole of his intended arrival—no conveyance
was near by. A wagon drawn by six mules with gay bells and colored
streamers and heavily loaded with limestone finally appeared, going
north, on which Hulings secured passage.
The precarious road followed a wooded ridge, with a vigorous
stream on the right and a wall of hills beyond. The valley was largely
uninhabited. Once they passed a solid, foursquare structure of
stone, built against a hill, with clustered wooden sheds and a great
wheel revolving under a smooth arc of water. A delicate white vapor
trailed from the top of the masonry, accompanied by rapid, clear
flames.
“Blue Lump Furnace,” the wagon driver briefly volunteered.
“Belongs to Wooddrop. But that doesn't signify anything about here.
Pretty near everything's his.”
Alexander Hulings looked back, with an involuntary deep interest
in the furnace. The word “iron” again vibrated, almost clanged,
through his mind. It temporarily obliterated the fact that here was
another evidence of the magnitude, the possessions, of John
Wooddrop. He was consumed by a sudden anxiety to see James
Claypole's forge. Why hadn't the fool persisted, succeeded?
“Tubal Cain's in there.” The mules were stopped. “What there is of
it! Four bits will be enough.”
He was left beside his trunk on the roadside, clouded by the dust
of the wagon's departure. Behind him, in the direction indicated, the
ground, covered with underbrush, fell away to a glint of water and
some obscure structures. Dragging his baggage he made his way
down to a long wooden shed, the length facing him open on two
covered hearths, some dilapidated troughs, a suspended ponderous
hammer resting on an anvil, and a miscellaneous heap of rusting
iron implements—long-jawed tongs, hooked rods, sledges, and
broken castings. The hearths were cold; there was not a stir of life,
of activity, anywhere.
Hulings left his trunk in a clearing and explored farther. Beyond a
black heap of charcoal, standing among trees, were two or three
small stone dwellings. The first was apparently empty, with some
whitened sacks on a bare floor; but within a second he saw through
the open doorway the lank figure of a man kneeling in prayer. His
foot was on the sill; but the bowed figure, turned away, remained
motionless.
Alexander Hulings hesitated, waiting for the prayer to reach a
speedy termination. But the other, with upraised, quivering hands,
remained so long on his knees that Hulings swung the door back
impatiently. Even then an appreciable time elapsed before the man
inside rose to his feet. He turned and moved forward, with an
abstracted gaze in pale-blue eyes set in a face seamed and scored
by time and disease. His expression was benevolent; his voice warm
and cordial.
“I am Alexander Hulings,” that individual briefly stated; “and I
suppose you're Claypole.”
The latter's condition, he thought instantaneously, was entirely
described by his appearance. James Claypole's person was as
neglected as the forge. His stained breeches were engulfed in
scarred leather boots, and a coarse black shirt was open on a gaunt
chest.
His welcome left nothing to be desired. The dwelling into which he
conducted Hulings consisted of a single room, with a small shed
kitchen at the rear and two narrow chambers above. There was a
pleasant absence of apology for the meager accommodations. James
Claypole was an entirely unaffected and simple host.
The late April evening was warm; and after a supper, prepared by
Claypole, of thick bacon, potatoes and saleratus biscuit, the two men
sat against the outer wall of the house. On the left Hulings could see
the end of the forge shed, with the inevitable water wheel hung in a
channel cut from the dear stream. The stream wrinkled and
whispered along spongy banks, and a flicker hammered on a
resonant limb. Hulings stated negligently that he had arrived on the
same packet with John Wood-drop, and Claypole retorted:
“A man lost in the world! I tried to wrestle with his spirit, but it
was harder than the walls of Jericho.”
His eyes glowed with fervor. Hulings regarded him curiously. A
religious fanatic! He asked:
“What's been the trouble with Tubal Cain? Other forges appear to
flourish about here. This Wooddrop seems to have built a big thing
with iron.”
“Mammon!” Claypole stated. “Slag; dross! Not this, but the Eternal
World.” The other failed to comprehend, and he said so irritably. “All
that,” Claypole specified, waving toward the forge, “takes the
thoughts from the Supreme Being. Eager for the Word, and a poor
speller-out of the Book, you can't spend priceless hours shingling
blooms. And then the men left, one after another, because I stopped
pandering to their carnal appetites. No one can indulge in rum here,
in a place of mine sealed to God.”
“Do you mean that whisky was a part of their pay and that you
held it back?” Alexander Hulings demanded curtly. He was without
the faintest sympathy for what he termed such arrant folly.
“Yes, just that; a brawling, froward crew. Wooddrop wanted to
buy, but I wouldn't extend his wicked dominion, satisfy fleshly lust.”
“It's a good forge, then?”
“None better! I built her mostly myself, when I was laying up the
treasure that rusted; stone on stone, log on log. Heavy, slow work.
The sluice is like a city wall; the anvil bedded on seven feet of oak.
It's right! But if I'd known then I should have put up a temple to
Jehovah.”
Hulings could scarcely contain his impatience.
“Why,” he ejaculated, “you might have made a fine thing out of it!
Opportunity, opportunity, and you let it go by. For sheer——”
He broke off at a steady gaze from Claypole's calm blue eyes. It
was evident that he would have to restrain any injudicious
characterizations of the other's belief. He spoke suddenly:
“I came up here because I was sick and had to get out of
Eastlake. I left everything but what little money I had. You see—I
was a failure. I'd like to stay with you a while; when perhaps I might
get on my feet again. I feel easier than I have for weeks.” He
realized, surprised, that this was so. He had a conviction that he
could sleep here, by the stream, in the still, flowering woods. “I
haven't any interest in temples,” he continued; “but I guess—two
men—we won't argue about that. Some allowance on both sides.
But I am interested in iron; I'd like to know this forge of yours
backward. I've discovered a sort of hankering after the idea; just
that—iron. It's a tremendous fact, and you can keep it from rusting.”
III
T
HE following morning Claypole showed Alexander Hulings the
mechanics of Tubal Cain. A faint reminiscent pride shone
through the later unworldly preoccupation. He lifted the sluice
gate, and the water poured through the masoned channel of the
forebay and set in motion the wheel, hung with its lower paddles in
the course. In the forge shed Claypole bound a connection, and the
short haft of the trip hammer, caught in revolving cogs, raised a
ponderous head and dropped it, with a jarring clang, on the anvil.
The blast of the hearths was driven by water wind, propelled by a
piston in a wood cylinder, with an air chamber for even pressure. It
was all so elemental that the neglect of the last years had but
spread over the forge an appearance of ill repair. Actually it was as
sound as the clear oak largely used in its construction.
James Claypole's interest soon faded; he returned to his chair by
the door of the dwelling, where he laboriously spelled out the
periods of a battered copy of Addison's “Evidences of the Christian
Religion.” He broke the perusal with frequent ecstatic ejaculations;
and when Hulings reluctantly returned from his study of the forge
the other was again on his knees, lost in passionate prayer. Hulings
grew hungry—Claypole was utterly lost in visions—cooked some
bacon and found cold biscuit in the shedlike kitchen.
The afternoon passed into a tenderly fragrant twilight The forge
retreated, apparently through the trees, into the evening. Alexander
Hulings sat regarding it with an increasing impatience; first, it
annoyed him to see such a potentiality of power lying fallow, and
then his annoyance ripened into an impatience with Claypole that he
could scarcely contain. The impracticable ass! It was a crime to keep
the wheel stationary, the hearths cold.
He had a sudden burning desire to see Tubal Cain stirring with life;
to hear the beat of the hammer forging iron; to see the dark, still
interior lurid with fire. He thought again of John Wooddrop, and his
instinctive disparagement of the accomplishments of others mocked
both them and himself. If he, Alexander Hulings, had had Claypole's
chance, his beginning, he would be more powerful than Wooddrop
now.
The law was a trivial foolery compared to the fashioning, out of
the earth itself, of iron. Iron, the indispensable! Railroads, in spite of
the popular, vulgar disbelief, were a coming great factor; a thousand
new uses, refinements, improved processes of manufacture were
bound to develop. His thoughts took fire and swept over him in a
conflagration of enthusiasm. By heaven, if Claypole had failed he
would succeed. He, too, would be an Ironmaster!
A brutal chill overtook him with the night; he shook pitiably; dark
fears crept like noxious beetles among his thoughts. James Claypole
sat, with his hands on his gaunt knees, gazing, it might be, at a
miraculous golden city beyond the black curtain of the world. Later
Hulings lay on a couch of boards, folded in coarse blankets and his
cape, fighting the familiar evil sinking of his oppressed spirit. He was
again cold and yet drenched with sweat... if he were defeated now,
he thought, if he collapsed, he was done, shattered! And in his
swirling mental anguish he clung to one stable, cool fact; he saw,
like Claypole, a vision; but not gold—great shadowy masses of iron.
Before dawn the dread receded; he fell asleep.
He questioned his companion at breakfast about the details of
forging.
“The secret,” the latter stated, “is—timber; wood, charcoal. It's
bound to turn up; fuel famine will come, unless it is provided
against. That's where John Wooddrop's light. He counts on getting it
as he goes. A furnace'll burn five or six thousand cords of wood
every little while, and that means two hundred or more acres. Back
of Harmony, here, are miles of timber the old man won't loose up
right for. He calculates no one else can profit with them and takes
his own time.”
“What does Wooddrop own in the valleys?”
“Well—there's Sally Furnace; the Poole Sawmill tract; the Medlar
Forge and Blue Lump; the coal holes on Allen Mountain; Marta
Furnace and Reeba Furnace—they ain't right hereabouts; the Lode
Orebank; the Blossom Furnace and Charming Forges; Middle and
Low Green Forges; the Auspàcher Farm——”
“That will do,” Hulings interrupted him moodily; “I'm not an
assessor.”
Envy lashed his determination to surprising heights. Claypole grew
uncommunicative, except for vague references to the Kingdom at
hand and the dross of carnal desire. Finally, without a preparatory
word, he strode away and disappeared over the rise toward the
road. At supper he had not returned; there was no trace of him
when, inundated with sleep, Hulings shut the dwelling for the night.
All the following day Alexander Hulings expected his host; he spent
the hours avidly studying the implements of forging; but the other
did not appear. Neither did he the next day, nor the next.
Hulings, surprisingly happy, was entirely alone but for the hidden
passage of wagons on the road and the multitudinous birds that
inhabited the stream's edge, in the peaceful, increasing warmth of
the days and nights. His condition slowly improved. He bought
supplies at the packet station on the canal and shortly became as
proficient at the stove as James Claypole. Through the day he sat in
the mild sunlight or speculated among the implements of the forge.
He visualized the process of iron making; the rough pigs, there were
sows, too, he had gathered, lying outside the shed had come from
the furnace. These were put into the hearths and melted, stirred
perhaps; then—what were the wooden troughs for?—hammered,
wrought on the anvil. Outside were other irregularly round pieces of
iron, palpably closer in texture than the pig. The forging of them, he
was certain, had been completed. There were, also, heavy bars,
three feet in length, squared at each end.
Everything had been dropped apparently at the moment of James
Claypole's absorbing view of another, transcending existence. Late in
an afternoon—it was May—he heard footfalls descending from the
road; with a sharp, unreasoning regret, he thought the other had
returned. But it was a short, ungainly man with a purplish face and
impressive shoulders. “Where's Jim?” he asked with a markedly
German accent.
Alexander Hulings told him who he was and all he knew about
Claypole.
“I'm Conrad Wishon,” the newcomer stated, sinking heavily into a
chair. “Did Jim speak of me—his head forgeman? No! But I guess he
told you how he stopped the schnapps. Ha! James got religion. And
he went away two weeks ago? Maybe he'll never be back. This”—he
waved toward the forge—“means nothing to him.
“I live twenty miles up the road, and I saw a Glory-wagon coming
on—an old Conestoga, with the Bible painted on the canvas, a
traveling Shouter slapping the reins, and a congregation of his family
staring out the back. James would take up with a thing like that in a
shot. Yes, sir; maybe now you will never see him again. And your
mother's cousin! There's no other kin I've heard of; and I was with
him longer than the rest.”
Hulings listened with growing interest to the equable flow of
Conrad Wishon's statements and mild surprise.
“Things have been bad with me,” the smith continued. “My wife,
she died Thursday before breakfast, and one thing and another. A
son has charge of a coaling gang on Allen Mountain, but I'm too
heavy for that; and I was going down to Green Forge when I
thought I'd stop and see Jim. But, hell!—Jim's gone; like as not on
the Glory-wagon. I can get a place at any hearth,” he declared
pridefully. “I'm a good forger; none better in Hamilton County. When
it's shingling a loop I can show 'em all!”
“Have some supper,” Alexander Hulings offered.
They sat late into the mild night, with the moonlight patterned like
a grey carpet at their feet, talking about the smithing of iron. Conrad
Wishon revealed the practical grasp of a life capably spent at a
single task, and Hulings questioned him with an increasing
comprehension.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
ebookbell.com