@KeyIn
This option lets you bring up a
screen on which you can set most of
the parameters of the program at
the same time.
WARNING: Resets simulation unless
reset type is set to "Off".
@Force
This option lets you turn on a
variety of forces including
external fields, friction with the
walls, and hard sphere interactions
between the particles.

@Screen
This option lets you set a variety
of display and calculational
options including: Histogram,
Trace, Sound, Box Clear, and Reset.


@Calc
This option lets you set the Number
of Particles, the Box Size, and
toggle on or off Wrap X (pipe
simulation mode), and the
calculation of the Mean Free Path.

@Data
This option lets you read/write the
program settings and the particle
data to/from  a file.



@Quit

Choose this to leave the program
and return to DOS.



@Gravity
This option lets you turn on a
uniform gravitational field
pointing downward.  All the
particles have the same mass.  The
value of g can be set from the "Set
Forces" submenu.
@E Field
This option lets you turn on a
uniform electric field pointing to
the right.  All the particles have
the same charge.  The value of E
can be set from the "Set Forces"
submenu.         <More>
The electromagnetic interactions of
the particles with each other are
ignored.



@B Field
This option lets you turn on a
uniform magnetic field pointing
into the screen. All the particles
are taken to have the same charge.
The value of B can be set from the
"Set Forces" submenu.    <More>
The electromagnetic interactions of
the particles with each other are
ignored.



@Friction
This option lets you turn friction
on or off. With friction on, a
particle striking a wall loses a
fraction of the component of its
velocity parallel to the wall.
                    <More>


Set the fraction using
"Set Forces".


@Collisions
This option lets you turn on
hard sphere collisions between
particles. Two particles only
collide when they enter the same
pixel. The scattering angle is
random in their CM frame. <MORE>

The probability of a collision may
be reduced below 1 using the option
"Set Friction" in "Set Forces".


@Set Forces

This option lets you set the
parameters that control the various
forces.


@Set Friction
This option lets you set the
fraction of the particle's
velocity that it loses when it
strikes a wall. Only the component
of v parallel to the wall is
affected.          <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Set Collision Prob
This option lets you set the
probability that two particles will
collide when they enter the same
pixel.  Reducing the probability
below 1 corresponds to making the
particles smaller.    <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Set Gravity
This option lets you set the
strength of the gravitational
field.  The particles are taken to
have mass 1 and the field points
down.
                   <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Set EField
This option lets you set the
strength of the electric field.
The particles are taken to have
charge 1 and the field points to
the right. The EM interactions of
the particles are ignored. <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value
@Set BField
This option lets you set the
strength of the magnetic field. The
particles are taken to have charge
1 and the field points into screen.
The EM interactions of the
particles are ignored.  <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Histogram
This option lets you display a
histogram.  The histogram shows the
number of particles vs either
energy or speed (magnitude of
velocity).

@Turn On/Off

Selecting this option toggles the
display of the histogram on or off.



@Set X Scale
This option lets you change the
range of values displayed on the
abscissa. The minimum value is
always 0.  You may enter a value
for the maximum.
                  <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Set Y Scale
This option lets you change the
range of values displayed on the
ordinate. The minimum value is
always 0.  You may enter a value
for the maximum.
                  <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Histogram Type

This option lets you select whether
the histogram is plotted as a
function of energy or speed.


@Number of Cycles

This option lets you select how
often the histogram, Kinectic
Energy, and Mean Free Path
calculations are updated.
                  <More>
1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.  <More>
Note that for smaller cycle
numbers, the calculations are done
more frequently.  As a result, the
simulation will appear to proceed
more slowly.

@Box Clear
Selecting this will clear the box.
This is useful in Trace mode. It
erases the path being displayed but
does not cause a reset.  When you
start the simulation it will
continue from where you left off.
@Sound

This option lets you turn sound on
and off.  When sound is on, the
machine "clicks" whenever any pair
collide.

@Reset

This option lets you restart the
simulation in a variety of
configurations.


@Set Start Position

