¿La dinámica de fluidos computacional (CFD) alguna vez será 100% correcta?

Los resultados de CFD nunca coinciden con los números del mundo real, especialmente en el flujo complejo 3D turbulento...

¿Qué impide que CFD sea perfecto? ¿Alguna vez será 100 % correcto? Si se resuelve el problema del milenio de Navier-Stokes, ¿el CFD se volverá perfecto o el flujo turbulento es simplemente tan complejo que ninguna matemática puede describirlo correctamente?

Re "nunca coincidir con números del mundo real" : ¿Cuál es la desviación (en %)? ¿Qué desviación se puede tolerar?
¿Puede la realidad ser 100% correcta? El universo también tiene una granularidad.
@PcMan Entonces, el problema exponencial en realidad se puede resolver en tiempo lineal porque la potencia de la computadora también crece exponencialmente. 200 años, más o menos unos pocos. Aparentemente, deberíamos centrarnos en resolver el envejecimiento primero. ¿Cómo está Kurzweil, por cierto? ¿ Sigues tomando 100 pastillas al día ?
Todavía no existe un modelo completo de física, por lo que ningún modelo de nada es 100% correcto, analítico o numérico.
@Peter - Reinstaurar a Monica: Pero existen límites fundamentales para el crecimiento del poder de cómputo. Por ejemplo, es difícil hacer trazas de circuito de menos de un átomo de ancho, o aumentar la frecuencia de la CPU en el rango de THz...
Desde una perspectiva de computabilidad: hay problemas de física newtoniana que son indecidibles debido a problemas de problemas de detención. No sé si existe tal codificación para CFD. (Esencialmente: hay sistemas que divergen hasta el infinito en un tiempo finito. Codifique una máquina de Turing en la mecánica de uno de esos sistemas, y puede tener un problema en el que calcular lo que sucede en un tiempo finito requiere saber si dicha máquina de Turing se detiene... ) (Me gustaría elaborar una respuesta completa, pero no puedo, debido a la falta de reputación en este subsitio. A este sitio realmente no le importa la colaboración entre disciplinas...)
@PcMan: En realidad, la velocidad de procesamiento de un solo núcleo/hilo SE HA estancado bastante bien: preshing.com/20120208/… Donde está viendo aumentos en el rendimiento es al colocar múltiples núcleos en una CPU y hacer paralelismo a nivel de instrucción en el núcleo. Pero múltiples núcleos solo ayudan si puede paralelizar el problema, y ​​hay muchos problemas que son inherentemente secuenciales. Y también llega a un punto en el que el cuello de botella no son los fracasos, sino la comunicación entre los núcleos. (Ver, por ejemplo, programación de GPU).
@jamesqf ¿Sabes qué? tú ganas. Me niego a entrar en un argumento fáctico con alguien que niega los hechos. vaya a leer sobre la Ley de Moore, vea si puede encontrar la parte que habla sobre "procesamiento de núcleo único". Supongo que está leyendo una Ley de Moore diferente a la mía.
@jamesqf Ese artículo es antiguo. El IPC ha seguido mejorando de forma espectacular. Un 5800X tiene más del doble del rendimiento de un solo hilo que un i7 970 de hace una década.
@PcMan: ¿Argumento fáctico? Su "hecho" parece ser más una ilusión, esperando que debido a que cierta tecnología ha mostrado aumentos de rendimiento en el pasado, continuará haciéndolo indefinidamente, algo que no está confirmado ni por la experiencia ni por la física.

Respuestas (8)

Esta es una pregunta amplia, por lo tanto, una respuesta amplia 😃

Tal como se encuentra ahora el CFD de alta tecnología, ya es lo suficientemente correcto para, digamos, el 95 % de los casos de uso. No conozco mucha utilidad en el modelado de flujo turbulento complejo con un alto nivel de precisión.

CFD procederá a ser cada vez más preciso, pero nunca se logrará el 100 % de precisión, al menos si asumimos que esto significaría una predicción de ruta 100 % precisa a nivel molecular/atómico.

La cuestión es que ni siquiera la naturaleza puede replicar eventos de flujo. Cualquier flujo de fluido es caótico y solo parecerá constante o repetitivo si se observa a una escala lo suficientemente grande. Por naturaleza, todo fluir obedece al principio expuesto por Heráclito:

"No puedes bañarte dos veces en el mismo río"

