An Interview with Bill Schulz

Bill Schulz

BS = Bill Schulz
GAM = George Michael

Interviewer's Note: The interview that follows, was conducted over eight years ago. Why it took so long to get published, is a good and fair question.  At that time, as was usual, the interview tape was submitted to a laboratory Classification Officer. This was to ensure that Laboratory security policies were followed. Through a series of administrative disruptions and some plain forgetfulness by me, the interview disappeared � apparently mis-filed in a security vault. I am indebted to the Associate Director for Computation, Dona Crawford, and her deputy, Ted Michels, for the vital assistance needed to rescue this interview from obscurity.

GAM: Today is June 7, 1995, and I'm interviewing Bill Schulz, one of the first of the first large users of high speed computation. Bill, why don't you start by telling us where you came from, when did you get your degree, and when did you come to the Lab.

BS: When I was a child, I never played with children until I was five years old. The first time I remember playing with kids was when I was in Kindergarten. This pattern leads to being a loner and is a key to my experiences in Livermore. Being a loner is good if you want to be a physicist, in my opinion, because you can go to school and you don't have all these distractions. I had no girlfriends when I went to school. I went to movies once in a while and read fiction, a great deal of science fiction, for amusement.

Originally, I wanted to major in physics, but because I thought there wasn't enough money for me to go to graduate school, I started college as a mechanical-engineer major. I was sixteen when I first entered Rensselaer Polytech. At eighteen, I left for two and a half years in the Army. After Army service I spent another three years at Rensselaer, obtaining my Batchelor's Degree in Physics in 1949. I applied to various schools. I wanted to go to MIT, but I wasn't accepted there. Columbia University and the University of Pennsylvania had the easiest applications to fill out, so I applied to them. Both accepted me. I decided to go to Columbia as it had a better reputation. When I got there, I found that they had a simply fantastic faculty. They had people who either had or were receiving Nobel prizes in physics. I was trained to consider the basic models we use to describe physical reality.

At Columbia, I had the option of choosing Professor Hideki Yukawa, the Japanese Professor that Professor Rabi brought to this country after the war. I worked in non-local field theory for my thesis. I spent five years as a graduate student, full-time, did no experiments, did nothing else except study French and German. Yukawa went back to Japan while I was working on the bloody thesis. I finished the last half of my thesis by myself. I submitted it to the department. I wrote Yukawa letters but he did not write me back He was head of some institute and the letters probably never got to him over there. He was a nice man, a very good professor. One could never find some research professors in their offices, but at two o'clock in the afternoon, Yukawa was there if you wanted to talk with him. He was a true physicist. He was interested in modifying the laws of physics, discovering and exploring the universe.

I took my written exams and I did well. Robert Serber wrote Yukawa, and Yukawa approved my thesis. I then took my oral exam and I got out! I am probably one of the few physicists in the world to look for a job after he got his Ph.D. I did not know if I was going to get the degree or not!

So, anyway, a group from the Livermore Lab happened to come to Columbia on an interviewing trip and I talked with them. Your professor is supposed to find you a position, a research associate someplace or other, and start you on the academic road. I did not know how to find a job, but it turns out that North American Aviation had a reactor division and they were going to do a liquid-cooled reactor. I thought I would write them a letter. North American would hire anybody at that time. They accepted me. I said, "Okay, I got a job offer, so I can wait a while to hear from Livermore." Livermore did not write me, and finally I wrote them to say, "Well, you guys, you have got to tell me what you are going to do with me. Either you are interested in me or you are not interested in me. If you are not, I am going to take this job with North American." Finally, they called me and they said they would like me to come out on an interview trip. So I came to California and I talked to the Lab. I thought the Lab was closer to the academic world, and Lawrence had a big reputation. Also, we have these secrets and the bomb, for me, was a beneficial factor�I had been attached to the staff of a naval amphibious group at the end of World War II. We were to invade Japan but because they dropped the atomic bombs, I never got shot at. Hence, working on nuclear weapon was okay by me.

So, I came to Livermore in May of 1955. I talked with Michael May, Ivan Weeks, and Bob Lelevier. I needed to decide in which of the three groups was I going to work: Radiation Transport, Neutronics, or Hydrodynamics. Mike has a good personality and he talks very well, so I thought I would like to join his Radiation Transport group. But Lelevier came around and said, "We really need somebody. Mike's got lots of guys; we need somebody in Hydrodynamics." So I said, "Okay, okay." I joined the Hydrodynamic group. For the first six months, I studied what was going on and learned the language, trying to apply the things I learned in graduate school. They were good for nothing, absolutely nothing! I did nothing useful in six months except learn what was going on. So, I went to Bob Lelevier and I said, "Bob, please find me something to do. I tried to use all those things I learned in graduate school, and they didn't work. So what should I do?"

