Qué hace este simulador
Durante la inmersión virtual, el sistema actualiza en tiempo real los indicadores principales: NDL, carga de nitrógeno, consumo de aire, presión parcial de oxígeno (PPO₂) y exposición CNS. Además registra un perfil de profundidad para generar un reporte final.
Experiencia 3D controlable
- Joystick de movimiento
- Joystick de mirada/rotación
- Zona neutral para estabilidad
Indicadores en HUD
- Tanque: bar / PSI / porcentaje
- Barra de nitrógeno (educativa)
- NDL y estado de ascenso
Reporte completo
- Profundidad máxima
- Tiempo total
- NDL total y restante
- Ceiling (profundidad mínima segura)
Modelos y conceptos representados
El simulador implementa modelos fisiológicos y reglas educativas habituales en el buceo recreativo: absorción y liberación de nitrógeno por tejidos, límites sin descompresión, y exposición al oxígeno.
Simula la carga de nitrógeno en distintos tejidos con velocidades diferentes, permitiendo estimar saturación, “ceiling” y el comportamiento en inmersiones repetitivas.
Calcula PPO₂ según profundidad y fracción de oxígeno (FO₂), y acumula exposición CNS con un modelo de límites por PPO₂. Incluye niveles de alerta (OK / WARNING / DANGER).
NDL (No Decompression Limit)
- NDL total permitido
- NDL restante según el perfil
- Interpretación educativa del riesgo
Ceiling y ascenso
- Ceiling en metros
- Detección de “stop requerido”
- Recomendación de parada de seguridad
Inmersiones repetitivas
- Tejidos se conservan entre inmersiones
- Intervalo en superficie reduce carga
- Aprendizaje de acumulación residual
Instrumentos y visualización (HUD)
Para facilitar la comprensión, el simulador muestra instrumentos visuales en pantalla durante la inmersión. Su propósito es que el usuario “vea” cómo cambian los conceptos con su comportamiento.
Tanque de aire (AL80)
- Presión en bar y PSI
- Porcentaje restante
- Alerta de reserva (ej. 35 bar)
- Estado “sin aire” (out of air)
Barra de nitrógeno
- Suavizado visual (carga lenta / descarga normal)
- Colores por nivel (verde→rojo)
- Enfoque didáctico, fácil de interpretar
NDL y estado del ascenso
- NDL restante
- Recomendación de parada de seguridad
- Ceiling (si aplica)
Puedes acelerar la simulación para observar más rápido cómo cambian los valores. Esta función es útil para educación: muestra la tendencia de los indicadores sin tener que esperar largos periodos.
Safety Stop (Parada de seguridad recreativa)
Este módulo simula la parada de seguridad a 5 metros en buceo recreativo. Su lógica está basada en control de tiempo real escalado, tolerancia de profundidad y detección de interrupciones o redescensos para validar o invalidar la parada.
Recomendación de parada
- Se activa si la profundidad máxima supera 10 m
- Se desactiva si existe deco activa o requerida
- Estado: recommended → activa el safety stop
- Callback opcional de notificación al usuario
Lógica de ejecución
- Zona de parada: 5 m ± 2 m
- Zona de pausa: 5 m - 3 m (sin progreso)
- Acumulación de tiempo en segundos simulados
- Escalado por velocidad de simulación (GET_TIME_SCALE)
- Completado tras 180 segundos efectivos
- Pausa automática al salir de la zona
Interrupciones y redescenso
- Salida de zona invalida la progresión
- Estado cancelled activa reinicio de seguimiento
- Marca interrupción si se rompe la lógica
- Redescenso > 6 m reanuda recomendación
- Ventana de 30 s para invalidación post-completado
El tiempo se calcula en tiempo real simulado, acumulando solo cuando el buceador permanece dentro del rango correcto. Si abandona la zona, el contador se pausa. Si completa los 3 minutos efectivos, la parada se marca como completada. Sin embargo, un redescenso posterior puede invalidarla bajo ciertas condiciones fisiológicas.
Barra de carga de nitrógeno (UI educativa)
Este módulo visualiza en tiempo real la carga de nitrógeno en los tejidos rápidos del buceador. Su objetivo es educativo: mostrar cómo evoluciona la saturación relativa durante la inmersión mediante una barra de progreso suavizada y codificada por colores.
Visualización de la carga de N₂
- Basado en tejidos rápidos del modelo fisiológico
- Valor expresado en porcentaje (0–130%)
- Suavizado visual para evitar saltos bruscos
- Actualización en tiempo real durante la inmersión
Código de colores
- Verde: carga baja y estable (< 60%)
- Amarillo: zona de atención (60%–85%)
- Naranja: carga alta (85%–100%)
- Rojo: sobresaturación potencial (> 100%)
Lógica de suavizado y estabilidad
- Interpolación progresiva (ease-in / ease-out)
- Respuesta más lenta al aumento que a la disminución
- Prevención de flickering visual
- Clamp de valores entre 0% y 130%
La barra puede incluir texto adicional (como Gradient Factor o estado fisiológico del modelo). Esto permite correlacionar visualmente la saturación de nitrógeno con el estado de descompresión, ofreciendo una representación más intuitiva del riesgo acumulado.
Consumo de aire (AL80 multi-tanque)
Este módulo simula el consumo real de gas en tiempo dinámico utilizando SAC (Surface Air Consumption), presión ambiente y escala de tiempo. Soporta configuraciones de uno o múltiples tanques y calcula el agotamiento progresivo del sistema completo.
Modelo de consumo
- SAC configurable por usuario
- Presión ambiente = 1 + profundidad/10
- Escalado por GET_TIME_SCALE()
- Consumo proporcional por tanque
Sistema multi-tanque
- Tanque base AL80 (2265 L)
- Soporte para múltiples tanques
- Consumo dividido entre tanques activos
- Estado global OUT OF AIR
Visualización HUD
- Nivel visual por porcentaje de volumen
- Conversión bar / PSI en tiempo real
- Color según reserva (verde → naranja → rojo)
- Alerta por debajo de 35 bar
El sistema calcula el volumen total restante sumando todos los tanques activos. El consumo se actualiza en cada frame simulado y permite detectar el punto de reserva o la condición crítica de “sin aire”. El modelo refleja tanto consumo individual como global.
Toxicidad por oxígeno (NOAA CNS)
Este módulo evalúa el riesgo de toxicidad por oxígeno usando PPO₂ y CNS acumulado. El estado se representa mediante niveles de riesgo fisiológico tipo ordenador de buceo.
Presión parcial de oxígeno (PPO₂)
- PPO₂ = FO₂ × presión ambiente
- Límite operativo: 1.4 bar
- Crítico: ≥ 1.6 bar
CNS (Sistema nervioso central)
- Modelo NOAA de exposición
- Incremento progresivo por tiempo
- 100% = límite recomendado
Estado de toxicidad
- OK: exposición dentro de límites seguros
- WARNING: zona de precaución
- DANGER: riesgo de toxicidad aguda
El sistema combina toxicidad aguda (PPO₂) y toxicidad acumulativa (CNS). El estado mostrado refleja el nivel de riesgo dominante en cada momento de la inmersión, similar a un ordenador de buceo técnico real.
Lógica del motor de descompresión (Bühlmann + GF)
Este módulo calcula en tiempo real el plan de descompresión del buceador simulando la saturación de tejidos con nitrógeno, generando paradas obligatorias y ajustando el perfil de ascenso según el estado fisiológico y el gradiente de seguridad (GF). Además, mantiene un historial persistente para no perder progreso entre regeneraciones del plan.
Generación del plan de descompresión
- Cálculo del ceiling con GF line (límite de ascenso seguro)
- Redondeo a escalones de parada (STOP_STEP_M)
- Simulación de carga de tejidos por parada
- Finaliza cuando el ceiling baja de 3 m (STOP_REQUIRED_M)
- Modo preview sin afectar historial real
Historial y persistencia de paradas
- decoHistory almacena progreso por profundidad
- Hydratación de paradas desde historial
- Preserva tiempo realizado (timePerformedSec)
- Evita reinicios de paradas ya iniciadas
- Fusión entre plan nuevo y estado previo
Actualización en tiempo real
- Control de parada actual con tolerancia de profundidad
- Bloqueo de orden (no saltar paradas anteriores)
- Regeneración si el perfil empeora o mejora
- Acumulación de tiempo por dtSimSec
- Auto-completado al 95% de cumplimiento
- Cálculo dinámico del TTS (ascenso + paradas)
El TTS se calcula combinando el tiempo de ascenso tramo a tramo (según velocidad de subida) más el tiempo restante en paradas de descompresión activas. El resultado se ajusta continuamente en función del estado real de los tejidos y del plan vigente.
Uso responsable y aviso importante
Este proyecto es una herramienta educativa e ilustrativa. El buceo real requiere formación, equipo certificado y supervisión profesional.
Importante
Este simulador no es un curso de buceo, no reemplaza formación formal, y no es una computadora de buceo ni una herramienta operativa de planificación. No debe utilizarse para planificar inmersiones reales ni para la toma de decisiones. Todo lo mostrado es únicamente ilustrativo, usando conceptos y algoritmos aplicados solo con fines de simulación y visualización. El uso del simulador es responsabilidad del usuario.

