Readme.txt

16th September 2001

Welcome to my Water Rocket Computer Model (V4.41). You will, no doubt, 
devote an inordinate amount of time to playing with this to the 
detriment of your life and everyone that you come in contact with 
(none of which I can be held responsible for).

Licensing details are at the bottom of this document - if you have 
already registered, you need not do so again.

-V4.41- 16th September 2001
I have changed the length of data storage in the array (sounds 
technical) so that it takes up less memory. This should allow anyone
who has had some problems with memory to use the program fully.

I have also made it so that the print report option cannot write over
the readpal.txt file.

-V4.40- 9th January 2001
This version allows the user to have more control over the colour 
palettes used in the 3D Optimisation. The program works exactly the 
same as v4.31 except that when you press spacebar in the 3D 
optimisation, the palettes that you flick through are the ones defined
in the "Rocketpl.ord" file. This is just a list of palette files 
(*.rkp) in the order in which they will appear in the WRCM.

The 10 palette files that you download with the WRCM, are the same as 
the palettes that were with V4.31 except that now, each is a separate,
editable entity. If you only download the WRCM, you will get the fully 
functional WRCM as version 4.31 with its ten palettes. However, if you 
also download the palette editor (WRCMPAL), you get another 20 palette 
files, ready made (some extra colour schemes and some that show how 
you can use contours to define useful areas of optimisation) along 
with the palette editor. This should allow students more flexibility
and individuality with school projects. You can also taylor the files
so that you use less printing resources.

The palette editor checks the integrity of the files used by the WRCM
and allows you to add, delete and order the files in the WRCM list. 
It also allows you to copy, edit and create new palette files using 
any colour scheme you wish. These may also be added to the WRCM list 
in exactly the same way. All you need to do is to download and expand 
the palette editor program (WRCMPAL) into the same working directory as
the WRCM itself and then run it.

The main form is fairly straight forward, allowing you to drag files
into and out of the list and order them in the selected list. The 
editor screen (where you edit the colours themselves) has context 
sensitive help on it that appears when you put the mouse over a 
control. Full details are in the "readpal.text" file with the palette 
editor program.

NOTE. If you are thinking of using the palette editor, you will need 
version 4.40 or later of the WRCM or it will have no effect.

-V4.31- 19th December 2000
I corrected a letter "s" in the code (I blame the kittens) so that the
Novice version works again.

