Chapitre 8
Simulateur ZH-L16 et VPM-B
Les modèles des chapitres précédents, Bühlmann et VPM-B, sur la plongée de votre choix. Déplacez un curseur, dessinez une plongée à plusieurs niveaux, ajoutez une seconde configuration, et voyez les deux modèles se séparer sur le même profil.
Sept expériences à faire
1 · Le GF High commande le temps
Fixez 40 m / 25 min. Faites varier le GF High de 70 à 95 : le temps de palier s'effondre. Ramenez-le à 85, puis faites varier le GF Low sur toute sa plage : le total bouge à peine, mais le premier palier descend de 10 m.
2 · Le compartiment directeur se déplace
À 45 m / 10 min, le compartiment directeur est un rapide (C2 à C4). Poussez à 60 min : il glisse vers C7-C9. C'est la raison pour laquelle une plongée longue et une plongée profonde ne se gèrent pas de la même façon.
3 · Les variantes A/B/C
À 40 m / 60 min en GF 100/100, changez le jeu de coefficients. Vous devriez lire environ 75, 80 et 93 minutes de paliers. Le même « algorithme de Bühlmann » couvre donc 24 % d'écart.
4 · Le coût de l'hélium
Préréglage Trimix, puis ramenez l'hélium à 0 en gardant 18 % d'O₂. Comparez les paliers. L'hélium sature plus vite et se décharge plus vite ; on en conclut souvent, trop vite, que les deux effets pourraient s'annuler sur une longue plongée. Mesurez : à 50 m en GF 30/70 et sans gaz de déco, le trimix 18/45 allonge toujours la remontée par rapport au Nx18, de 12 min à 10 min de fond, de 102 min à 60 min. Ce qui change avec la durée, c'est le poids relatif de cette pénalité, qui tombe de 63 % à 21 %.
5 · Le gaz de décompression
Sur le préréglage Doolette, décochez puis recochez « gaz de décompression ». Un nitrox à 50 % d'oxygène (EAN50), pris à partir de 21 m, raccourcit fortement les paliers. L'algorithme, lui, ne change pas : respirer plus riche en oxygène creuse l'écart de pression qui chasse l'azote hors des tissus, et la désaturation accélère.
6 · Trois configurations, une seule plongée
Réglez la configuration A sur 40 m / 25 min à l'air, en Bühlmann GF 85/85 : premier palier à 9 m, 25 min de paliers. Ajoutez-en une seconde et passez-la en VPM-B nominal ; les configurations étant liées, elle reçoit la même plongée. Son premier palier descend à 18 m et son total monte à 33 min. Ajoutez-en une troisième, en Bühlmann GF 30/70 : son premier palier retombe sur les mêmes 18 m que VPM-B, mais son total atteint 46 min. Le palier profond ne fait donc pas à lui seul la longueur d'une décompression. Ce qui la fait, c'est le temps passé près de la surface, et le graphe superposé le montre d'un coup d'œil : 14 min à 3 m pour VPM-B, 24 pour GF 30/70. C'est l'argument du chapitre 4, sur votre écran.
7 · Une vraie plongée n'est pas carrée
Fixez 40 m / 45 min en GF 85/85 : 79 minutes de paliers, premier arrêt à 12 m, sortie de l'eau à 128 minutes. Cliquez « Dessiner un profil multi-niveaux » et donnez quatre points au profil : 2 min / 40 m, 20 min / 40 m, 24 min / 15 m, 45 min / 15 m. Même durée avant de remonter, mais il ne reste que 16 minutes de palier, à 3 m, et la sortie passe de 128 à 63 minutes. C'est la plongée réelle sur un tombant ou une épave, et c'est ce qu'un ordinateur, qui recalcule en continu, crédite là où une table exige d'entrer la profondeur maximale.
Bonus · Le profil NEDU
Le préréglage « NEDU » reproduit l'exposition de l'essai du NEDU de 2011 (52 m, 30 min, air). Comparez GF 30/70 et GF 70/85 : vous verrez concrètement où chaque profil place son temps. Voir le chapitre 4.
Vérifier ce simulateur
Un simulateur qui affiche des minutes sans dire d'où elles viennent ne vaut pas mieux qu'un ordinateur opaque : c'est précisément ce que ce site reproche aux constructeurs. La boîte ci-dessous contient donc la spécification complète des deux moteurs, chacun documenté de la même façon : constantes physiques, équations avec leur traduction en français, algorithme de remontée étape par étape, valeurs de contrôle à reproduire, et sources de chaque brique. Les sections 1 à 7 traitent Bühlmann ZH-L16, avec ses 112 coefficients ; les sections 8 à 12 traitent VPM-B, et disent ce qui n'en est pas porté.
Tout y est lu dans le moteur, au chargement de la page, et non recopié : ce que vous lisez est ce qui vient de calculer vos paliers.
Ce que fait exactement ce simulateur — les hypothèses de calcul, et ce que l'interface fait des résultats
Voici les hypothèses de calcul. Elles expliquent les écarts que vous constaterez avec votre propre ordinateur.
Deux moteurs, jusqu'à quatre configurations
Chaque configuration est une instance complète et indépendante, et il peut y en avoir quatre côte à côte. Le sélecteur en tête de chacune décide du moteur qui y calcule ; tout ce qui suit s'entend du moteur choisi. Tant qu'elles sont liées, les configurations reçoivent la même plongée, le même mélange et la même vitesse de remontée : c'est la seule façon d'attribuer un écart au modèle et non au profil.
Le moteur Bühlmann
ZH-L16, au choix en jeu A, B ou C, avec 16 compartiments azote et hélium ; les segments à vitesse constante suivent l'équation de SchreinerBaker, VPMDECO. Pression de surface 1,01325 bar, vapeur d'eau 0,0627 bar, 10 m d'eau de mer = 1 bar. Les gradient factors suivent la convention de Baker : interpolation linéaire en profondeur entre le premier palier (GF Low) et la surface (GF High).
Les paliers profonds s'obtiennent de deux façons. Par gradient factors, avec un GF Low inférieur au GF High, les paliers sortant alors du modèle. Ou par la procédure de Pyle : un arrêt de deux minutes à mi-distance entre le fond et le premier palier prévu, ajouté par-dessus le profil calculé puis recalculé, sans déplacer l'ancrage des gradient factorsCMAS deep stops.
Le moteur VPM-B
VPM-B est un portage du programme d'Erik Baker. Ses 16 compartiments portent exactement les mêmes périodes que ceux de ZH-L16, azote et hélium compris : les deux moteurs partent des mêmes tissus et ne diffèrent que par le critère de remontée. Le conservatisme se règle par le rayon critique des germes, du nominal des logiciels VPM-B aux cinq crans qui le majorentV-Planner, réglages. Le chapitre 5 expose le modèle, et les sections 8 à 12 de la boîte ci-dessus en donnent les constantes, les équations, le déroulé du calcul et des valeurs à reproduire.
VPM-B n'affiche ici ni SurfGF, une lecture propre aux gradient factors, ni plafond M-values brutes, qui n'a de sens que dans un modèle qui a des M-values, ni colonne « toléré » sur les seize compartiments, ce modèle n'établissant pas de tolérance de surface. Il porte en revanche une seconde barre par compartiment : le volume de bulles accumulé, sur ce que le volume critique lui accorde.
Le profil et les paliers
La descente se fait à 20 m/min et compte dans le temps au fond, qui s'arrête au début de la remontée. Les paliers vont par tranches de 3 m, arrondis à la minute supérieure, le dernier à 3 m.
En profil multi-niveaux, le bouton sous les curseurs de plongée remplace le couple profondeur / temps par une suite de points (instant, profondeur), qui se déplacent à la table comme sur le graphe. Le profil relie les points en ligne droite, borné à 20 m/min en descente et à votre vitesse de remontée en montée, et le mélange respiré y reste celui du fond. Le dernier point est l'endroit d'où le moteur calcule la remontée et les paliers.
Le temps sans palier est obtenu par recherche dichotomique, en vérifiant le plafond tout au long de la remontée et pas seulement à l'arrivée en surface. Sur un profil multi-niveaux, cette limite unique n'existe plus : le simulateur marque en jaune sur le graphe les intervalles où la remontée directe est fermée, et compte le temps restant au dernier niveau dessiné.
Si la case du gaz de décompression est cochée, le simulateur en embarque un seul, et sans hélium. Il y bascule à sa MOD calculée à 1,6 bar de ppO₂, arrondie au palier de 3 m inférieur : un EAN50 est donc pris à 21 m. Partout ailleurs, c'est le mélange du fond qui est respiré.
La dose d'oxygène
CNS et OTU mesurent la dose d'oxygène encaissée ; le chapitre 9 explique ce qu'elles comptent et pourquoi. La CNS suit la table du NOAA Diving Manual (4e éd.), avec interpolation linéaire, telle que documentée par le manuel du Shearwater PerdixPerdix. L'OTU compte la dose encaissée par les poumons sur l'ensemble de la plongée : OTU = t × ((ppO₂ − 0,5)/0,5)5/6. Le compteur ne tourne qu'au-delà de 0,5 bar de ppO₂, et il tourne d'autant plus vite qu'on dépasse ce seuil.
Ce qui n'est pas modélisé
Ni plongées successives, ni altitude, ni recycleur à setpoint constant, ni froid, ni effort, ni azote résiduel initial. RGBM non plus, et pour une autre raison : ses paramètres ne sont pas publiés, là où ceux de VPM-B le sont.
Le code est lisible
Chaque moteur tient dans un seul fichier commenté, assets/deco.js pour ZH-L16, assets/vpm.js pour VPM-B, et ni l'un ni l'autre n'utilise de bibliothèque. Si un résultat vous paraît douteux, vous pouvez aller lire la fonction qui le produit : c'est précisément l'intérêt d'un modèle publié.