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'.
NSF-MRA 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.
-- Very important for a course which many take as a `got to do
some physics' course
- Stepping stone to applet model.
-- Also useful as an education to faculty, showing off the
possibilities.
- cgi model still appropiate 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), which may act as drug carriers, designed
to open up and release .
=> useful as drug carriers.
-- designed to open up and release their load when the `correct'
physical chemical conditions are found.
Can we predict this behavior?
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!
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!
-- I don't have a great many technical things to say. Instead I will explain
our thoughts about how one can use Java in this particular situation,
and describe our experience to date. 90% of the time it seems much more
important to think carefully about what one wants to produce than about
how to produce it.
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.
- Is that new button required?
- Does it add useful functionality?
- Is it worth the real estate?
-- I have often heard it said that Microsoft Word used to be a usable
program yet now it is so burdened with infrequently used features
that it is a less productive tool.
Crystalline membrane simulation (1)
Simulation of 8 by 8 triangulation near the crumpling transition but in the
`flat' phase.
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.
-- specific examples on specific machines with particular
bits of software. Life is too short.
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 dynaimcally 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 thermalise 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.
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 abrest of collaborative systems work at NPAC.
-- Marek Podgory demonstrated at our last meeting and NPAC have
ported a couple of simple physics applets as demonstarations.
Prospects, hopes, where are we going?
- No neat toys solve the problem of developing well though out material but
interactive simulations will add significant value.
- Java is certainly `todays cool thing' and very appropriate and useful
for our application.
- Issues of speed, display technology (VRML/Java rendering) and stability
to be resolved.
- Collaborative tools may add another level of interaction.
[ Home ]
Parallel Supercomputer Simulations for Education
Written by Simeon Warner
Last updated