stephenbrooks.orgMuon1 Distributed Particle Accelerator DesignVersion History
muon1/ icon

Version History

Version History                                                            

- - - [4.46] - - -

Added windowed graphical mode.  Lots of minor bug fixes and tweaks.

- - - [4.45] - - -

Major improvements: removed a source of 'noise' from the previous versions, so the muon yields ought to be much more accurate and useful for the optimiser.  Converted the graphics in muon1.exe and viewresults.exe to use OpenGL rather than DirectDraw, which enables running via WINE on the Mac and stops palette corruption issues in Windows Vista/7 because it now uses true colour rather than 8-bit mode.

- - - [4.44e] - - -

I found that the information about whether an HTTP proxy is being used is stored in the Windows registry, so there is now no longer any need to have that specified manually in config.txt any more.  This version was released but turned out to be significantly slower than the previous version, so was taken down.

- - - [4.44d] - - -

This version is primarily for bug fixes, but I have also improved the load balancing on multi-CPU systems and allowed Muon1 to send in results more frequently on optimisations that have short genomes (50 results in results.txt triggers a send as well as hitting 100`000 bytes).  Bugs fixed are:

- - - [4.44c] - - -

This version has removed one cause of the -2%/0Mpts bug (updating of config.txt) and stands a chance of removing the other.  Performance is still not ideal, though the slowness of reparsing results during a send has been fixed.

- - - [4.44b] - - -

The last version didn't fix the -2%/0Mpts false result bug and this one might not either.  However, I have fixed a substantial memory leak introduced in v4.44, removed some redundant memory allocation code and turned off the compiler "optimisation" switch that I think was causing compatibility problems on older machines.  The number of remaining retries while sending a large results file is now incremented by 2 not 1 on a successful part-upload, so it should send the whole thing more often.  Finally, the commandline version shouldn't update the time elapsed quite so madly near the end of a simulation.

- - - [4.44a] - - -

In the spirit of "patch early and patch often", here is a version of Muon1 that has a bug related to reading queued results fixed.  Problems with particle leaks some of you have been experiencing have been remedied with new lattices with an 'a' suffix (PhaseRotEby5a, PhaseRotEb6a and PhaseRotEb1a).  There is also a minor fix to the default genome-proportions setting in the configuration file.

- - - [4.44] - - -

A variety of features and bug fixes in this release, which is mainly for maintenance and bringing the code up to date.  It includes a more accurate collision detection algorithm so simulations may take longer to complete but will also register more Mpts.  Other new features:

Bug fixes:

Finally note that there is the new file muon1startup.exe for automatically putting a shortcut to the background-running Muon1 in the Startup folder.

- - - [4.43d] - - -

Most importantly, this version corrects a problem that was making the genetic algorithm slow to converge.  There were also some smaller bug fixes:

- - - [4.43c] - - -

Fixed a bug in v4.43b where binary format sample files were not converted.  There are also now commandline switches -bintotxt and -txttobin to convert files manually (use muon1 -?  to see commandline help).

- - - [4.43b] - - -

Two bugs fixed: loading an autosave file did not set the proximity data correctly before, and sample files are now downloaded to the correct filename so that Muon1 can read them.

- - - [4.43a] - - -

Several bugs fixed in this version, including:

...and a few other miscellaneous/tidying up things.

- - - [4.43] - - -

In this version:

- - - [4.42c] - - -

The main change in this version is that the 'sub-scoring' for results that would otherwise score less than 0.1% muon yield has been changed slightly to be more continuous, so results on the edge of a criterion should not produce wildly-differing results under rechecking.
There have been three bug-fixes:

Viewresults.exe has also been debugged, with improved (faster) results file loading.

- - - [4.42b] - - -

Manual send is no longer broken.

- - - [4.42a] - - -

Fixed a bug whereby the graphical version entered an infinite loop at the end of the simulation when all particles had finished.  Viewresults.exe has also been modified so it does not re-read the whole results file when you change mode.  This version is also provided as a patch from the previous (v4.42) one, to save on download size.

- - - [4.42] - - -

A new lattice PhaseRotC is included that simulates starting from a new distribution of pions, which are produced using 10GeV protons instead of 2.2GeV.  The pion-per-proton efficiency is higher at this energy, so the overall efficiency of this scheme could end up being higher even if the muon capture percentages are lower.  A minor new feature in this release is the 'auto' option for screen resolution, which sets it to the highest supported resolution.

- - - [4.41f] - - -

The previous version has appeared stable for a week, so this becomes the new non-beta version that I will encourage everyone to use.  The reason I incremented the version number again is that I've put in a feature for autodetection of the number of threads needed, which should guess correctly on most platforms (including hyperthreaded ones).

- - - [4.41e] - - -

Bug fix for the same crash, which turned out to be in the initialisation of the magnet fieldmap.

- - - [4.41d] - - -

Bug fix for a crash in the magnet fieldmap interpolation routine.

- - - [4.41c] - - -

The previous version had a habit of downloading some of the sample files too many times (i.e. on every simulation) when multiple lattices were being used, so that behaviour is now fixed.  Particles also no longer 'leak out' of the chicane in ChicaneLinacB due to the accelerator bore not being set there in the previous version.  The time limit on the chicane lattices was changed because some of the longer possible linacs didn't have time for their particles to reach the end in only 500ns!  Finally, a crash with the uppercase -L switch was sorted out.

- - - [4.41b] - - -

Fixed the problem with autosave files not remembering the phases of the RF cavities.  Also fixed two fairly minor glitches with the initial particle weighting and the random number generator.

- - - [4.41a] - - -

As a bugfix to the last version, this corrects a glitch with the initial particle distribution that gave a few faster-than-light particles and caused the graphical output to filcker.  SolenoidsTo15cm now terminates after the standard 200ns instead of carrying on indefinitely, and I've included some easy-to-use batch files for configuring the program for machines with and without permanent internet connections.

- - - [4.41] - - -

In no particular order, this version includes:

- - - [4.4] - - -

The major thing about this version is the release of two new optimisations: ChicaneLinacA, which is the continuation of the chicane design explored in versions 4.2x, and PhaseRotA, which includes the next stage of an alternative design intended to lead into a cooling ring later on.
The new straight sections include accleration via RF (radiofrequency) cavities, in which an electromagnetic field oscillates to accelerate the particles periodically.  These are shown as orange/blue rings in the simulation.  Since this introduces a time dependency into the tracking, the particles must be released from the initial rod with time-delays to model the timespread in the incident proton beam, which is why the particles now start off 'stuck' to the rod and only 'boil off' later.
The scoring system has had to be changed slightly for the new optimisations, as it is now such a difficult task that the initial random designs probably will have a transmission of zero, so instead negative scores based on how far the furthest muons have travelled have been assigned to the lower simulations, enabling them to climb towards achieving transmission.
Results are now 'compressed' into a binary format before being sent, to save some bandwidth (and also because the new optimisations have more parameters - up to 500 in some cases).  This version also includes the fixes for memory leaks found in v4.34.

- - - [4.34] - - -

I've made one or two more optimisations that might improve speed in this version, particularly for multithreaded running.  To enable future research with this project to be conducted more quickly, this version synchronises the contents of your lattices folder with one on the internet every 12 hours (or when it can connect), enabling faster turnaround, although users with mostly-offline computers will still be credited for work done on "out-of-date" optimisations.  A few other minor things have been fixed, including the addition of a timeout so that the automatic FTP sending doesn't hang, but instead retries other servers.
An 'unannounced feature' in this version was the addition of about 6 new optimisation step types, to add to the four that were present since the original version 3.  Testing on a selection of problems here indicated that with the new steps, optimisation rates could be up to 70% faster... I was hoping to see some sort of kink in the purple (muon %) graph due to this, but the graph has actually gone flat(!) as it seems the current SolenoidsTo15cm optimisation must be near converging.

- - - [4.33a] - - -

Version 4.33 had a problem where sometimes only every 2nd queued result was done if you manually write a batch of them for it to do.  Also in that distribution, manualsend.exe ignored your FTP passive-mode preference in config.txt.  Those things are now fixed.  There is also the facility to substitute another commandline call for the default Windows FTP program that Muon1 uses, in case you prefer another method of sending results.
Oh, and did I mention 'speed optimisations'?  You may find this version of the program runs about 20% faster than previous ones, as I've improved some of the code.  On the other hand, you might not notice it.

- - - [4.33] - - -

The most noticable change to this version is the addition of a Muon1 screensaver that you can install to run the graphical version of the program while you are not using the computer.  Also useful is the ability to periodically download the newest sample files and the program automatically merges new results with your results.dat file.  I'm now going over to using 'v4.3x' as the FTP server directory so those maintaining the servers don't have to set the permissions on so many new folders.  Finally, of interest for advanced users (but primarily for my information), Muon1 now logs the kind of genetic algorithm step used to make a genome in the '#gen' pseudo-parameter.
Other than the above, there have just been a few small bugfixes, making the reading of results and queue.txt more reliable, etc.

- - - [4.32g] - - -

Yes, I know the version numbers of this are looking a lot like those of the THINK client (D/C in-joke...) but this one was a simple fix to a simple flaw: Muon1 no longer puts its testfile_ehfaeuorhr.txt things in the lattices directory while uploading, a behaviour of 4.32f that caused extreme instability if one got left over!

- - - [4.32f] - - -

A few bugs fixed, including 4.32e's habit of not noticing autosaved files.

- - - [4.32e] - - -

Many bug-fixes, relating to: memory faults, DirectX, testing results in queue.txt and the entering of usernames to create user.txt.  One notable thing is that now the program will recheck some results even if they are lower than the best result in the database, if that result has itself not been rechecked sufficiently (and hence cannot be trusted).
Also there are some new commandline switches, mostly for research purposes.  -l and -L will print out the component descriptions corresponding to the last genome in results.dat for a particular lattice (lattices can be specified at the commandline too, for instance muon1 -c solenoidsonly will run only SolenoidsOnly simulations at the commandline), where -L is verbose so additionally prints out absolute start and end coordinates for each component.  -r does a single run of the last result in results.dat and -R does this repeatedly until the user stops the program.  -q runs the result in the queue file until it is completed and then no more.  Warning: I haven't tested half of these, but I probably will do soon.

- - - [4.32d] - - -

This release includes a fix to the FTP results sender (so it doesn't leave test files on the server) and also hopefully has fixed a bug with some queued results being given inaccurate checksums and subsequently rejected.

- - - [4.32c] - - -

Uploads of results are now safer in the case of a read-only FTP server: a test file is both uploaded and downloaded from the server to ensure that it is functional.  This version also finally fixed the persistent problem of unwanted console windows appearing (supposed to be fixed in 4.32b).  Muon1_background is now an EXE again, which calls the main module silently through Windows.

- - - [4.32b] - - -

Fixed a bug in the autosave files, plus a glitch in Windows 98 where background mode didn't work.

- - - [4.32] - - -

Many minor things fixed and a few bugs corrected in this version.  One major difference is that there are no longer separately-compiled programs for running Muon1 in background and commandline mode.  Rather, you use -b and -c switches when running the single muon1.exe module to get these behaviours (batch files to do this are provided for convenience).
This version ships with a new optimisation script, SolenoidsTo15cm, which places a more realistic condition on the previous SolenoidsOnly optimisation, making it of more scientific value (I'm hoping to use its results in an update to my original report in a few weeks).  Both optimisations will run on this version if you put the relevant files in the lattices directory, but SolenoidsTo15cm won't run on 4.31c and below.
Manual seeding of results can be done legitimately with this version by adding one line of a result to queue.txt, with the second line just reading "TEST <SolenoidsTo15cm>".  This version also has the muons decaying, although this won't be very noticable over the current timescales (muons usually take thousands of nanoseconds to decay).
Finally, bugs were fixed so that the graphical version won't open to prompt you for a username if you've run the commandline version; there is a mechanism to stop queued results being accidentally sent as verified results; and viewresults.exe doesn't freeze for ages when loading a large (>5MB) data file, giving you a progress report instead.

- - - [4.31c] - - -

In this version the main bugfix is to the queuing system so that workunits don't jump out of the queue when they are reloaded from an autosave file.  I've also checksummed the autosave file so it can't be corrupted and then loaded to give a false result.  An issue with 'autogfx.sav.tmp' files and similar appearing has been solved.
Added to the config.txt file is an option to activate PASV (passive) mode FTP transfers if your ISP or firewall does not allow active mode.  Other than that, a minor bugfix to viewresults.exe and a correction to which version number manualsend.exe thinks it is.

- - - [4.31b] - - -

Corrected a potentially serious buffer-overrun error that might have been causing some crashes on people's machines.

- - - [4.31a] - - -

Fixed a bug in v4.31 whereby it refused to read results from other versions because I changed the checksumming routine and shouldn't have.

- - - [4.31] - - -

This version included a modification to the re-checking algorithm so that it excludes the highest and lowest values found in the retesting before averaging the remainder.  The point of this is to reduce the impact of extreme errors caused by computer malfunctions.
Also included are a couple of feature improvements: the config.txt file is now checked at the beginning of each simulation so you can change some settings without restarting the client, and queue.txt doesn't get gradually longer while filling with spaces.

- - - [4.3] - - -

New features:

- - - [4.21b] - - -

This sorts out the problems version 4.21a had when trying to send while offline and also makes it read the results.dat file (the old version just didn't seem to have a call to the appropriate function!).

- - - [4.21a] - - -

This version, containing several bugfixes, has an 'a' after it because I initially uploaded a not-fully-debugged version to the website and needed to distinguish the faulty results.  In this version,

- - - [4.2] - - -

I have changed many things in this new version, but the most notable two are as follows.  The optimiser now uses 135 variables rather than about 12 to specify the decay channel, meaning that a larger space of designs can be explored.  This also means the optimiser will hit very low scores to begin with but will gradually increase and will potentially go higher than in the last version by finding designs that hadn't been considered.  If the optimiser does 'stick' on very low results, I might try seeding it with the best results from the v4.1x run.  The second major improvement has been to the accuracy of the simulation: many more pion decays are simulated, meaning that a given design will not produce such a wide range of muon percentage scores (an effect that was compromising the v4.1x optimiser performance).  This also makes the units much slower to run, which is why I've included an auto-save feature in the middle of units, by default set to save every 3 minutes.

- - - [4.13] - - -

The main reason for this release is that I've been given a new, more accurate pi_plus.csv file.  I've also managed to reduce it in size (so a smaller download) and have made an optimisation to the collision detection in the program so it should run about 6% faster.  Muon1viewresults.exe now has an 'advanced' mode for displaying the sequence of designs the optimisation has tried as a 3D graph.

- - - [4.12] - - -

Fixed a bug whereby the genetic algorithm sometimes chose identical 'parent' designs, leading to repeats of designs being simulated.  Simplified some of the equations in the relativistic calculations because some of the terms could be algebraically cancelled with each other.  In the graphical version, the particles are now coloured according to energy and the keyboard keys ought to be slightly more responsive.  The F1 help screen is now extended to cover some of the newer keys.

- - - [4.11] - - -

When I updated the version to 4.1, I forgot to also recompile 'manualsend.exe', so any results uploaded manually from 4.1 will be counted as faulty 4.0x data and hence ignored.  Fortunately I can tell from a checksum which results came from 4.1, but that requires me manually sifting through all the results, which I would rather not do.

- - - [4.1] - - -

Another bug in the program meant that all results from versions 4.0x were incorrect due to the magnets being placed out-of-alignment in the simulation.  But I've fixed that now, hence the new version.

- - - [4.05] - - -

Added an option to turn off the automatic sending and a program to send the results manually if desired.  Also bundled an FTP program in case people don't have it in their Windows directory.

- - - [4.04] - - -

Fixed a bug with the "Background" priority mode (B) not showing up as this on the task manager.  Also have added an experimental multithreaded mode, although I don't know if this works properly on multiprocessor machines.  Well, then I found a bug in it, so went back to version 4.03 for several weeks.  Now I think I've fixed the SMP support and have also added automatic results sending and automatic upgrade notification!

- - - [4.03] - - -

I think the intermittant crash really _is_ fixed this time...  version appears to be stable.

- - - [4.02] - - -

Fixed what was causing the intermittant crash, but this in turn seems to be caused by an intermittant inability to find the pion CSV data file, which I don't understand, so the program still crashes, but this time with an error box explaining what happened.
I later added a config.txt file to the ZIPped package because if the user runs "viewresults" first, the config file it generates does not include information about the muon1_background task priority (only the screen resolution), hence if you then run the background version there is the possibility of a severe crash.  This possibility has now been eliminated unless the user manually deletes the config file and runs the results viewer again.

- - - [4.01] - - -

Fixed a bug whereby the apertures on the magnets were the wrong height, thereby giving falsely high muon percentages.  Also fixed a bug in the graphical version where it "freezes" for a few minutes at the start of a new run.  There is still a bug that is causing this program to crash after many hours of running (perhaps a buffer-overrun or memory-leak), so this version includes diagnostic code which should bring up a box of information about where the error has occurred.

- - - [4] - - -

This version now includes the second part of this segment of the accelerator (the S-shaped sequence of bending magnets).  Only the solenoid channel is varied, but the muon transfers are evaluated for going through both sections.

- - - [3.11] - - -

Now that I've got rid of the 500KB file-size limit on my website, I can upload the program with the entire 20`936-particle dataset that I was given, for greater accuracy.  The simulation runs will each take about twice as long to process, but they will also score about twice as much under 'number of particles simulated'.  This version has been ported to Linux.

- - - [3.1] - - -

Some bad news: there was a typo in the source-code for all the 3.0x versions, meaning that all the results were inaccurate.  Fortunately they weren't all complete rubbish, so the best100.txt file derived from these calculations is still a good place to start from (the bug was only in one parameter of the model).
About 90 minutes after uploading this the first time, I found a bug where it tries to load the data from 'pi_plus_entire.csv' and not 'pi_plus_10k.csv'.  If you have a version that does this, it will produce results with (4`000 particles) if it cannot find the file: you can fix this by either downloading it again or renaming the CSV file.
About 12 hours after I uploaded this I changed it so that the returned results files could be identified as coming from this version and not one of the previous ones.

- - - [3.05] - - -

An update to the Windows graphical version only.  You can now use Alt-Tab or the Windows key to minimise the program and then return to it again by Alt-Tabbing or clicking on its box on the taskbar.  I've also added support for viewing the simulation with red/green or red/blue stereo glasses - see the F1 help screen for details.

- - - [3.04] - - -

Another tweak to the genetic algorithm: I got the impression that the modification in version 3.02 made the program pay too little attention to its best ever result, so this version ought to improve the design a little faster.  I've also made the results viewer animated so you can see how the results build up as you move the mouse from side to side.  The algorithm tweak has also been ported to Linux.

- - - [3.03] - - -

An update for the Windows graphical version only.  It now displays the ratio of muons retained over original pions produced as a percentage.  It also shows the current length of the results file so you know whether it is too short to send.

- - - [3.02] - - -

The first few runs of version 3.01 showed that the program had a tendancy to get "stuck" with designs around 4.5% muon transmission.  This build uses a slightly different formula for one part of the calculation, which should add variety to the designs tested.

- - - [3.01] - - -

A bug-fix to version 3, which had some debug code left in it, causing it to crash after about 10 runs through the simulation.

- - - [3] - - -

Uses a genetic algorithm (artificial intelligence) to increase muon throughput instead of trying random designs.  Includes an option to set the priority of the background-running version.  Also varies the distance between the first two solenoids slightly.

- - - [2.01] - - -

A bug-fix to version 2, which leaked memory at about 10MB per hour.  This was the first version to be ported to the UNIX/Linux platform.

- - - [2] - - -

Includes a utility 'viewresults.exe' to display a graph of the results file, a file called 'config.txt' to change the screen resolution and a version of the program which runs in the background.  Also simulates more particles (10`000 instead of 2`500) for greater accuracy and alters the radii of some of the solenoids further down the beamline.

- - - [1] - - -

Original version, graphical-only, 2`500 particles simulated with only the strengths of the solenoids and the Z-axis position and rotation of the pion source being varied.

: contact : - - -
E-mail: sbstrudel characterstephenbrooks.org
Yahoo: scrutney_mallard
Jabber: stephenbrooksstrudel characterjabber.org
Twitter: stephenjbrooks11.90millionaccesses