PDF Thesis at Montana State University, Bozeman, July, 2004.
Abstract: The pumping lemma for regular languages and its application are among the
more difficult concepts students encounter in an introductory theory of computing
course. The pumping lemma is used to prove that particular languages are not regular.
Traditional methods of teaching the pumping lemma seem inadequate for helping
average students learn this concept.
In this thesis we describe a set of software tools that help students visualize the
pumping lemma for regular language. The Java programming language was used to
create active learning animations of various aspects of the pumping lemma that run
as applets in web browsers. Each of the steps in the proof of the pumping lemma
is animated. The finite state automaton animations can be manipulated so that
the concepts can be tried easily. With the feedback provided, student mistakes in
understanding the concept can be discovered and quickly corrected.
New methods for teaching the pumping lemma are considered. These allow stu-
dents to proceed at their own pace while learning about the pumping lemma through
interactive animations. These methods can be used to augment or replace traditional
teaching approaches. The pumping lemma animator will be included in an ongoing
project designed to create animations and interactive tools for a complete course on
theory of computing.
PDF HTML Dissertation at Idaho State University, Pocatello, November, 2010.
Abstract: Pebble bed reactors (PBR) have moving graphite fuel pebbles. This unique
feature provides advantages, but also means that simulation of the
reactor requires understanding the typical motion and location of the
granular flow of pebbles.
This dissertation presents a method for simulation of motion of the
pebbles in a PBR. A new mechanical motion simulator, PEBBLES,
efficiently simulates the key elements of motion of the pebbles in a
PBR. This model simulates gravitational force and contact forces
including kinetic and true static friction. It's used for a variety
of tasks including simulation of the effect of earthquakes on a PBR,
calculation of packing fractions, Dancoff factors, pebble wear and the
pebble force on the walls. The simulator includes a new differential
static friction model for the varied geometries of PBRs. A new static
friction benchmark was devised via analytically solving the mechanics
equations to determine the minimum pebble-to-pebble friction and
pebble-to-surface friction for a five pebble pyramid. This pyramid
check as well as a comparison to the Janssen formula was used to test
the new static friction equations.
Because larger pebble bed simulations involve hundreds of thousands of
pebbles and long periods of time, the PEBBLES code has been
parallelized. PEBBLES runs on shared memory architectures and
distributed memory architectures. For the shared memory architecture,
the code uses a new O(n) lock-less parallel collision detection
algorithm to determine which pebbles are likely to be in contact. The
new collision detection algorithm improves on the traditional
non-parallel O(n log(n)) collision detection algorithm. These
features combine to form a fast parallel pebble motion simulation.
The PEBBLES code provides new capabilities for understanding and
optimizing PBRs. The PEBBLES code has provided the pebble motion data
required to calculate the motion of pebbles during a simulated
earthquake. The PEBBLES code provides the ability to determine the
contact forces and the lengths of motion in contact. This information
combined with the proper wear coefficients can be used to determine
the dust production from mechanical wear. These new capabilities
enhance the understanding of PBRs, and the capabilities of the code
will allow future improvements in understanding.
The Marbles code is an open source derivative of the PEBBLES code.