Entonces, si arroja la misma piedra en un vaso de agua tranquila desde la misma altura, ¿el movimiento del agua en un nivel microscópico nunca será el mismo?
Exactamente. Si, y solo si, pudiera hacer que todas las variables fueran iguales, la dinámica fluida del evento podría ser la misma. Pero incluso si haces todo igual, el universo no lo hará. En la escala más pequeña, tendrá partículas virtuales que interfieren aleatoriamente con el experimento, alterando los resultados muy levemente.
@JurgenM No importa cuán tranquilo se vea, dos cuerpos de agua líquida nunca son iguales. Todas y cada una de sus moléculas se encuentran en un estado energético diferente, moviéndose y rebotando con diferente ángulo y velocidad. El movimiento browniano da lugar a un número interminable de flujos convectivos impredecibles, y eso incluso si ambos cuerpos tienen la misma temperatura general. Luego, cuando se tienen en cuenta todas las interacciones de la capa límite, las cosas se vuelven mucho más locas aún...
@Jurgen M: Suponiendo que un vaso de agua contenga una taza de EE. UU., hay (según Google) 8.3569904e+24 moléculas en ese vaso. Incluso si de alguna manera pudieras hacer que cada una de esas moléculas vaya EXACTAMENTE en la misma dirección y velocidad aleatorias en ambos vasos (que no puedes: mira el principio de incertidumbre de Heisenberg), hay 3 átomos en cada molécula, vibrando y girando en varios modos, algunos de los cuales son solo aproximadamente reales (debido a la cuántica :-)), y nuestro amigo Caos (también conocido como dependencia sensible de las condiciones iniciales) amplificará incluso la más mínima diferencia.
en cuanto a la precisión, habría algunos casos de uso. Algo en lo que podría pensar, en este momento: separación de la capa límite y flujos separados sobre superficies aerodinámicas (que conducen a la parada), especialmente para determinar la parada y el margen en los compresores axiales. Que yo sepa, el CFD actual no está realmente a la altura.
Estoy bastante seguro de que el comportamiento de bloqueo de los perfiles aerodinámicos se puede modelar de manera confiable con CFD. La forma en que actúa el flujo después de la separación se puede modelar a un nivel satisfactorio.

100% correcto, no. Esto se debe a que CFD (y muchas otras aplicaciones informáticas) funcionan con aproximaciones numéricas. No se conoce una solución exacta* o la solución exacta no es computable. Entonces, la aplicación usa aproximaciones numéricas, generalmente en una cuadrícula o malla. Para obtener una mejor aproximación, haga la cuadrícula más pequeña o use un paso de tiempo más pequeño (ambos aumentan el tiempo de cálculo necesario). Pero no obtendrá una precisión del 100 % a menos que use un espacio de cuadrícula y un intervalo de tiempo infinitamente pequeños**, lo cual no es práctico.