This option lets you choose where
in the box the center of the group
of particles will appear upon
reset.
               <More>
Select this option by pressing
<enter>, then choose the position
using the mouse or cursor keys,
following the instructions that
appear on your screen.

@Random Square
Starts the particles off in a small
square.  Their x and y velocities
are (independently) randomly
distributed between 0 and 1.


@Random Circle
Starts the particles off in a small
circle. Their x and y velocities
are (independently) randomly
distributed between 0 and 1.


@Mono Circle
Starts the particles off along a
small circle.  Their velocities are
all directly radially outward and
their speeds all equal 1.


@Mono Square
Starts the particles off in a small
square.  All the particles have the
same velocity (speed equals 1).



@Trace
Allows you to view a single
particle while all the rest are
made invisible. The path that the
particle follows is shown as a
visible track.

@Wrap X
Turning this on sets the left and
right walls as being the same wall.
A particle encountering the right
wall will not reflect, but will
reappear on the left without
changing its velocity. <MORE>
When <Wrap X> is on, a particle can
move to the left or right forever
without turning around. Turning on
<Wrap X> and <Friction> simulates
the motion of a fluid in a pipe.
@Reset
Restarts the simulation with the
configuration selected in "Reset
Type"

@Type
Selects one of four starting 
configurations and restarts the
simulation.


@Mean Free Path
When this option is on, the program
calculates the mean free path by
summing the distance particles
travel between collisions.

                 <MORE>
Since the sum only changes when
particles collide, the value will
start small and grow, approaching
the expected value only slowly.

                 <MORE>
The first few collisions occur
before the particles have had a
chance to travel very far, thus
biasing the calculated MFP towards
zero at the start.

@Particle Number
This option lets you change the
number of particles in the
simulation.  To see the maximum
number permitted with your memory
configuration, see the entry on the
KeyIn Screen.
@Dimensions of Box
This option lets you adjust the
dimensions of the box.  If the box
is enlarged in the middle of a
simulation, the particles will
remain where they were and the box
will expand around them. <MORE>
If the box is made smaller, the
program doesn't know where to put
the particles, so it will reset
them according to the last reset
type chosen.

@Box Width

This option lets you reset the
width of the box.

                  <More>

1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Box Height

This option lets you reset the
height of the box.

                  <More>

1. Press <enter> to get the
   value-entry window.
2. Key in your value.
3. Press <enter> to set it, or
   <esc> to cancel and return to
   original value.
@Main Help
                          THERMO

THERMO is a statistical mechanics simulation that allows you to
investigate a wide variety of equilibrium and non-equilibrium
phenomena. You can display the motion of up to 1000 particles in a box
moving under a variety of forces: hard sphere collisions with each
other, external fields, and friction when they collide with the wall.

- Select menu bar at top with cursor keys, highlighted letter, or mouse.
- Select entry or toggle value using <enter> or mouse click.
- Environmental status displayed on Status bar at bottom of screen.
- Run/Stop of simulation toggled by <spacebar>.
- Use <esc> or off-menu mouse-click to step back off menus.
                                        <MORE>

You can view a single particle using <Trace>;
You can simulate a pipe using <Wrap X>;
You can observe the Maxwell-Boltzmann distribution evolve from
  non-equilibrium starting conditions using <Histogram> and <Reset>.

THERMO can also be used as a simulator to generate output data for
analysis with external programs using the <Data> option.
For help with any menu item, select it and press <F1>.

                     written and developed by
                G. Norkus, J. Harold, and E. Redish
                           M.U.P.P.E.T.
                                               <MORE>

For more information about THERMO or M.U.P.P.E.T. (The Maryland
University Project in Physics and Educational Technology), write to

                Prof. Edward F. Redish
                Department of Physics
                University of Maryland
                College Park, MD 20742-4111

                EMail: Redish@CinCom.UMd.Edu

This preliminary version of THERMO may be freely copied and
distributed, but not sold.  All rights are reserved to the authors.
Copyright 1990.
