Antes de empezar
Define una sesión corta con un resultado verificable.
- Copia el caso original antes de tocarlo
- Anota versión y entorno cargado
- Formula una única pregunta técnica
Un plan de estudio estructurado y progresivo para guiarte desde tus primeros pasos en la terminal hasta el desarrollo de solvers avanzados en C++.
Qué es OpenFOAM, método FVM, diferencias Foundation vs OpenCFD, instalación y tu primera simulación (cavity).
Comprende la arquitectura en C++, la filosofía de código abierto y cómo OpenFOAM resuelve las ecuaciones de transporte de fluidos mediante volúmenes finitos.
Aprende el origen histórico de las dos variantes principales, sus convenciones de versionado y las diferencias clave de sintaxis y compatibilidad.
Instala OpenFOAM paso a paso mediante paquetes nativos apt en Ubuntu, el subsistema de Windows para Linux (WSL2) y contenedores Docker en macOS.
Domina los tres directorios fundamentales de cualquier simulación: 0/, constant/ y system/.
Guía práctica para ejecutar el caso de cavidad 2D, interpretar el log de convergencia y visualizar líneas de corriente en ParaView.
El vector de dimensiones [M L T Theta N I J] en OpenFOAM, detección de incompatibilidades dimensionales y presión cinemática vs termodinámica.
Geometría, mallas estructuradas con blockMesh, mallado automático con snappyHexMesh, condiciones de contorno y esquemas numéricos.
Aprende a construir mallas hexaédricas estructuradas 2D y 3D, definir bloques, asignar parches de frontera y aplicar grading para resolver capas límite.
Aprende las 3 etapas de snappyHexMesh (castellatedMesh, snap y addLayers) para mallar geometrías complejas en formato STL.
Configuración detallada de addLayersControls, factores de expansión, espesor de primera capa y resolución de colapsos de capa límite.
Diferencia entre condiciones Dirichlet (fixedValue), Neumann (zeroGradient), mixtas (inletOutlet) y funciones de pared.
Interpreta métricas críticas como no-ortogonalidad máxima, skewness y aspect ratio, y aprende cómo afectan a la convergencia.
Flujo incompresible, compresible, turbulencia RANS (k-omega SST), transferencia de calor (CHT) y multifase VOF (interFoam).
Comprende el acoplamiento presión-velocidad de Patankar, factores de sub-relajación y criterios de parada por residuales.
Domina los bucles externos e internos de PIMPLE, el control del número de Courant y el paso temporal adaptativo.
Cálculo analítico de condiciones de entrada (k, omega, epsilon, nut) y buenas prácticas en la elección de modelos de dos ecuaciones.
Configuración de convección natural y forzada, acoplamiento de temperatura y momento con la aceleración de la gravedad g.
Simulación de fluidos inmiscibles, rotura de presas, sloshing y captura de interfaz con alpha.water y compresión de flujo.
Diseña una estrategia de evidencia con balances, independencia de malla, sensibilidad temporal y comparación con datos.
Prepara casos compresibles entendiendo campos termodinámicos, velocidad del sonido, Courant acústico y captura de discontinuidades.
Paralelización con MPI, dynamicMesh, functionObjects personalizados, compilación con wmake y creación de solvers propios.
Aprende a particionar casos de millones de celdas, optimizar la comunicación inter-nodo y ejecutar simulaciones a gran escala.
Extrae coeficientes aerodinámicos (Cl, Cd), campos promediados, perfiles de velocidad y planos de corte directamente durante el cálculo sin saturar el disco.
Aprende a clonar un solver existente, añadir una nueva ecuación de transporte de un escalar pasivo y compilarlo en tu carpeta de usuario con wmake.
Crea condiciones de contorno custom que dependan del tiempo, posición espacial o campos acoplados mediante código C++.
Simulación de turbomaquinaria, hélices, aerogeneradores y bombas centrífugas con marcos rotatorios (MRF) e interfaces deslizantes acopladas.
Empaqueta simulaciones para que otra persona pueda regenerar malla, ejecutar, validar y comparar sin operaciones manuales ocultas.
Método de estudio
La progresión está diseñada para alternar conceptos, ejecución y diagnóstico. Completar una lección significa poder explicar la decisión numérica y demostrarla con un caso pequeño, no únicamente reconocer la terminología.
Define una sesión corta con un resultado verificable.
Cambia una variable cada vez y conserva la evidencia.
Resume lo aprendido como una receta que puedas repetir.
Una secuencia corta para convertir la consulta en una decisión técnica trazable.
Consejo de campo: Una buena señal de dominio es poder predecir qué archivo modificar y qué tendencia esperar antes de lanzar el solver.