Solar Sail II — Ported to Orbiter 2024

After almost 20 years, Solar Sail II has been resurrected and ported to Orbiter 2024. The add-on, originally released in 2007 for Orbiter 2006, now runs on the latest Orbiter build with full VESSEL3 API support.

Solar Sail

What’s New

The original source code (written for the now-obsolete VESSEL API) has been completely migrated:

2006 API Orbiter 2024 API
ovcSetClassCaps clbkSetClassCaps() as class method
ovcTimestep(simt) clbkPostStep(simt, simdt, mjd)
ovcConsumeKey(keystate) clbkConsumeBufferedKey(key, down, kstate)
Global variables Class members (SolarSail)
AddExhaust(...) AddExhaustStream(...)
ANIMCOMP sequences MGROUP_ROTATE / MGROUP_TRANSLATE + AddAnimationComponent

The build system has been modernized to CMake + Visual Studio 2022, making compilation straightforward.

Two Vessels

The add-on consists of two modules:

Physics

The solar radiation pressure model is based on Dr. Bong Wie’s paper Dynamic Modeling and Attitude Control of Solar Sail Spacecraft, with specular coefficient ps=0.9 and diffuse coefficient pd=0.1:

Auto-navigation modes include Prograde and Kill Rotation.

Animation

The deployment sequence is divided into three phases:

  1. 0.0–0.3: 4 arms rotate outward
  2. 0.3–0.8: 22 segments per arm extend
  3. 0.8–1.0: 32 sail meshes appear sequentially

Press D to deploy/retract, J to separate from the transfer vehicle.

SPAE Solar System

The add-on includes the custom Sol_SPAE solar system, featuring Rapa Nui surface base on Easter Island — a fitting launch site for an interplanetary solar sail mission.

Source Code on GitHub

The full source code is now available on GitHub:

Built with MSVC 19.44 (VS Build Tools 2022), Orbiter 2024 SDK.

Downloads

From the original documentation

This was my second add-on for Orbiter. I wrote it very long ago, and I had compiled it for the newest Orbiter version. It simulates the behavior of a Solar Sail of area SAT_AREA, specular coefficient PS and diffusion coefficient PD (this values can be changed on the scenario file, although the size of the mesh visible will be always the same).

— Felipe “ObiWan” Comparini, 2007

🧐