Skip to content
cfd-lab:~/es/posts/2026-03-24-paper-review-…● online

Traducción del original en coreano escrito por el autor. Leer el original (한국어)

NOTE #009DAY TUE 유체역학DATE 2026.03.24UPDATED 2026.10.19READ 6 min read#Paper-Review#PINN#Deep-Learning#Turbulence-Model

[Reseña de artículo] Physics-Informed Neural Networks para modelado de turbulencia

Multiplicar Re por diez deja el residuo viscoso en un décimo. Si λ borra el término de los sensores, el 1% de la tabla ya no es de esa corrida.

Información del artículo#

  • Autores: Raissi, M., Perdikaris, P., Karniadakis, G. E.
  • Revista: Journal of Computational Physics, Vol. 378, pp. 686–707, 2019
  • DOI: 10.1016/j.jcp.2018.10.045
  • arXiv: 1711.10561

Resumen en una línea#

Se propone un método para reconstruir todo el campo de velocidad utilizando solo unos pocos sensores de presión, integrando las ecuaciones de Navier-Stokes directamente en la función de pérdida de la red neuronal (Physics-Informed).

Al mover los deslizadores λ_PDE, λ_BC y λ_data cambia qué término inclina la superficie de pérdida, el residuo físico o el término de los sensores.

손실 가중치 λ가 너무 작으면 그 항이 안 떨어지고, 너무 크면 다른 항을 짓누른다. Re가 커지면 PDE 항이 stiff 해진다 — PINN의 핵심 난점.

Si solo se profundiza el término de datos, el ajuste a los sensores permanece y la condición de divergencia nula se suelta. Si solo se profundiza el término físico, las ecuaciones se acercan y los sensores de presión se separan de la velocidad.


Contexto de la investigación#

La CFD convencional se sitúa en algún punto entre dos extremos.

Métodos tradicionales (k-ε, k-ω SST): Dependen de coeficientes de cierre empíricos. Es necesario reajustar los coeficientes cuando cambia el número de Reynolds o la geometría, lo que limita la capacidad de generalización.

Aprendizaje profundo basado puramente en datos: Requiere una gran cantidad de datos etiquetados y los modelos entrenados no garantizan la conservación de la masa o el momento. La función de pérdida no detecta si se producen predicciones físicamente absurdas.

Las PINN son un intento de cerrar esta brecha. Incluso con datos dispersos, las leyes físicas actúan como regularizador.


Metodología principal#

La función de pérdida total de una PINN es la suma de dos términos:

L=Ldata+λ Lphysics\mathcal{L} = \mathcal{L}_{\text{data}} + \lambda \, \mathcal{L}_{\text{physics}}

La pérdida de datos Ldata\mathcal{L}_{\text{data}} es la diferencia entre los valores observados (ej. sensores de presión) y las predicciones de la red neuronal.

La pérdida física Lphysics\mathcal{L}_{\text{physics}} es el residuo de las ecuaciones de Navier-Stokes incompresibles:

Lphysics=∥∂u∂t+(u⋅∇)u+∇p−1Re∇2u∥2+∥∇⋅u∥2\mathcal{L}_{\text{physics}} = \left\| \frac{\partial \mathbf{u}}{\partial t} + (\mathbf{u} \cdot \nabla)\mathbf{u} + \nabla p - \frac{1}{Re}\nabla^2\mathbf{u} \right\|^2 + \left\| \nabla \cdot \mathbf{u} \right\|^2

El segundo término es la ecuación de continuidad (conservación de la masa). Dado que la red neuronal se entrena para que este residuo sea cero, las predicciones siempre cumplen aproximadamente las ecuaciones N-S.

Las derivadas se calculan mediante diferenciación automática (automatic differentiation) de PyTorch/TensorFlow, sin necesidad de una discretización numérica independiente.

Cómo se endurece una integración temporal cuando 1Re\frac{1}{Re} se reduce está, del lado de la malla, en un esquema asintóticamente preservante que no apaga el sonido a bajo Mach. Aquí la misma rigidez llega como un peso de la pérdida.


Resultados principales#

CasoCondicionesResultado
Flujo alrededor de un cilindro 2DRe=100, solo sensores de presiónError de reconstrucción del campo de velocidad inferior al 1%, recuperación precisa de la frecuencia de vórtices
Cavidad impulsada por tapaRe=1000El perfil de velocidad coincide con los resultados de DNS en menos del 1%
Inversión del número de ReynoldsSolo con datos de velocidadÉxito en la identificación del propio valor de Re como parámetro de aprendizaje