Bob had me run a hydro problem for a new device May was designing. At this time, all of our designs largely depended on one-dimensional computer programs. In this case, I had to take various items from the output of one program and use them in another code as input items. It turned out that I was not able to combine the calculations�things didn't mesh. I told this to Lelevier and he put together a team of Roland Herbst and me. Bob said, "Why don't you guys try to develop a better program in which you can do the whole problem?" We said, "Sure!" So, we took to playing around writing difference equations, and looking at accuracy and stability. This had never been done before, so there were no guidelines. All of a sudden, things became serious. Mike had a test date to face, and he needed answers. He couldn't wait. The administration gave us a programmer, Bob Kuhn, and we started designing and programming. Bob Kuhn was a good man. He had been working on a compiler with Kent Elsworth, so we used the compiler on this program. When problems arose, Kuhn's experience helped find the trouble quicker.

Roland Herbst tutored me on heat flow. In fact, he did a lot of tutoring! I provided a hydrodynamics program, basically from Lelevier, and also I developed a language of communication between myself and the programmer. I felt this was a key thing. I laid it out so that the programmer, who was not a physicist, could understand what we wanted to do. So, we wrote some things and we started running them on a computer, and you know, they broke down, and they broke down, but Roland patched them up. He put in some gimmicks, but the accuracy was lousy. When one thing went bad, other things also went bad.

GAM: Well, I remember that the first version ran on an IBM 701.

BS: Right. That's the code I'm talking about right now. Roland put in some gimmick which allowed us to run the computation. They gave us the 701 for all night long, several times actually. The final time, we stayed until 6:00 A.M. I forgot to switch the tapes around 2:00 AM. We were using running tapes, and we were groggy. We ate hamburgers and got indigestion and Roland got a stiff neck from the air blowing on him while he was standing over the printing machine. Anyway, we finally got it running well enough so they designed that thing and then we all got some sleep and recovered from our colds.

After things settled down, Roland and I had meetings in Mike's office, along with Norman Hardy, Chuck Leith, and Leo Collins.

GAM: Yes, I thought Leo Collins was the first programmer, but you're telling me it was Bob Kuhn.

BS: Bob Kuhn first, but Leo took over after we ran Mike's problem. Norman Hardy, Leo Collins (both computation), Roland Herbst (radiation transport), Chuck Leith (Herb York's group), myself (hydrodynamics) and Mike composed the group. I guess that's it.

GAM: Awesome.

BS: Yes, it was a good group. Anyway, we all sat in Mike's office and talked about things. In addition, Leo and I were writing a hydrodynamic code to produce a more stable scheme, because normal two-dimensional Largrangean hydrodynamics just stinks. I put four symmetric triangles in a zone and that stabilized things. Roland came up with a scheme which almost worked. It was unconditionally stable but it wasn't accurate enough. It wasn't enough to be unconditionally stable. We called it simple harmonic motion.

GAM: I remember that.

BS: Well, it was second order all right. Roland figured out what was wrong with it. We needed proper long-wavelength integration. The time step would be too small if we had to accurately integrate the short wavelength behavior also. Then Norman came up and produced a better operator.

GAM: That would be characteristic.

BS: When I wasn't around one time, they came up with a triangular hydrodynamics�really a very nice symmetrical triangular hydrodynamics.

GAM: That was Chuck Leith.

BS: Now, I was sort of at odds with everybody in the group because I had considered a straight triangular hydrodynamics and I didn't like it because it wasn't symmetrical. Ray Grandy had taken the quadrilateral zone, added a diagonal to divide the zone into two triangles, and wrote a successful code. But I said, "Well, I still don't like it." I said. "Okay, just leave me Leo and you guys write what you want to write, and Leo and I will write a modified quadrilateral code. All right?" Well, it turns out Chuck went away to get his Ph.D. in mathematics, and our meetings stopped. Everyone went off to do their own thing.

GAM: Didn't Chuck do Simon (a hydrodynamic program based on triangles)?

BS: He didn't do Simon at that time. He did Simon later, after he came back with his Ph.D. He knocked it off in a hurry, because he is a really smart guy. And he did the programming himself. He did it in assembly language.

Roland went off to design a bomb based on Mike's device. Leo and I started in on a 704 code, with Norman observing. One of our troubles was that we lacked a compiler, so Leo and I decided to use the Fortran I language which IBM was coming out with on the 704. What we did for six months was to find bugs in Fortran, and I mean that's literally what we did! We sent the bugs we found to IBM. At the beginning, IBM would say, "Well, thank you, we'll fix this." But, after a while, they didn't want to hear about any more bugs. After six months, we gave up. We said, "To hell with this!" We divided the code up. Leo took a third of it, Norman took a third of it, and Charlie Miller, who was there at that time, took a third of it. They coded it in assembly language. From then on, while I was at the lab, it was always written assembly language.