-V4.30- 18th November 2000
I have added "Dart" functionality to the computer model. A dart is a 
passive projectile that generates no thrust on its own. It depends upon 
the initial height, angle and velocity to determine its flight.
Examples are golf balls, artillery shells and the dart second stage to
the water rocket. All you have to do to define a dart is finish the 
rocket description with the word "dart" (not case dependent so "DART"
or "DaRt" are valid as is the word "indart" - ending with the four 
characters "dart". However, "darts" will not because the last four
characters are "arts".

The two stage optimisation for dart lets the computer model change the
weight of the dart if you want and it will optimise the booster for 
highest speed but that is all. There is a peculiarity with a low or 
zero impulse second stage in that optimisations become divergent, that 
is, they run away from the optimum by increasing the weight of the 
second stage without recalculating the speed so this model counters 
that by recalculating the booster for each new weight. Normally, the 
performance of the sustainer would be impacted so much by increasing 
its weight that the process would be convergent when there was a second 
stage impulse.

-V4.25- 17th October 2000
Made 2 changes to the sim. These make only minimal differences to 
"normal" water rockets.

Taken into account the axial velocity of the water inside the water 
rocket so it will model larger nozzle diameters (in relation to rocket
diameters) better. Instead of seeing very large accelerations and 
altitudes when d approaches D you will now see smaller ones. 

Taken into account the acceleration of the rocket providing extra head 
of pressure at the nozzle in the early stages of the water thrust 
phase. This is only a small effect and therefore it makes no 
assumptions about the shape of the bottle near to the nozzle (a conical 
neck giving a greater head than a torospheric neck) and does not 
include the volume of the launch tube within the water. This latter 
case only starts to affect the calculation when the launch tube takes 
up a significant proportion of the width of the rocket pressure vessel 
and then that raises issues of how the water flows down over the end of 
the launch tube during launch. In this case, the model is probably not 
going to give a very accurate result anyway so it is not worth getting 
it to do the extra calculations that would take time anyway (when you 
are doing a thousand in the 3D optimisation, it would make it take 
longer for not a very useful application of calculating time).

These two effects tend to cancel each other out, there being only a 
difference on the default rocket (just press calculate) of around one 
metre but when you stray away from the default rocket, they can have an 
effect.

-V4.24- 3rd August 2000
Changed the units on the 3D optimisation for the nozzle diameter to mm.
Was cm^3 - oops.

-V4.23- 11th January 2000
I have added the ability to optimise for distance downrange for 2 stage
rockets. You can now change the angle of the launch and optimise 
without leaving the 2 stage panel.

I have made sure that if the weight of the sustainer is being optimised 
and the lower limit is set higher than the mass of the sustainer, the 
sustainer weight is updated so that it starts off at the new, lower 
limit.

I have extended the input functionality of the Environmental Variables 
section by using letters for the input of common values. For example, 
pressing `a' at the Gamma of Gas in Rocket will change its value to 
that of air. Similarly with that of Density of Gas in Rocket - the two 
are linked. With the Gas in the Rocket variables, you can change them 
both by pressing the uppercase letter so, for instance, pressing `E' 
will change the Gamma and the density at the same time. All of the 
Environmental variables except Atmospheric Pressure have this extra 
functionality (although only the first two are linked by using upper 
case) and the letters are given in the help in the upper-right help 
panel.

-V4.22- 15th December 1999
Added an option on the 2 Stage optimisation to allow simple running in 
addition to optimisation. Now, two files can be run together as a 2 
stage rocket without the files being optimised or saved. This makes 
things quicker if you just want to check a result or if you want to see 
the effect of changing a parameter such as pressure or water level.

Also added the two pressure valve version of the expanding tube type of 
deployment mechanism allowing the user to tell the computer the passing 
pressure of the second valve. Diagrams and explanations are in the HTML 
help files.

-V4.21- 8th October 1999
Changed the deployment method definitions in the second stage 
optimisation section. The user chooses between crushing sleeve and 
expanding tube methods. 

* For the crushing sleeve, the user defines the pressure that is 
required to deploy the device (assemble it, pressurise it to a known 
pressure and release the pressure in the lower section (this need not 
be done with a rocket - spare bottles will do). The pressure that this 
goes at is the pressure that the booster and sustainer lose their 
grip). The user also defines the diameter of the outside of the nozzle 
assembly - the pressure on this may be enough to overcome the force 
caused by the acceleration of the sustainer section.

* For the expanding tube release mechanism, the user defines the 
diameter of the inside of the nozzle - representing the area that the 
sustainer can use for release force - and the pressure difference that 
is used to inflate the expanding tube. 

In the crushing sleeve mechanism, the pressure is the same in the 
booster and the sustainer whereas in the expanding tube mechanism, the 
pressure in the sustainer is lower than the booster by the inflating 
pressure. The model reflects this.

-V4.20- 4th October 1999
I have added a 2 Stage optimisation. Having created the sustainer and 
booster files (note that the weight of the booster should NOT include 
the weight of the sustainer and the water), an iterative process can be 
initiated that finds the optimum nozzle diameter, rocket weight and 
water weight for the sustainer and the optimum water weight for the 
booster. This process uses the results from the two files to feed into 
the other of the pair (optimising the weight of water alters the 
demands on the booster and altering the booster changes the initial 
conditions for the sustainer). All the user does is create the two 
files and keeps pressing Calculate until the height result becomes 
reasonably constant (this happens fairly quickly). Sustainer Nozzle 
diameter and rocket weight are optional and a lower limit may be set 
for the latter if that is being optimised. A detailed explanation of 
this, complete with example, is in the HTML help.

-V4.11- 3rd October 1999
I have added a Wizard to the Novice version of the model (selectable by 
choosing Novice at the intro screen). This allows the user that is not 
entirely sure of the meaning of the data fields (such as pupils at 
junior school age (7 to 11)) to make measurements and enter the data in 
a meaningful way.

-V4.10- 24th September 1999
I have added a printout button. This will either print out a document
(text only so it will work with dot-matrix printers, ink-jets, laser
printers and so on that will take text only output or, if you are 
running the computer model from a DOS box in Windows, it should print 
to any properly installed printer. See your operating system and 
printer manuals for details if you have any problems) or print the 
document to a text file. The print form supplies a default filename in 
the form "WRCM????.TXT" where ???? is a number from 0001 to 9999. It 
always prints out the number after the highest number that it found so,
when it gets to 9999, the next number will be 0000 (this is 10000 
without the leading 1 so, as this is the highest number it will only 
print out to a file with the number 0000. This `feature' allows you to 
print always to file number 0000 (defaulting to `append') so if you 
just want to create one file then you can. You can edit the file name 
completely if you wish although it will not allow you to use the names 
`Readme' and `Read1st' as they are reserved. The output device is 
remembered by the program in the zero-length cfg file.

I have changed the Adopt procedure in the case of hollow launch tube 
optimisations in that now, it updates the length of tube empty to the 
new value.

I have made the time for the air impulse follow the (square of the) 
diameter of the nozzle or t-nozzle, the volume of air in the rocket and 
the pressure so that the optimisations follow a more meaningful path. 
In addition, the adopt procedure takes the value.

Have made the chute opening during the water thrust phase an error.

Have corrected the 3D optimisation fault that allowed you (should you 
be so inclined) to change the timer deployment time if the timer was 
selected as the deployment method but the parachute was subsequently 
disabled. Now you cannot optimise against timer time unless a parachute 
is enabled. (If anyone comes across anything like this then let me know 
because, even though it doesn't affect the correctness of model, it 
should not occur.)

-V4.02- 10th September 1999
In the high resolution graphs, I have added the colour of the current 
phase of flight (on the launch tube, parachute deploying and so on) to
the colour of the numerical output during real-time playback.

Have weeded out some superfluous recording which should give a little 
longer to record if you are going to the limit and, I have changed the 
position of the recording during the launch tube/water thrust phase so 
that the time is updated before recording (this changes the duration by
a few milliseconds but gives a straighter line on the graph against 
time - only the recording of the time in this phase is changed, not the 
results).

Changed the end detection method in the launch tube option.

-V4.01- 6th September 1999
Added the time and height/velocity/acceleration values for the mouse 
position on the quick graphs.

Altered the quick graphs' routine so that when they are selected, they 
are on the last page that they were set on so if you last looked at the 
statistics and then went to look at something else, on coming back to 
the quick graphs, you will see the statistics again without having to 
re-select them.

Corrected the height on the high resolution graphs when feet are 
selected as the height units and the height does not go down to zero.
Under normal circumstances, this should not be noticed but if you are 
using feet and studying the first part of the flight in detail (someone 
somewhere will probably try to do this) the height scale on the left is 
erroneous in the high resolution graph (the low resolution, quick 
graphs are not affected).

-V4.00- 3rd June 1999
Added a Zoom button to the 3D graphs so that you can zoom in on a 
particular area of interest. Having clicked on the button or pressed 
`Z', just click the mouse in the lower left corner of the area of 
interest (a marker will appear in that cell) and then click again in 
the upper right corner. The new limits will be copied into the limits 
on the 3D form and you will automatically be taken to the new 3D view.

Also, to the 3D graphs, I have added an error message where 
appropriate. Instead of the message `error' appearing in the top right 
whenever the cursor is over a x/y combination that generated an error, 
a more descriptive message will appear that should give you some idea 
of why a failure occurred. `Low Pressure', `Low Water', `Small Nozzle', 
`Hole Position', `Short L/T', `L/T Diameter', `Large T-Nozzle' and so 
on.

I have added an Adopt feature that allows you to use the x and y values 
of the cursor (wherever you put it) to be inserted into the appropriate 
input parameters in the input parameters form and on the 3D form.

The fill feature now allows you to fill individual rows or columns 
according to how you have your graph sliced. On pressing Zoom, the 
cursor will change and you can choose which column or row to fill. If 
you are working in ordinary mode when pressing fill, it will fill in 
the normal way.

The search feature now moves the mouse along with the maximum found 
value on current search and I have included `1' as a number of points 
on x or y axis so that only one value may be looked at as an option. 
Moving the cursor with the maximum value like this means that you can 
do a search and if the value is close to the edge of the graph, you can 
simply press [A] to adopt and then enter again without having to move 
the mouse if you are working full screen.

On the Main Graphs, you get a `play' button in the bottom right of the 
screen that allows you to run through the simulation in real time. This 
allows you to see the flight of the rocket (mouse cross-hairs) in real 
time so you can see better how the chosen parameters relate to time.
Pressing any key or clicking the mouse will stop it and return the 
mouse to the play button or wherever it was if you pressed [P] to play.

Parachute release option for deployment via a specified time. Allows 
you to specify the time after launch to deploy the parachute. 
Deployment distance is as before - ie, specifying the distance that a 
chute takes to deploy fully. This parameter is also featured on the 3D 
graphs as an input parameter.

Angle of launch parameter. Specify the angle of a launch as an angle of 
elevation, ie, straight up is 90 degrees. Angle is included as an input 
parameter on the 3D graphs. The speed of the rocket at apogee is also 
given as this can affect the performance of NSA deployment methods 
based on air pressure.

In addition, downrange distance is included in the statistics for 
apogee and touchdown with downrange distance included as a parameter on 
the main graphs as well as an output parameter on the 3D graphs.

Further, angle of flight is added as an output parameter for the main 
graphs. This allows you to see the angle of the flight at particular 
stages in the flight and see why even steep launch angles can produce 
long downrange distances with small nozzles.

Also, Equivalent Motor is included in the statistics - based upon the 
total impulse from the flight (launch tube + water + air) giving a 
better picture of what it going on (or rather how much :-).

In addition to this, I have added kinetic and potential energy values 
on the statistics page at end of air impulse, apogee, and touchdown.

Position of holes in launch rod is also added. When using a T-nozzle, 
it is a good idea to block up the end so that you can mount the nozzle 
in the bottle on the end of the launch tube and so that the nozzle is 
not blown off the end of the launch tube when pressurising the rocket 
prior to launch. Drilling holes in the side of the launch tube allows 
this but the reservoir of gas inside the launch tube is lost to the 
rocket when the nozzle passes them during launch. Ideally, they should 
be as close to the end of the launch tube as possible but the position 
does have some effect so I have included the position as another 
variable. Note that the nozzle of the rocket will cut off the holes 
before the rocket reaches the end of the launch tube so add this 
distance (the distance between the end of the nozzle and the place 
where the nozzle narrows enough to block off the holes) in as well.

A start screen is included for the hedonistic rocketeer. There is an 
option to go straight into the intro screen next time around. On the 
intro screen, there are options to have your pressure in psi instead of 
Bar, height in feet instead of metres, opt to have the start screen the 
next time around (if you got rid of it by mistake) and, an option to 
have a cut-down `novice' level or full-featured `expert' level for 
those of us who want to know how high it would go on the Moon and so 
on. The `novice' level basically misses out all of the more `involved' 
parameters that, under normal circumstances, you can ignore - the whole 
Environmental section goes for instance. Any of these options can be 
changed each time you load up. Simply pressing Enter wil get you to the 
rocket sim. (Thanks to Bruce Johnson for suggestions on simplifying the 
model).

-V3.21- 24th May 1999
Added vertical and horizontal splitting to the 3D graphs. This allows 
you to see the maximum of each row or colums regardless of whether or 
not it contains the highest value in the whole plot.

Added some extra colour sets to the 3D graphs which may be selected by 
pressing the [SpaceBar].

Added a few test files to demonstrate the improvement in height 
performance when using a launch tube and then, in addition, using a 
t-nozzle.

-V3.2- 21st May 1999
Added a search facility to the 3D graphics. Click on Search or press S 
and then click the mouse on an empty cell. The search routine will then 
look around and find a route that gives it higher and higher values of 
whichever output value you are looking at (height, altitude and so on).
The detail that this routine looks at is very fine so if you have a 
coarse calculation time slice (say 10ms) it will see the aberrations 
that can appear in the output so be aware of this and perhaps run 
another, confirmatory search from another direction. This routine works 
fairly well and will usually find a maximum quite quickly but if you 
want to be really sure, look at individual cells by clicking on them - 
just putting the mouse over a cell will give the z axis result above 
the z axis scale on the right. As always, have a play with it to 
familiarise yourself with the way that it works.

-V3.1- 27th March 1999
Added the ability to change through all of the output parameters on the 
3D graphs without having to recalculate the ranges thus speeding up 
viewing all of the optima by a factor of five.

Added the option of changing the time slice for post impulse flight. 
This allows this part of flight to be evaluated in 1, 2, 5 and 10ms 
chunks instead of just 1ms as previously. For the calculation of flight 
times on the 3D model, the speed is noticeable as up to 400 points may 
be plotted. Selecting 10ms allows this calculation time to be cut by 
almost 90%. This is fine for finding the areas of best performance but 
integration errors can start to creep into the results - these manifest 
themselves as different times for apogee (and therefore different 
heights as well) and touch-down and as a result can lead to curious 
patterns on the 3D plots. These aberrations represent only a small 
deviation in most instances but it pays to be aware of what causes 
them and how to remove them when required. 

Making model time-slice a variable has the advantage of making rough 
calculations many times quicker and will show you which areas you 
should be working in but if you are using the model output as part of 
an assessment for school/college/university, you should make your final 
adjustments using the 1ms option which only gives small aberrations on 
short times (a time to apogee of only 2 seconds will not have many 10ms 
segments to it and therefore, aberrations will show themselves - it may 
be worth having a go at this to see what they look like (to see them 
easier, slide the Z scale on the right to see the colours flood across 
the graph))

Made the time frame - time slice, recording time interval and time 
limit - open to editing without first having to press a non-numeric key 
on one of the other variable text-boxes thus making it easier to change 
these numbers.

Found and cured an error in the hollow launch tube pressure. This now 
works correctly.

Added the extra parameters to the file system. Regarding compatibility, 
Version 3.1 will read version 3.0 files without error - the time slice 
is set to 1ms - but will only save them as version 3.1 files. Version 
3.0 will be able to read these but only save a version 3.0 file.

-V3.0- 5th March 1999
Added 3 dimensional graphics allowing you to compare an output such as 
maximum height, maximum velocity and so on, against two input variables 
such as weight of empty rocket and weight of water. The output is in 
the form of a colour-scaled chart with a scale up the right hand side 
of the graph. The distribution of the values between the maximum and 
minimum values on the z chart may be changed by clicking the mouse on 
the scale - moving it with the button pressed to see the scale change. 
This allows the easy viewing of optimum conditions for the flights.

The number of points on the a and y axis may be varied and the upper 
and lower limits may be change and even inverted to produce a 
descending scale if required. The graphs may be viewed against a black 
or white background with the colour ranges changing as appropriate.

The graph will fill automatically by pressing `F', filling randomly so 
that you will not have to wait for the entire graph to be filled as you 
would if it was filled in a raster pattern. In addition, cells may be 
calculated by clicking on the cell with the mouse. The mouse cursor 
changes to a rocket during calculation and back again afterwards - this 
letting you know that a calculation is proceeding. Calculations that 
lead to a failure such as pressure falling below atmospheric because of 
too much liquid lead to a bubble appearing in the graph to let you 
know.

Putting the mouse cursor on a cell that has been calculated will give 
the actual result above the z axis colour bar.

-V2.2- 1st March 1999
Added better file management by allowing different file names as well 
as a description for each file - this being viewable before loading a 
new file. Now it is possible to have several configurations on the go 
at the same time without having to remember the values for the 
parameters.

Added a hollow launch tube with an option for defining the length of 
tube that is full of air - it being possible to have this length longer
than the amount inserted into the rocket as with some launchers. Note 
that too much length will give too high a result as it can take time 
for the effects of air flow to get to the nozzle, as indeed it does
if there are only small holes in the launch tube. The model assumes 
that the holes are near to the top of the launch tube so that the 
effect will occur all of the way to the top of the tube. If the holes 
are not near to the top, or the tube has small holes, or is long (look 
at the amount of time that the nozzle is on the tube and remember that 
sound travels through air at about 330 m/s) then shorten the length of 
empty tube to reflect this.

Added an option to have a white background on the graphs. This means 
that it is possible to print-screen without having to negative the 
image first thus saving on ink or toner.

-V2.1- 9th February 1999
The update from V2.0 to 2.1 is that I have added a launch tube that 
goes inside the rocket on the launcher and adds some extra impulse 
without losing too much water in the process. 

In addition to this, I have added a T-Nozzle which, whilst on the 
launcher, sits on the end of the launch tube, and at launch, engages in 
the nozzle in order to reduce the diameter of the nozzle. Doing this 
has the advantage of allowing a full diameter launch tube whilst taking 
advantage of the lower diameter nozzle in the same way that a sustainer 
does in a multistage water rocket.

-V2.0- 8th February 1999
The update between V2.0 and v1.1 is that I have added a parachute and 
the air impulse (thanks to Bruce Berggren for the equation). In 
addition, I have added some graphs that use the text based interface as 
well as including higher resolution graphics (now VGA - I don't think 
that anyone using the Internet will be using a machine old enough to 
have just EGA graphics on it) which now include a mouse and the 
co-ordinates of the mouse in the appropriate units. 

Another improvement is that it does not cache the data on disc but 
instead saves samples of it in memory thus making it all faster to use. 
Although all calculations after the water impulse are performed at 1ms 
intervals (the water is calculated on a 1% of mass increment so that 
there are no bits left over) the recording interval can be set as 
appropriate with increased sample rates being imposed over the early 
part of the flight. These two features combined allow the studying of 
the first part of a longer flight in more detail than before. 

A further safeguard is that a time limit can be set for the total time 
of the flight so as to preclude the model from performing endless 
calculations should something be set inappropriately.

==================================================================

You are free to distribute the original, unaltered zip file at no cost. 
Modifying any of the contents is strictly forbidden.

This program is distributed as Postcardware, that is to say that the 
copyright remains wholly the property of me, the author, and if you 
find that you cannot stop playing with it or would like to register it 
anyway, you should, if you are not to live a meaningless life of guilt, 
send me a picture postcard (the postcard being of the nearest place to 
where you live or where the model is in use). If you have already 
registered an earlier version, there is no need to re-register.

If this is for use in an educational establishment, just say so and how
many machines it is installed on. 

This software can be installed on as many machines as you like but let 
me know how many.

If you can, put some nice stamps on the post card.

Send the post card to . . .

Paul Grosse
71 Glengarry Way
Sinfin
Derby DE24 9NP
UK

==================================================================

If you have any comments suggestions or bugs to report about the model, 
write to me at pagrosse@compuserve.com and I will try to take them into 
account (or iron them out) before the next version.

Enjoy playing with the model (just think of all of that time you will 
save) and try to send me a postcard to the above address before your 
life falls apart through neglect.

Paul Grosse.
Author of Water Rocket Computer Model.