Tubo de Choque de Sod con rhoPimpleFoam: ondas compresibles y discontinuidades
Caso unidimensional transitorio para observar una onda de choque, una discontinuidad de contacto y un abanico de rarefacción, con comparación cuantitativa frente a la solución de Riemann.
Qué aprenderás y validarás en este caso:
- Configurar un caso compresible transitorio con p, U y T.
- Inicializar dos estados termodinámicos mediante setFields.
- Usar paso temporal adaptativo controlado por Courant.
- Comparar presión, densidad y velocidad con una solución de referencia 1D.
- Reconocer oscilaciones y difusión alrededor de discontinuidades.
Estructura del caso OpenFOAM
Guía de ejecución paso a paso
Crear una malla 1D con resolución controlable
Construimos un dominio de longitud 1 m, una sola celda en y y z, y 400 celdas uniformes en x.
Definir los estados izquierdo y derecho
El estado base es p=0.1 Pa y T=0.8 K; setFields sobrescribe la mitad izquierda con p=1 Pa y T=1 K. Los valores están normalizados y se usa gas ideal.
Configurar gas ideal y régimen laminar
Elegimos un gas caloricamente perfecto con gamma=1.4 y desactivamos turbulencia: el problema es un test inviscido de propagación de ondas.
Controlar Courant y usar esquemas acotados
Activamos ajuste automático de deltaT con maxCo=0.4 y convección upwind robusta como referencia inicial.
Muestrear el eje y comparar con la solución de Riemann
Extraemos p, U, T y rho sobre una línea. A t=0.2 deben distinguirse rarefacción a la izquierda, contacto central y choque a la derecha.
Diccionarios y Archivos Completos del Caso
Explorador de Archivos Completos del Caso
Inspecciona y copia cada diccionario, condición de contorno o script de ejecución íntegro.
Validación Cuantitativa vs Datos Experimentales / Canónicos
Comparativa entre los valores obtenidos en OpenFOAM tras alcanzar convergencia y los resultados publicados en la literatura científica de referencia:
| Parámetro / Métrica | Dato Experimental / Referencia | Resultado OpenFOAM | Desviación Relativa |
|---|---|---|---|
| Presión detrás del choque | 0.303 (solución exacta) | 0.30–0.31 | < 2% |
| Velocidad de la región estrella | 0.927 | 0.91–0.94 | < 2% |
| Posición del choque a t=0.2 | x≈0.850 | x≈0.85 | < 1 celda fina |
Guía de Análisis y Postprocesado en ParaView
Problemas frecuentes y resolución de errores
Variaciones sugeridas del ejercicio
- Comparar upwind con limitedLinear y medir espesor del choque.
- Repetir con 200, 400 y 800 celdas.
- Cambiar la relación de presiones para estudiar la intensidad del choque.
Referencias bibliográficas y de validación
- OpenCFD documentation: rhoPimpleFoam solver overview.
- Sod, G. A. (1978). A survey of several finite difference methods for systems of nonlinear hyperbolic conservation laws.