We produced this code; all sorts of things kept giving us trouble. The hydrodynamics wasn't really smooth. It had just a rectangular mesh to fit the bomb. But, we got it going and people like Dave Hall and Ken Bantell used it for their designs. It was the first really two-dimensional code of this type. Dave came around and said it was a great code and it worked fine. And, furthermore, it agreed with experiments!! This was the second code.

But we could do better than this. I didn't like the hydrodynamics that much�it wasn't that stable. I came up with a new hydro and with the idea of fireplace zoning, with which you could do a much better zoning job. This was the start of the third code (709, LARC or something.) I had now been at Livermore for about four years. The next few years were spent on version three. By making various approximations, I finally produced a production version of three.

At that time, I went off on a trip to AWRE in England, and to Europe, sightseeing. (I'd recently gotten married.) During that trip, ideas came to me concerning some problems that had bothered me in version three. I went back to version three, and I said, "I think I know how to do this computation now." I did some pencil and paper stuff that said it might work. Everything's a mass of compromises on compromises. Difference equations!! There is nothing exact about them whatsoever. So, I started modifying version three. After some struggles, it ran. I called this code version four.

Anyway, we made changes on changes and it turned out that some of them don't matter a damn! I spent four years of my life, I swear, trying to put one thing in correctly. And it turned out that when you're running a real problem on a computer, it doesn't matter. The zoning was such that a gross approximation dominated.

By this time, it was about eight years and I was tired of computers! Oh man, I couldn't stand the code anymore. There was only a minimum of intelligent code writing. Most of the time, it was hunting bugs. I'm a bug hunter deluxe. I run my test problems over and over and over, and I find these damned bugs. I spent twenty years with computers and maybe fifteen of them, at least, just hunting bugs. My programmers would produce a code and we would get the bugs out and it would run fine. Then I would tear it up and throw it away. I wore out programmers.

So, I wanted to do some publishable stuff. I wanted to go back to what I did in graduate school. I wanted to redo the stuff in graduate school and try to take out the mathematical kinks in Quantum Field Theory. The mathematics of field theory stink. I wanted to try constructing a field theory which a mathematician could look at and say, "Well, maybe it's sensible." You see, when a mathematician looks at free field theory, which is good for nothing because it doesn't interact with anything, he says it is O.K. When you put an interaction with two different particles in, it's wrong. It's simply wrong. Julian Schwinger came out with renormalization, and that was wrong, too. No mathematician has ever said it was sensible. Actually you don't have to be a mathematician.

The lab let me pursue this problem of making a mathematically sensible field theory. What I did was to take Quantum Mechanical ideas as dominant and down graded Special Relativity. The resulting theory was remarkably different from standard field theory. No one would publish it. This was the start of things going bad. The lab was restructured. I produced some simple hydros for a couple of other codes and started looking for the discrepancy that had shown up between calculations and experiment, and also to improve the calculations in the basic code I originally spent those first eight years on. Generally speaking, I didn't fit into the new laboratory, so this is a good place to end this interview with you, George.

Here are some final comments on efficiency in research. In graduate school, I studied field theory for maybe one and a half years. Then my thesis took about an additional year. The thesis was an attempt to remove the high momentum divergences by using finite-sized particles. It died on the altar of special relativity. While it was published, it had no influence at all on field theory. The field theory research I did while employed by the lab was based on taking quantum mechanical ideas as dominant when there was a conflict with special relativity. This approach provided an electrodynamics astonishingly different from standard quantum electrodynamics. Special relativity and quantum mechanics are inconsistent and any attempt to marry them produces gibberish. I never succeeded in getting it published. The influence on the physics profession, zero!

Now let's go to some of my practical work in code development. I spent about eight years to produce version four. Of these eight years, about four were spent trying to correctly introduce some effect into my difference equations. It was a real effect and showed up clearly in a test problem. In a real production problem, it had zero effect. Four years wasted! Hindsight is great. In those eight years are also the first six months I spent studying the weapons business and also the six months we spent finding bugs in Fortran I. To me, the idea that one can do efficient research is simply absurd.

GAM: Bill, I would like to thank you for taking the time to talk with me and for providing us with some beautiful insights about some of the earliest computer applications to physics.

Interviewer's Note Added:
I apologize to Dr. Schulz for this unseemly delay and emphasize that the delay, however unintended, has not detracted from the freshness of the insights he has provided.