Jack's Page: Basic Physics and Optics

Author: Jack Ord     email: jackord@kw.igs.net

What's It About?

It's all physics - if you have no interest in the waveforms that appear on the Entry Page, then look no further (I hope you liked the sailing picture). (In case you bypassed it, the Entry Page has the sailing picture, an applet "slide show", a link to What's New? and links to this page, the Site Index.)

Basic Physics deals with simple algorithms for numerical solution of problems in physics, notably Richard Feynman's algorithm for dealing with Newton's second law. The systems studied begin with a mass oscillating on a spring, and end with a wavefunction oscillating in a harmonic potential well. Basic Physics is aimed at people who want to write their own programs. The programs you see running in your browser are Java applets. Java is my preferred language because applets run in a web browser, and Java is both fast and free. Only an extremely small subset of Java is needed to create an applet that carries out calculations and displays the results. In 1996 I recommended Java to potential users partly because there was a simple reference to help them get started: "Java Programming for Dummies" by Donald J. Koosis and David Koosis. In the introduction the authors said that:

This book is intended to quickly get you writing your own Java applets. We don't intend for this book to turn you into an object-oriented programming guru, but we do want to give you the confidence to try your hand at putting interesting, fun, and useful Java applets on your web pages.

Java has changed a lot since 1996, so I bought the 2007 edition of the book (now written by Barry Burd) which states:

These days applets are passe. Real Java programmers roll their eyes when they hear the word applet. . . For Java programmers, the real money isn't in creating glittery Web pages. The real money is in business applications with Java EE. . . Skip the whole applet business and move on to Chapter 3. Hardly anyone uses Java applets these days anyway.

When I read that I decided to stop recommending Java and I deleted the Java source code from Jack's Page. I have since decided that was a mistake. Users should be able to see what produces the applet they are looking at, and I need an archive for my latest source code. I still hesitate to recommend Java to potential users, but I have added Java Instructions for those that wish to try. Liberty Basic and/or BBC Basic code is provided for all of the programs, and PostScript code is included for some that do not require user interaction. (PostScript runs in the Ghostscript graphical interface GSview 4.7).

Java applets run much faster than programs in the other three languages (9 times faster than GSview, 39 times faster than BBC Basic, and 73 times faster than Liberty Basic in a recent test), and this does cause problems. For example, a diffraction pattern designed to be calculated in 10 seconds in Java will be displayed very slowly in the other languages.

Optics is divided into Matrix Ray Optics, Matrix Wave Optics, and Ellipsometry (matrix wave optics applied to the reflection of polarized light from film-covered surfaces).

There is also a brief section on transients that shows examples of how a computer can be used acquire and analyze data.

The level of the material and the form in which it is presented are both rather uneven. The early Basic Physics material was aimed at students in a freshman course. The more recent material, aimed at surfers scanning the net for items of interest, is more varied in level and has less decriptive detail. The level of the Optics material increases progressively the farther one goes into it.

Index and Program Directory

Basic Physics

Basic Physics introduces algorithms for "back-of-the-envelope" calculations in physics. It takes its name from the Basic language, and originates from Richard Feynman's algorithm for solving F = ma problems on 1960-vintage calculators. The algorithms are simple, but accurate, and can be applied to a wide variety of problems in physics.

Newton's Law and the Feynman Algorithm

Fieldlines and Equipotentials

Energy Conservation and Integration

The Special Theory of Relativity

Wave Motion

Matrix Ray Optics: Matrix Optics by Ian Dagg, Web Edition by Don De Smet

Matrix Wave Optics

A matrix treatment of wave propagation that continues on from the matrix treatment of geometrical optics and provides the groundwork for the sections on ellipsometry.

Diffraction

Ellipsometry

A brief self-contained introduction to the subject. A more detailed discussion of the introductory material is given in the Matrix Ray Optics and Matrix Wave Optics sections. A more general discussion of ellipsometry, including the Jones Calculus description of polarized light, can be found in A Closer Look at Nulling Ellipsometry by Don De Smet. Detail on the operation of a typical null instrument can be found in Principles of Operation of the Exacta 2000, also by Don De Smet.

Transients

Programs for the analysis of exponential and logarithmic transients. The 'capacitor tester' program is from an interfacing exercise for graduate students (or demonstration for freshmen). The logarithmic transient program is used in research on high-field ionic conduction. Both programs use data acquired under program control by interface hardware that sets the current through and reads the potential across an external circuit.