r=100v1=10 v2=0 m1=1 m2=7 F=200 dv1=1 dv2=1 dt=0.001 count=0 ET=0; printf(" %d %d %d %f\n", r,dv1,dv2,m1*v1^2/2); while (r<=100) dv1=(-F*dt)/(m1*r^2); dv2=(F*dt)/(m2*r^2); r=r-v1*dt+v2*dt; v1=v1+dv1; v2=v2+dv2; count=count+1; mv1=m1*v1; mv2=m2*v2; e1=(m1*v1^2)/2; e2=(m2*v2^2)/2; ET=e1+e2;printf(" Radius=%f Vel1=%f Vel2=%f count=%d mv1=%f mv2=%f e1=%f e2=%f MVT=%f ET=%f\r", r,v1,v2,count,mv1,mv2,e1,e2,(mv1+mv2),(abs(e1)+abs(e2)));
endwhile
This is some octave code to check whether 1=1. In 1960 this would have consumed the entire CPU nanoseconds allocated to my entire class. It would also have printed out on an IBM 1403 printer and created a heck of a mess. Luckily I did not have to make a card deck for it.
This represents the relationship of potential energy, kinetic energy and momentum in an elastic collision. It is the foundational relationship for virtually all interactions of matter. If one considers the absorption and storing of energy or its conversion it is more universal. In this program I compute the change in velocity, and radius with respect to time. The print out uses the escape code \r to generate a carriage return without a line feed. If this had been 1403 print out, I would have chewed the paper to shreds and led to some printer maintenance.
It is an interesting program because it demonstrates the interaction of momentum and energy in a collision and how the Σ of energy and momentum interact. Energy does change throughout the process, but momentum is always constant. The location of the energy is changed. As a result the energy is distributed in the system in very specific ways. Jimmy Maxwell did a lot of analysis of this type of system. I was going to do a probability analysis using Markov matrices to analyze the process for dark corners and a little game of superconducting gravity.
I added some bits to graph it using a data file and gnuplot in preparation for the really difficult graphs of relativistic interactions including gravity and assuming an event horizon with angular momentum. I used to do this with a 110 baud line printer and an 8085 CPU running ISIS with 8" disks and a CPU clock of 1 MHZ and 32k of ram. ISIS hadn't yet become CP/M or MSDOS then. Then, I did it all in ASM since that is all we had. This is a lot easier.
0 comments:
Post a Comment