Notice: Since January 2010, the parallel Astra version is maintained by Sascha Meykopff at DESY. The new site is found at http://tesla.desy.de/~meykopff/.
You can also contact Klaus Flöttmann for information on Astra in general. The download site for the traditional version of Astra is found at http://www.desy.de/~mpyflo/.
The information on the present website is no longer updated.
(2010-01-15)
A new Astra for parallel computing
The growing demand for complex particle tracking simulations makes it desirable to reduce the computing time of the simulation codes. A very cost-efficient way of accumulating computing power is to use clusters of inexpensive off-the-shelf computers. However, a parallelized version of the simulation code is required to make this kind of distributed computing possible.
Astra—A space charge tracking algorithm is a particle tracking code developed by Klaus Flöttmann and others. A version for parallel computing has been developed using the portable, freely available MPICH2 library by Argonne National Lab and the Mississippi State University.
The distributed Astra binaries can either be run as standalone applications using only a single processor (Astra infile) or in conjunction with an installed MPICH2 distribution on an arbitrary number N of processors (mpiexec –n N Astra infile).
A (heavily outdated) Powerpoint presentation giving some hints for users of the parallel version can be downloaded: ParallelizedAstra.ppt (894 KB)
Status of the project
The parallel version of Astra supports all the features of the single-processor version from January 2008, and some additional functions—for example, an improved aperture model that allows to describe complex geometries in XML files.
Up to now only the cylindrically symmetric space charge algorithm supports parallel computing. The 3-dimensional solver and 3-dimensional multi-grid solver are not yet supported, but can of course be used on a single processor.
Download
Binaries are available for Linux on the x86 (32 bit) and AMD64/em64t platforms, Sparc/Solaris, and for Windows 32 bit. Please let me know if you need a build for another system.
| Documentation: | |
|---|---|
| Astra manual | Astra user guide.pdf (2008/07/16, 464 kB) |
| Versions with full MPICH2 support: | |
| Linux x86 (32 bit) | astra-lin32.tar.gz (2008/07/16, 2.3 MB) |
| Linux AMD/Intel 64 | astra-lin64.tar.gz (2008/07/16, 2.2 MB) |
| Windows x86 (32 bit) | astra-win32.zip (2008/07/16, 5.1 MB) |
| Versions without MPICH2 support: | |
| Solaris 10 Sparc 64 bit | astra-sun64.tar.gz (2008/07/16, 2.0 MB) |
| Solaris 8 Sparc 64 bit (no longer supported) | astra-sun64-sol8.tar.gz (2008/07/09, 1.7 MB) |
Note: All of these archives contain a copy of the Astra manual in PDF format. To uncompress the .tar.gz archives, use tar -xvzf astra-*.tar.gz on the command line.
History
- 2008/07/16
- Bugfixes, new ApertureLib version with <cone> element.
- 2008/07/09
- Added documentation for XML apertures, performance boost for cathode emission without space charge, bugfixes.
- 2008/03/30
- Windows version working again, bugfixes for FEM fields, several minor changes and fixes.
- 2008/01/23
- Bugfixes for probe particle and lost particle output.
- 2007/12/14
- Enabled local emittance calculations in parallel runs (parameter local_emit). Thanks to J. Rowland for reminding us of this feature.
- 2007/11/27
- Minor bugfixes, new parameter for disabling space charge at a given beamline position (spch_zmax).
- 2007/10/31
- Bugfix for merging of grid cells. Thanks to C. Limborg for pointing out the problem.
- 2007/10/29
- Minor bugfixes.
- 2007/09/26
- Major release based on the current single processor version, including numerous bugfixes, new features, and an updated manual.
- 2007/05/03
- New 64 bit Linux binary based on MPICH2, bugfixes.
- 2007/04/27
- Bugfix for particles stuck in the cathode, minor improvements.
- 2007/02/22
- Support for rotated quadrupoles.
- 2007/01/04
- Improved file name handling, bugfixes.
- 2006/11/08
- Support for dipoles (enabled with VERSION=2 in NEWRUN).
- 2006/05/06
- The windows version is now based on MPICH2. Minor related bug fixes.
- 2006/02/13
- Corrected a bug concerning the generation of file names.
- 2006/02/09
- Fixed a bad bug in the probe particle code (symptoms: error message "MPI_RECV : Message truncated" and/or corrupted probe particle output files).
Conformance tests
Cross-checks between the original Astra version and the parallelized one are needed to ensure the correctness of the generated results. Some of the more prominent examples are documented here.
TTF2/VUV-FEL injector (by Yujong Kim)
A simulation of the TTF2/VUV-FEL injector by Yujong Kim has been done three times: once with the original Astra version, once with the parallelized version on a single processor, and once on 20 processors.
The full set of input and output files together with the used binaries is
available for download (12.1 MB each):
[original],
[parallel, 1 processor],
[parallel, 20 processors]
Screenshots of the final phase space distribution displayed in the Phase Space Viewer by Torsten Limberg et al., including values for RMS widths and emittances, and a PDF file with a high-resolution plot of the same distribution:


