(version 4.2 / December 1997 – J.Y. Prado/U3P)


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 :

– PANEL A : applet control

From top to bottom

  • radio buttons to choose the language, French or English.
  • COMPETITION button : when loaded, the applet is initialized in competition mode, meaning that a target is given (Mercury in this example) with a minimum range as the interception criterion (here 50 millions of kilometers – see panel C) and an upper limit for the sail performance (S/M < 40 m2/kg – see definition within Panel B explanations). As long as this button has not been deselected, the aimed planet is highlighted by a red rectangle in this panel and circled in the panel D, the current distance between the sail and the target is displayed in panel C, the maximum sail S/M is frozen (panel B).
  • 6 buttons for controlling the applet itself (MODES) :
  • HELP can be used to display in a provisional window some informations about the utilization of the last clicked button. It is then preferable to come back to this help page, which will be updated more frequently.
  • SHOW displays the set of possible trajectories from the current position / velocity parameters. The trajectories in yellow correspond to steering angles varying with respect to the Sun direction between -90 and +90 degrees, with a 10 degree step. The green trajectory is related to the current steering angle. Each trajectory is covers 360 days from the current date. Every 30 days, a red dash is displayed and every 60 days, the positions of the different trajectories are connected by a white line. It can be quite long to display all these plots, depending on your computer resources.
  • RESET gives the possibility to test a different steering strategy from a preceding epoch. Two possibilities:
    • start from the beginning by a two consecutive clicks on the button,
    • come back to a preceding epoch by clicking on the past trajectory (dotted line). The corresponding velocity of the clicked location is restored. It is possible to iterate backwards.

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.

  • TUNE suspends the run and shows the future path of the sail according to the current S/M parameter and steering angle. The trajectory is extrapolated for 360 days, with a one day step. It appears in green, with a red dash every 30 days. After selecting this mode, it is possible to modify the settings of the sail (see panel B) and to study their effects.

To resume, click on START.

  • STOP is only suspending the run.
  • START triggers the run, with a fixed step of one day. This button has to be clicked to restart after clicking in any of the buttons, srolling list or checkbox of this panel A.
  • TEMPO is a parameter which you should select depending on your own computer resources. It is directly connected to a parameter internal to the Java applet itself, the sleep time of the running thread. If the time allocated for the thread to rest is too short, the calculations get crazy and the displays are not coherent any more. When you load the applet, as the server cannot know the characteristics of your configuration, the longest sleep duration is selected, in order to be compatible with low level resources. You can upgrade your comfort by selecting a shorter sleeping time (see ‘BEFORE STARTING’). As an example, the intermediate (‘normal’) tempo value on a 90 Mhz PowerPC is working correctly. A high tempo, in this note, corresponds to the upper values of the list.

Clicking the Tempo scrolling list will stop the run so press START to resume.

  • SCALE is related to the representation of the planets and sail in the heliocentric frame. The planet selection and the position of the sail itself keeps the priority on the scale selected by this scrolling list.

Clicking the Scale scrolling list will stop the run so press START to resume.

  • 5 check boxes for selecting the planets you wish to display. The scale adapts automatically to the selected planets. When deselecting, the scale adaptation has to be done manually, using the SCALE scrolling list. The red background is related to the aimed target of the competition. (It should disappear when deselecting COMPETITION, but, with Netscape, it does not…).

Changing any of the display choices will stop the run so press START to resume.

  • The Applet Control sub-panel. From top to bottom :
    • the mode which is presently known by the applet. It can take quite a long time for the desired mode be actual, depending on the requested transition and on your computer resources (and maybe browser). It is highly recommanded to keep cool and wait until the requested mode is displayed. To click here and there doesn’t help at all.
    • the IDLE value corresponds to the sleeping time of the Java thread (in milliseconds) See TEMPO button..
    • the scale value for the display of panel D.

Panel B : sail settings

APPLET GLENANS - Règlage de la voile

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 analysis.

Panel C : Mission and sail control

APPLET GLENANS - Suivi de la voile et de la mission

This panel is made of 4 sub-panels. From top to bottom :

Mission Control

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 interception criterion.

Sky background in the sunlit hemisphere of the sail

The sky background is represented (presently only the Sun and when visible, the Earth) as seen through a hemispheric porthole.

Components of the acceleartion and velocity vectors

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.

Representation of the vectors acceleration and velocity in the sail’s local orbital frame

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 velocity vector.

Panel D : Display of the heliocentric positions

APPLET GLENANS - Positions héliocentriques


Before running

– 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 …

(More or less) Identified problems

– 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.

Envisaged evolutions

– 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.

– Technical Information

about the Java applet

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.

about the simulation

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 :

Alain Perret, one of the founding members of U3P, a space mechanics guru,
Guy Pignolet, the U3P present President, who wrote in the 80’s a simulation program of which the integration part has been reused after conversion in Java,
Olivier Boisard, U3P vice-President, who is teaching at Ecole Centrale de Lille where this server is located.
Akkana Peck who wrote the heliocentric coordinates Java class . Pay him a visit.

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.

Use the BACK button of your browser to come back to the applet

Back to the Race Board

1 commentaire

Les commentaires sont fermés.