Last updated: October 23, 2025

<aside> <img src="/icons/warning_yellow.svg" alt="/icons/warning_yellow.svg" width="40px" />

This documentation page was written with heavy support from AI tools like ChatGPT and Claude (I’m a solo developer and don’t have the time to sit and write detailed articles, so I rely on AI tools to help accelerate the work to get you more progress and features faster). Also I can’t guarantee that I keep this documentation up to date as improvements and changes are made to the app. Make sure to always rely on your education and training, cross-reference the materials, and use your judgment. I’m providing the algorithm details here as reference for those curious about how the Skuba gas blender algorithm was designed. Consider the information here for education purposes only and in no way do I guarantee the correctness and accuracy of the information or the algorithm. Diving is an inherently risky activity and maximum caution should always be used.

</aside>

1. Overview

The Gas Blender Algorithm generates step-by-step plans for partial pressure gas blending of Nitrox mixtures using a unified optimization solver. It accounts for:

2. Physics Foundation

2.1 Environmental Factors

The gas blender algorithm accounts for environmental conditions (temperature and altitude) that affect gas behavior:

2.2 Temperature Effects (Gay-Lussac’s Law)

At constant volume, pressure and temperature are directly proportional:

$$ \frac{P_1}{T_1} = \frac{P_2}{T_2} $$

Key impacts:

  1. Hot Fill Correction: When filling a cylinder, compression heats the gas. A cylinder filled to “200 bar” at 40°C will read ~187 bar when cooled to 20°C.

    $$ ⁍ $$

    $$ ⁍ $$

  2. Algorithm Behavior: The algorithm automatically accounts for fill temperature:

  3. Environmental Note: When temperature is significantly different from standard (15°C), the algorithm provides a warning note about expected pressure changes during cooling/warming.