Otro problema es que los cálculos de punto flotante en una computadora tienen solo una precisión limitada. (Alrededor de 7 dígitos decimales para precisión simple, 15 para doble.

Además, cuando ingresa a regímenes de flujo turbulento, se encuentra con el problema de la dependencia sensible de las condiciones iniciales, también conocido como "caos" o "efecto mariposa". Cambie la entrada a un problema muy levemente, y después de un tiempo las salidas ser completamente diferente: https://en.wikipedia.org/wiki/Chaos_theory

*Por ejemplo, trayectorias de naves espaciales. No existe una solución general para el problema de los 3 cuerpos: cómo 3 o más objetos se mueven bajo la influencia de la gravedad. Pero las aproximaciones numéricas son lo suficientemente buenas como para aterrizar una nave espacial en un lugar determinado de Marte, o jugar al billar gravitatorio entre las lunas de Júpiter y Saturno.

**O la longitud y el tiempo de Planck, si acepta la teoría de que el espacio-tiempo está cuantizado: https://en.wikipedia.org/wiki/Planck_units En el estado actual de la tecnología informática, no hay mucha diferencia práctica :-)

En primer lugar, el Desafío del Milenio pregunta sobre la existencia y la singularidad de una solución a las ecuaciones de Navier-Stokes (NS) dadas las condiciones iniciales/límite compatibles. Esta pregunta es de gran interés desde la perspectiva de las matemáticas aplicadas, pero no* ayuda a obtener la solución numérica y, por lo tanto, tiene un interés limitado para los ingenieros.

* ¿Pero quién sabe? Tal vez una prueba constructiva realmente ayude a resolver las ecuaciones.

En segundo lugar, suponiendo que se mantengan la unicidad y la existencia, se ha demostrado que la simulación numérica directa (DNS) del NS coincide extremadamente bien con los experimentos donde se mantiene el continuo. El DNS incluso puede sustituir los experimentos en muchos casos, suponiendo que realmente pueda obtener la solución en un tiempo razonable y con las capacidades informáticas existentes. El problema radica en resolver completamente la escala de longitud de la turbulencia, lo que requeriría un tamaño de malla que escale con el número de Reynolds para R mi 3 ; el tamaño del paso de tiempo también se reduce como una potencia del número de Reynolds. Para cualquier problema de ingeniería razonable, la memoria/procesador/tiempo requerido para resolver es prohibitivo para fines prácticos.

De ahí la razón del modelado de turbulencia , que hace manejable la computación práctica. Estos modelos ignoran la turbulencia en escalas de longitudes pequeñas al imitar sus efectos en las escalas más grandes en un intento por predecir fenómenos de interés para los ingenieros, como arrastre, separación de flujo, remolinos, etc. Sin embargo, no hay comida gratis; el "truncamiento" de la escala de longitud significa que la turbulencia no se resuelve de forma natural, sino que se "prescribe" a través de parámetros; y por lo general no sabe cuáles deberían ser estos parámetros hasta que haya resuelto la turbulencia.

Si eso te suena como una pregunta sobre el huevo y la gallina, ¡tienes razón! Es por eso que CFD (con modelado de turbulencia) aún requiere verificación experimental y nunca será 100% correcto, como usted dice.

Por las razones citadas anteriormente, la respuesta definitivamente No, pero un punto a recordar aquí es que los CFD de alta gama no tienen que ser perfectos para ser inmensamente útiles. Imagine que uno quisiera obtener una precisión de 7 posiciones a partir de una predicción de temperatura en CFD. Esto sería una tontería porque en la práctica de la ingeniería, en primer lugar , no se pueden medir las temperaturas de flujo libre con esa precisión. (Se ha dicho que la precisión de tres lugares fue suficiente para diseñar el SR-71).

No, nunca será 100% exacto. Las ecuaciones de Navier-Stokes describen bastante bien el aire o el agua, asumiendo que el fluido es un continuo. Por lo general, también se supone que son fluidos newtonianos.

Las ecuaciones de Navier-Stokes para un flujo turbulento deben resolverse numéricamente (para algunos flujos laminares existen soluciones analíticas). Las soluciones numéricas nunca son exactas para estos problemas, sin importar qué tipo de orden de precisión utilice para sus discretizaciones (FDM, FVM, DG, FEM,...). Siempre habrá algunos errores numéricos (ahora estoy ignorando el modelo de turbulencia, porque es obvio que los cierres siempre son solo aproximados, la única esperanza de obtener cosas exactas estaría en el DNS).

Incluso si resuelve las soluciones de Navier-Stokes exactamente (como puede hacerlo en algunos flujos laminares), solo resolvió las ecuaciones del modelo. Los fluidos reales están hechos de moléculas, no de un continuo. Podría hacer una solución de dinámica molecular (consulte https://mattermodeling.stackexchange.com/questions/tagged/molecular-dynamics ), pero nuevamente resolverá algunas ecuaciones modelo, con algunos potenciales entre moléculas y átomos. Las moléculas reales están hechas de núcleos y electrones. Los electrones interactúan de manera difícil y aparecerán efectos cuánticos. Hay una aleatoriedad inherente en ellos. Nuevamente, existen modelos para muchos sistemas cuánticos de partículas, como DFT o HT, pero hay aproximaciones inherentes a su formulación.

Menos importante, los núcleos son obviamente también compuestos de nucleones, que interactúan mediante algunos potenciales complicados a través de piones, pero más exactamente en realidad están compuestos de nuevo por quarks).

Por supuesto, cada uno de los pasos requiere un poder computacional inmenso, incluso para algunos problemas pequeños, pero existen barreras de otro tipo en los propios modelos que hacen que algunos aspectos sean esencialmente aleatorios.

Y luego todo el tema de las condiciones iniciales desconocidas, las condiciones límite desconocidas y el caos determinista. Esos son muy importantes para las soluciones reales para un tiempo dado, menos importantes para los valores promediados en el tiempo.

Hay varios métodos CFD que implican algunas compensaciones entre la complejidad y la precisión computacional. Obviamente, la simulación numérica directa , la computacionalmente más intensiva, es el único método que se puede considerar para su pregunta, e incluso en DNS, la turbulencia a pequeña escala suele estar parametrizada. El DNS ya es casi prohibitivo, pero ir más allá del 95 % requerirá exponencialmente aún más recursos por cada porcentaje. De hecho, intuitivamente diría que necesitaría una computadora con un poder de procesamiento que coincida con el número de moléculas, que por definición, incluso si realmente pudiera existir, debe ser al menos unas pocas veces más grande que el entorno simulado. Luego está, por supuesto, el Premio del Milenio: si no existe tal solución, ninguna cantidad de potencia de procesamiento podría llevarlo allí.

Y no olvide que incluso el DNS de muy alto nivel puede terminar con resultados muy erróneos si ocurre un fenómeno a pequeña escala que ocurre por debajo de la resolución del modelo, algo raro hoy en día, principalmente porque estamos comenzando a tener muy buena experiencia con DNS y la mayoría de estos ya se conocen.

En DNS, la turbulencia a pequeña escala no se puede parametrizar, esa es la definición misma de DNS. Las suposiciones utilizadas son las ecuaciones de Navier-Stokes y, por lo tanto, se supone un continuo y, por lo general, un fluido newtoniano. No tiene sentido hablar del número de moléculas en el DNS. Si quieres moléculas, habla de dinámica molecular, no de DNS.

Ninguna simulación, en cualquier campo, puede ser 100% correcta. Sólo porque la computadora discretizar. Y los pequeños errores divergen exponencialmente con el tiempo (búsqueda del exponente de Lyapunov).

Es seguro decir que nunca será 100% correcto. Requeriría tener en cuenta y simular cada molécula de fluido individual. Un centímetro cúbico de aire tiene más de 10 elevado a 19 moléculas: es más de 10.000.000.000.000.000.000 moléculas. Buena suerte con cualquier pieza de hardware existente o futura que simule todas las interacciones entre ellos.