The Glenans archipelago, on the coast the Southern
French Brittany, is a 50 years old sailing school,
funded just after World War Two.
The objective of this applet is twofold:
- demonstrate the basics of interplanetary navigation with solar sails,
- provide the opportunity to individuals or teams to compete friendly on the Net with the aim to propose the best maneuvering strategy for intercepting a planet or a small body (comet, asteroid).
In a near future (i.e. when this Java applet has been sufficiently
tested), mission targets will be regularly proposed, together
with constraints on the launch date, the interception distance
criterion and the performance of the sail. The Java application
will then be available for downloading, in order to be used as
a standalone software on the user's machine. In particular, it
will be possible to save output files and send back the solutions
on our server (for instance by pasting the text file in a message).
As a first stage, just to get familiarized with the beauty of
solar sailing, you are prompted to steer a mid size sail from
the Earth to the Mercury surroundings. Actually, it is not very
difficult, as the interception criterion has been set to 50 Millions
of kilometers. When you succeed, the award will be a dramatic
special effect on your screen (not yet implemented, even not defined.
Provisionally, the screen gets yellow...).
When starting the applet, the display is organized in 4 panels
From top to bottom:
To assess new trajectory possibilities from any past position slected this way, click on TUNE or SHOW button
To resume the run, click on START.
To resume, click on START.
Clicking the Tempo scrolling list will stop the run so press START to resume.
Clicking the Scale scrolling list will stop the run so press START to resume.
Changing any of the display choices will stop the run so press START to resume.
As the simulation is a projection in the ecliptic plane, there are only two settings parameters to be considered :
- the performance of the sail, which can be expressed in two ways (at least).
The first one is the S/M coefficient, that is the ratio between the sail surface (m2) and its mass (kg). A figure of 40, for instance, would characterize a 4000 m2 area sail with a mass of 100 kg, which is representative of the present state of art. The value for S/M can be selected by dragging the cursor between 0 and the maximum value. In a competition context, the maximum value is set by the server. Once the competition has been deselected, it is 100.
To set roughly the S/M value, drag the cursor. If you want to tune more precisely, click on the '+' or '-' signs in the upper right corner of the sub-panel. One click is one m2 /kg worth.
Below the cursor, the sail performance index is expressed using the second way. It is called lightness number and is the ratio of the Sun's photonic push by its gravitational pull, in the case when the sail is facing the Sun (maximum value). Both forces are varying with the inverse square of the range to the Sun, so this parameter is constant for a given sail all over the solar system.
The correspondance between S/M and lightness number is S/M 40 <=>lightness number 6%.
- the orientation of the sail normal with respect to the Sun, in the range [ -90°, +90°] which is symbolized by a yellow circle. To change roughly the value of this angle, click on the helm. To change step by step (1°), click on one of the small squares near the center of the helm (left one for decreasing, right one for increasing). A positive value of this angle (orange background of the helm) will create a tangential component of the acceleration opposite to the velocity of the sail so the trajectory trend will be to incurve sunwards. On the contrary, a negative angle (pink background) will produce an outwards trajectory.
The current value of the orientation angle is displayed in the
small rectangle on the right of the helm.
Any change on one of these two parameters triggers updates of
C and D panels, depending on the selected mode. For TUNE and SHOW,
a new trajectory is processed and displayed in green, with the
recalculation of all the trajectory set in the SHOW mode if the
S/M has been changed (be patient).The shadow from the Sun on the
framework of a possible window onboard the sail is displayed around
the panel D.
It is possible to modify the sail settings on the fly, without
stopping the run but this is not recommanded for comprehensive
This panel is made of 4 sub-panels. From top to bottom :
Departure date. This is transmitted by the server as the initial launch date for the competition. It cannot be changed.
Current date (Year-Month-Day). If the Tempo is too high, there can be some gaps between dates. Depending on the browser, you can find strange values : Netscape is one day ahead from Internet Explorer! For both of them, the year 2000 is the year 100 !!!
Number of days since departure. Can also be in error if Tempo is too high or if you click too nervously...
Distances, in millions of kilometers, between the sail and the
Sun, the sail and the Earth, and, when the competition mode is
active (cf Panel A), distance to the target and recall of the
The sky background is represented (presently only the Sun and
when visible, the Earth) as seen through a hemispheric porthole.
The sub-panel 'sail control' displays the numerical values of the radial (r subscript) and tangential (t subscript) of the vectors velocity (in meter per second) and acceleration (in hundredth of mm/s).
The content of this sub-panel is related to the last calculated
position of the sail and not to the current position. This values
are meaningful only when the applet is running.
In the sub-panel 'sail orientation', the left hand side diagram is related to acceleration and the right to velocity. For both, the direction of the Sun is materialized with a yellow disk.
The modulus of the acceleration vector is varying with the sun aspect angle as a cos2 function. The droplet curve is the plot of this function. The vector itself is in red, its components are in orange or pink according to the sign of the orientation angle (see panel B explanations).
The velocity diagram displays the same way the components of the
- Check that the TEMPO parameter is well matched with your computer configuration. To perform a first verification, just start the run (START), whatever the sail settings are. Watch the evolution of the date and number of days in the panel C. If you notice a chaotic evolution with meaningless values, then reduce the tempo and start again.
- To check more precisely, set the S/M setting to zero or the sun angle to + or - 90°. The orbit then should be purely ballistic so, after 365 days, the sail and the Earth should retrieve an identical position and their distance in the C panel should be zero. As the initial condition on the sail velocity corresponds to the average angular velocity of the Earth, the sail will not remain exactly on the same position than the Earth all over the orbit. On the first months, the sail is leading (up to 7 Millions of km) then, after about 6 months, it is passed by the Earth. After one year, both are again colocated.
- In any circumstance, keep cool.
- Before clicking anywhere, check the requested mode corresponding to the previous click, has been taken into account by the program (see panel A)..
- Avoid to have too many windows or applications opened simultaneously. This applet is capable to block your computer ...
- The mode SHOW is requiring time and can block the system. Be careful.
- With the Netscape browser (on Apple at least) the date is one day in error.
- The Year 2000 problem has not been a major concern for the Java designers. We are sent back to the Trajan era...
- There is a limit of 1000 days for the simulation. What happens after is not defined.
- Depending on the browser and the operating system, the layout can be different (size, colour, background...) This applet has been tested only on Apple PowerPC using Netscape 3.0 and Internet Explorer 3.0 and on a PC under windows 95 with Netscape 3.0. If you notice any strange behaviour or look, please send a mail.
- The velocity diagram (panel C) is not correctly initialized. After starting the run, it comes back to a correct diaplay.
- fixing the noticed bugs (use the link below the access counter for feed back).
- replace the present display of a yellow screen by a more impressive scenery to announce that the target has been intercepted.
- improve the representativity of the sky backgroun in panel C by adding the brightest stars
- all the displays are in 2D (the out of plane coordinates are calculated but just ignored). A 3D display could be more interesting.
- add some asteroids to the list of planets. If a 3D version is programmed, some comets could be added too.
- provide more navigation help by diaplaying on request orbit parameters...
- provide the capacity to use this Java applet as a standalone application, in order to let users test more cases without connecting to the server. An additional advantage will be that output files can be written on the user's machine and sent back to our server, by e-mail. This is how the race will be operated routinely. This new version is presently under test and will be released once the main reported bugs have been fixed (within a few months). If you want to receive an e-mail when this version is available, send a mail with 'Entry registration' in the subject line.
The programme has been written on a Mac PowerPC, using JDK 1.0.2 provided with the MacMillan book on Java (French edition).
This help page has been written with Wor6 Internet Assistant for Mac.
The only accelerations that are taken into account for calculation are the gravitational pull from the Sun and the photonic pressure which is exerted on the sail. No gravitational force from planets are considered. Using the gravitational assist of a planet for navigation is not possible in this simulation.
The numerical integration for the sail state vector is a Runge Kutta 4th order algorithm, with a one day constant step.
The realization of this virtual solar sail race has benefited from the previous works of :
I wish that this list will get longer, since a lot of work has
still to be done, as you can see. If you are fluent in Java and
feel like giving a hand, you are welcome. Contact me.