Destaca especialmente la capacidad para resolver problemas inversos (inverse problem). Es posible estimar el número de Reynolds a partir del campo de flujo o restaurar un campo de presión oculto utilizando solo datos de velocidad, problemas imposibles o extremadamente difíciles con los métodos convencionales.

Conviene partir los dos Re de la tabla por el término viscoso. El cilindro está en Re=100 y la cavidad en Re=1000. Un factor diez. La pieza viscosa del residuo de cantidad de movimiento es 1Re\frac{1}{Re}: si la escala de velocidad ronda 1, la convección (u⋅∇)u(\mathbf{u} \cdot \nabla)\mathbf{u} conserva el tamaño y solo la pieza viscosa cae a un décimo. El residuo de continuidad ∥∇⋅u∥2\left\| \nabla \cdot \mathbf{u} \right\|^2 no lleva Re. Si λ es la balanza entre el término de datos y el término físico, dejar la pieza viscosa junto a los sensores en Re=1000 exige que λ aguante más que en Re=100.

El cilindro, solo con sensores de presión, vuelve con un error de velocidad inferior al 1% y la frecuencia de los vórtices recuperada. La cavidad queda dentro del 1% del DNS. Los dos números viven en el 1%. Ese sitio existe cuando Ldata\mathcal{L}_{\text{data}} y λ Lphysics\lambda \, \mathcal{L}_{\text{physics}} no se borran entre sí. Si λ crece hasta enterrar el término de los sensores, unos pocos puntos de presión ya no fijan la velocidad al 1%. Si λ baja, el ajuste permanece y la condición de divergencia nula se suelta. La tabla marca un punto donde la balanza se sostuvo. No dice que el 1% sobreviva a un traslado arbitrario de λ.

La inversión de Re entrega solo velocidad y deja Re como parámetro aprendido. El coeficiente del término viscoso es la incógnita. Un 1Re\frac{1}{Re} equivocado cambia de escala toda esa pieza, y el término de datos puede esconder el error dentro del gradiente de presión mientras ajusta la velocidad. Con λ pequeño ese escondite sale barato. La identificación exitosa de la tabla es el resultado de un ajuste en el que λ encareció ese escondite.


Posibilidad de aplicación práctica#

¿Cuándo es útil?

  • Situaciones con datos de medición experimental dispersos (cuando solo hay unos pocos sensores).
  • Problemas inversos: cuando es necesario calcular propiedades físicas (viscosidad, Re) a partir de valores medidos.
  • Interpolación de datos basada en física: para completar espacios vacíos en datos experimentales utilizando leyes físicas.

¿Se puede sustituir inmediatamente a OpenFOAM/Fluent?

Todavía no. El tiempo de entrenamiento es de decenas a cientos de veces más lento que el de un solver FVM. Un flujo de canal simple puede tardar varias horas en una GPU. Actualmente no es adecuado para análisis de ingeniería en tiempo real.

Sin embargo, existe una investigación activa sobre el uso híbrido con OpenFOAM. Se utiliza FVM para obtener una solución aproximada y las PINN para realizar una corrección detallada.

# Ejemplo de cálculo de pérdida física implementado en PyTorch
def physics_loss(model, x, t, Re):
    x.requires_grad_(True)
    t.requires_grad_(True)
 
    output = model(x, t)
    u, v, p = output[:, 0], output[:, 1], output[:, 2]
 
    # Cálculo de derivadas parciales mediante diferenciación automática
    u_t = torch.autograd.grad(u.sum(), t, create_graph=True)[0]
    u_x = torch.autograd.grad(u.sum(), x, create_graph=True)[0][:, 0]
    u_y = torch.autograd.grad(u.sum(), x, create_graph=True)[0][:, 1]
    p_x = torch.autograd.grad(p.sum(), x, create_graph=True)[0][:, 0]
 
    # Residuo de la ecuación de momento en x
    residual_u = u_t + u * u_x + v * u_y + p_x - (1/Re) * (u_x + u_y)
 
    return (residual_u**2).mean()

Donde subir λ borra el término de los sensores#

En tres dimensiones y a Re alto, la parte de alta frecuencia del residuo no se queda en la red. Una capa límite delgada hace vagar el entrenamiento, y una PINN estándar no devuelve la anchura de ese vagabundeo. Partir el dominio, o arrancar desde un campo de FVM, es la elección siguiente, no un ajuste más de λ.

Un paso de tiempo que deja de devolver ganancia es el mismo tipo de factura que un peso de la pérdida. Una ventana en la que quintuplicar Δt solo aceleró 1,9 veces, y multiplicarlo por diez se quedó en el sitio es esa curva. λ hace lo mismo. Pasado un valor, solo borra el término de los sensores.

Comparte si te resultó útil.