Teaching computational physics using Java
Simeon Warner (http://www.phy.syr.edu/~simeon)
Department of Physics, University of Syracuse,
Syracuse, NY 13244-1130, USA.
Monday 13th December 1996.
The rest of the team
Simon Catterall, Eric Gregory, Metin Sezgin.
Project
`Integration of Information Age Networking and Parallel Supercomputer
Simulations into University General Science and K-12 Curricula'.
This is an NSF-MRA (Metacenter Regional Alliance) of Syracuse Physics,
Syracuse Engineering, Cornell Physics, Cornell Engineering and NPAC.
We aim to develop interactive educational modules to be integrated
into undergraduate courses, and then into K-12 curricula.
-- Thinking both in terms of individual study and in terms of
classroom situations
Intend to use best available technologies; currently Web, Java, maybe
VRML soon.
-- A bit of a moving target but this is unavoidable
Four simulation modules are being developed;
- fluctuating membranes,
-- Syracuse physics
- fluid dynamics,
-- Syracuse engineering
- crack propagation and structural failure,
-- Cornell engineering
- avalanches.
-- Cornell physics
Related work
Before Java was available, the Syracuse entry-level Physics course
`Science for the 21st Century' used cgi-and-forms based
interaction to provide web access to Neural Network models.
- Enthusiastically received by students.
- Stepping stone to applet model.
- cgi model still appropriate for large simulations.
NPAC have experience with web material for K-12 from the
Living Textbook Project
(now Living Schoolbook Project).
Membranes - Introduction
Understanding the properties of two-dimensional interfaces and membranes
has become an important goal for many fields of science, including:
- biology (cell membranes),
- chemistry and chemical physics (reactions at interfaces, cosmetics, medicine),
- theoretical physics (condensed matter, particle physics).
Behavior of red blood cells in the body can be described by the
same theories very similar to the string theories of particle physics.
Aim to bring out generality of membrane models. A range of explorations
from the biology of life processes through materials to cosmology.
Leverage interest in physics from more familiar biological context?
Membranes - Real membranes
Want to model accurately the underlying microscopic dynamics
=> calculations require high performance computers.
Artificial amphiphilic membranes are a lively research field;
applications in
- industry,
- medicine,
- cosmetics.
Membranes able to close in on themselves forming vesicles
(small closed surfaces), designed to open up and release their
load when the `correct' physical chemical conditions are found.
=> useful as drug carriers.
Membranes - Particle physics
String theories can be thought of as theories of random surfaces.
Thermal fluctuations in the biological context replaced by quantum
fluctuations.
Hope to draw on common thread with `real' membranes.
-- Hard to see how we can explain any meaningful particle
physics to anyone but the high-end of K-12. Still much work to
be done here! First intend to concenmtrate on `real membranes'
and bilogical context in particular.
Membrane physics
Research interest driven by numerical simulation.
Two main classes of `membrane':
- fluid membranes
=> molecules can freely flow around each other for any shape of the
membrane surface
- crystalline or polymerized membranes
=> molecules held in place by strong covalent bonds.
At any finite temperature these membranes undergo thermal fluctuations and the
physical properties of the surface depend on the interplay between these
disordering effects and the ordering associated with a curvature-suppressing
energy term.
Complex phase structures exist between `smooth' surfaces, `crumpled' surfaces
and other more exotic possibilities.
Teaching tools
Aim to assemble a suite of simulations illustrate a variety of phenomena.
- `flickering' of red blood cells
- `crumpling' transition in polymerized membranes and string theory
- ...
Where possible use Java, supported by text, video and interactive
simulation-on-demand.
Link Java simulations of small/toy systems with video and remote simulation
of larger systems.
Java will provide the most interactive `hands-on' experience for students.
`Edutainment'
Simple idea:
- adding entertainment to the education application
can enhance the learning experience.
However:
- students are not impressed by last years Nintendo and Sega.
- the popular web sites are the neat and flashy ones.
- tall order to produce physics education material that will be
considered `neat' and thus interesting.
- while we can't really compete on presentation, we must not
be complacent and assume content will be enough!
Simplicity
In spite of the need to be `neat', I think simplicity is very important!
-- Maybe this is an expression of my artistic preferences or simply a secret
Luddite tendency. However, I shall try to justify a little.
- Students will use each applet for only a short time
- time spent learning to use the applet is time wasted.
- We are not trying to teach people how to `drive' and applet,
we are trying to teach physics.
- Must not fall into the gizmo trap. Prefer to start simple and add
functionality as necessary.
- Is that new button required?
- Does it add useful functionality?
- Is it worth the real estate?
Crystalline membrane simulation (1)
Snapshot of a Java applet running a simulation of an 8 by 8 triangulation near
the crumpling transition but in the `flat' phase. The applet allows the
viewpoint to be arbitrarily rotated as the membrane evolves under
Monte Carlo updates.
Crystalline membrane simulation (2)
Code very similar to research simulation (C++)
-- in fact C++ simulation based on my Java code.
Uses OOGL_OFF class written by Daeron Meyer of The Geometry Center:
- extended with one new constructor and update method to do data conversion.
- bolt-in display and rotation - little effort!
So far, applet is proof of principle - rather small. Main limitation is
display speed.
VRML
Obvious choice for 3D display.
VRML API's for Java may prove useful -- haven't tried it yet, currently no standard.
-- SGI Cosmo on Wondows is only current example. Cornell collaborators
have demonstrated is successfully with hysteresis code.
Have tried canned VRML:
- Membrane examples: small, tubule.
- Much faster than Java rendering (but 33 by 33 mesh still too big on Indy).
- VRML alone is not enough - need to have text for explanation and
instructions. VRML from Java might solve this?
-- If using a dynamicaly generated VRML
from Java then we could pop up a separate window for the explanation
but nice would be to wither pop up a separate window for the VRML or
have the VRML window inline in the Web page.
Have also made canned movies.
Fluid membrane simulation
Dynamical triangulations code have both node moves and geometry
changes (link flips).
Similar display and control requirements to crystalline membrane.
Current implementation optionally highlights link flips.
Troublesome Monte Carlo
First impression is good but rather false.
- Monte Carlo dynamics are not real.
- Individual configurations not a meaningful as they appear.
Need to look at statistics - idea is to sample representative ensemble
of equilibrium configurations.
- Need to thermalize for a given set of parameters.
- Graph measurements, calculate means.
- Problems with slow-down near transitions.
Supporting applets
Don't use Java solely for headline simulations.
Example: applet to explain `springs' used in membrane model.
Here the user may move either the mass or one of the graph tracers to plot
out the force-extension and energy-extension graphs for a simple spring
obeying Hook's Law. We have purposefully made the inteface very simple
with buttons that clear the graphs, draw in the whole graphs and offer
help (including expanation of the other two buttons). The help information
appears in a pop-up window.
Speed
Java and client-side computation:
- In a classroom or many-user situation there is clearly more power on
desktops than on the server.
=> client side computation scales.
- Drastic reduction in server hits and data transfer, class files typically
only a few kBytes long.
=> client side computation essential with slow link!
We tune size and complexity of Java models to expected client performance.
Equation may be significantly affected by widespread use if JIT compilers.
Collaboration
Obvious application of collaborative technologies to classroom
situation - teacher controls all displays or passes control
to a chosen student.
Statistical studies like Monte Carlo are ideal candidates for combined
data collection from a classroom of workstations. Good to
illustrate benefit of more data.
-- If one were sneaky, one could even imagine doing real physics on
random peoples computers by way of some smart server software
and Java simulation code. The secret RSA challenge. However, you would have
to develop the killer applet to get enough people to run it.
Keeping abreast of collaborative systems work at NPAC.
-- Marek Podgorny demonstrated `Tango' at our last meeting. NPAC
have ported a couple of simple physics applets as demonstrations.
Prospects, hopes, where are we going?
- No neat toys solve the problem of developing well though out material.
However, interactive simulations will add significant value.
- Java is certainly `todays cool thing' and very appropriate for our
application.
- Issues of speed, display technology (VRML/Java rendering) and stability
to be resolved.
- Collaborative tools may add another level of interaction.
[ Index ]
Parallel Supercomputer Simulations for Education
Written by Simeon Warner
Last updated