Clase de métodos de dinámica de fluidos computacional
Los métodos de Boltzmann en red (LBM) , originados a partir del método de autómatas de gas en red (LGA) (modelos Hardy - Pomeau -Pazzis y Frisch - Hasslacher - Pomeau ), son una clase de métodos de dinámica de fluidos computacional (CFD) para la simulación de fluidos . En lugar de resolver las ecuaciones de Navier-Stokes directamente, se simula una densidad de fluido en una red con procesos de transmisión y colisión (relajación). [1] El método es versátil [1] ya que el fluido modelo puede hacerse directamente para imitar el comportamiento común de los fluidos, como la coexistencia de vapor/líquido, y así se pueden simular sistemas de fluidos como gotas de líquido. Además, los fluidos en entornos complejos, como medios porosos, se pueden simular directamente, mientras que con límites complejos puede resultar difícil trabajar con otros métodos de CFD.
Algoritmo
A diferencia de los métodos CFD que resuelven numéricamente las ecuaciones de conservación de propiedades macroscópicas (es decir, masa, momento y energía), LBM modela el fluido que consiste en partículas ficticias, y dichas partículas realizan procesos consecutivos de propagación y colisión sobre una red discreta. Debido a su naturaleza particulada y dinámica local, LBM tiene varias ventajas sobre otros métodos CFD convencionales, especialmente en el manejo de límites complejos, la incorporación de interacciones microscópicas y la paralelización del algoritmo. [2] Una interpretación diferente de la ecuación de Boltzmann en red es la de una ecuación de Boltzmann de velocidad discreta . Los métodos numéricos de solución del sistema de ecuaciones diferenciales parciales dan lugar entonces a un mapa discreto, que puede interpretarse como la propagación y colisión de partículas ficticias.
En un algoritmo, hay pasos de colisión y de transmisión. Estos evolucionan la densidad del fluido , para la posición y el tiempo. Como el fluido está en una red, la densidad tiene un número de componentes igual al número de vectores de red conectados a cada punto de la red. Como ejemplo, aquí se muestran los vectores de red para una red simple utilizada en simulaciones en dos dimensiones. Esta red se denota generalmente D2Q9, para dos dimensiones y nueve vectores: cuatro vectores a lo largo del norte, este, sur y oeste, más cuatro vectores a las esquinas de un cuadrado unitario, más un vector con ambos componentes cero. Entonces, por ejemplo, el vector , es decir, apunta hacia el sur y, por lo tanto, no tiene ningún componente sino un componente de . Entonces, uno de los nueve componentes de la densidad total en el punto central de la red, , es esa parte del fluido en el punto que se mueve hacia el sur, a una velocidad en unidades de red de uno.
Entonces los pasos que evolucionan el fluido en el tiempo son: [1]
El paso de colisión
que es el modelo de Bhatnagar Gross y Krook (BGK) [3] para la relajación hasta el equilibrio a través de colisiones entre las moléculas de un fluido. es la densidad de equilibrio a lo largo de la dirección i en la densidad de corriente allí, esto se puede expresar en una aproximación de Taylor (ver más abajo, en Ecuaciones matemáticas para simulaciones):
El modelo supone que el fluido se relaja localmente hasta alcanzar el equilibrio en una escala de tiempo característica . Esta escala de tiempo determina la viscosidad cinemática ; cuanto mayor sea, mayor será la viscosidad cinemática.
El paso de streaming
Como es, por definición, la densidad del fluido en un punto en el tiempo , que se mueve a una velocidad de por paso de tiempo, entonces en el siguiente paso de tiempo habrá fluido hasta el punto .
Ventajas
El LBM fue diseñado desde cero para funcionar de manera eficiente en arquitecturas masivamente paralelas , que van desde FPGAs y DSPs embebidos de bajo costo hasta GPUs y clústeres heterogéneos y supercomputadoras (incluso con una red de interconexión lenta). Permite física compleja y algoritmos sofisticados. La eficiencia conduce a un nivel cualitativamente nuevo de comprensión, ya que permite resolver problemas que antes no se podían abordar (o solo con una precisión insuficiente).
El método parte de una descripción molecular de un fluido y puede incorporar directamente términos físicos derivados del conocimiento de la interacción entre moléculas. Por ello, es una herramienta indispensable en la investigación fundamental, ya que permite acortar el ciclo entre la elaboración de una teoría y la formulación de un modelo numérico correspondiente.
Preprocesamiento automatizado de datos y generación de redes en un tiempo que representa una pequeña fracción de la simulación total.
Análisis, posprocesamiento y evaluación de datos paralelos.
Flujo multifásico completamente resuelto con pequeñas gotas y burbujas.
Flujo completamente resuelto a través de geometrías complejas y medios porosos.
Flujo complejo acoplado con transferencia de calor y reacciones químicas.
Limitaciones y desarrollo
Al igual que con la CFD basada en Navier-Stokes, los métodos LBM se han acoplado con éxito con soluciones específicas térmicas para permitir la capacidad de simulación de transferencia de calor (conducción basada en sólidos, convección y radiación). Para los modelos multifásicos/multicomponentes, el espesor de la interfaz suele ser grande y la relación de densidad a través de la interfaz es pequeña en comparación con los fluidos reales. Recientemente, este problema ha sido resuelto por Yuan y Schaefer , quienes mejoraron los modelos de Shan y Chen, Swift y He, Chen y Zhang. Pudieron alcanzar relaciones de densidad de 1000:1 simplemente cambiando la ecuación de estado . Se ha propuesto aplicar la Transformación Galileana para superar la limitación de modelar flujos de fluidos de alta velocidad. [4]
Los rápidos avances de este método también habían simulado con éxito la microfluídica , [5] Sin embargo, hasta ahora, LBM todavía está limitado en la simulación de flujos de alto número de Knudsen donde se utilizan en su lugar métodos de Monte Carlo , y los flujos de alto número de Mach en aerodinámica todavía son difíciles para LBM, y un esquema termohidrodinámico consistente está ausente. [6]
Desarrollo a partir del método LGA
El modelo LBM se originó a partir del método de autómatas de gas en red (LGA), que puede considerarse como un modelo simplificado de dinámica molecular ficticio en el que el espacio, el tiempo y las velocidades de las partículas son todos discretos. Por ejemplo, en el modelo FHP bidimensional , cada nodo de la red está conectado a sus vecinos por 6 velocidades de red en una red triangular; puede haber 0 o 1 partículas en un nodo de la red que se mueven con una velocidad de red dada. Después de un intervalo de tiempo, cada partícula se moverá al nodo vecino en su dirección; este proceso se llama paso de propagación o de transmisión. Cuando más de una partícula llega al mismo nodo desde diferentes direcciones, chocan y cambian sus velocidades de acuerdo con un conjunto de reglas de colisión. Los pasos de transmisión y los pasos de colisión se alternan. Las reglas de colisión adecuadas deben conservar el número de partículas (masa), el momento y la energía antes y después de la colisión. Los LGA presentan varios defectos innatos para su uso en simulaciones hidrodinámicas: falta de invariancia galileana para flujos rápidos, ruido estadístico y escalabilidad deficiente del número de Reynolds con el tamaño de la red. Sin embargo, los LGA son adecuados para simplificar y ampliar el alcance de los modelos de reacción, difusión y dinámica molecular .
La principal motivación para la transición de LGA a LBM fue el deseo de eliminar el ruido estadístico reemplazando el número de partículas booleanas en una dirección de red con su promedio de conjunto, la llamada función de distribución de densidad. Acompañando este reemplazo, la regla de colisión discreta también se reemplaza por una función continua conocida como operador de colisión. En el desarrollo de LBM, una simplificación importante es aproximar el operador de colisión con el término de relajación Bhatnagar-Gross-Krook (BGK). Este modelo BGK de red (LBGK) hace que las simulaciones sean más eficientes y permite flexibilidad de los coeficientes de transporte. Por otro lado, se ha demostrado que el esquema LBM también puede considerarse como una forma discretizada especial de la ecuación de Boltzmann continua. A partir de la teoría de Chapman-Enskog , se pueden recuperar las ecuaciones de continuidad gobernantes y de Navier-Stokes del algoritmo LBM.
Celosías y la DnorteQmetroclasificación
Los modelos de Boltzmann en red se pueden operar en varias redes diferentes, tanto cúbicas como triangulares, y con o sin partículas en reposo en la función de distribución discreta.
Una forma popular de clasificar los diferentes métodos por red es el esquema D n Q m . Aquí, "D n " representa " n dimensiones", mientras que "Q m " representa " m velocidades". Por ejemplo, D3Q15 es un modelo de Boltzmann de red tridimensional en una cuadrícula cúbica, con partículas en reposo presentes. Cada nodo tiene una forma de cristal y puede entregar partículas a 15 nodos: cada uno de los 6 nodos vecinos que comparten una superficie, los 8 nodos vecinos que comparten una esquina y él mismo. [7] (El modelo D3Q15 no contiene partículas que se mueven a los 12 nodos vecinos que comparten un borde; agregarlos crearía un modelo "D3Q27").
Las magnitudes reales, como el espacio y el tiempo, deben convertirse a unidades reticulares antes de la simulación. Las magnitudes adimensionales, como el número de Reynolds , permanecen invariables.
Conversión de unidades de red
En la mayoría de las simulaciones de Boltzmann en red, la unidad básica para el espaciado de red es , por lo que si el dominio de longitud tiene unidades de red a lo largo de toda su longitud, la unidad espacial se define simplemente como . Las velocidades en las simulaciones de Boltzmann en red se dan típicamente en términos de la velocidad del sonido. Por lo tanto, la unidad de tiempo discreta se puede dar como , donde el denominador es la velocidad física del sonido. [8]
En el caso de flujos de pequeña escala (como los que se observan en la mecánica de medios porosos ), operar con la verdadera velocidad del sonido puede dar lugar a pasos de tiempo inaceptablemente cortos. Por lo tanto, es habitual aumentar el número de Mach reticular a un valor mucho mayor que el número de Mach real y compensarlo aumentando también la viscosidad para preservar el número de Reynolds . [9]
Simulación de mezclas
Simular flujos multifásicos/multicomponentes siempre ha sido un desafío para la CFD convencional debido a las interfaces móviles y deformables . Más fundamentalmente, las interfaces entre diferentes fases (líquido y vapor) o componentes (por ejemplo, aceite y agua) se originan a partir de las interacciones específicas entre las moléculas de fluido. Por lo tanto, es difícil implementar tales interacciones microscópicas en la ecuación macroscópica de Navier-Stokes. Sin embargo, en LBM, la cinética de partículas proporciona una manera relativamente fácil y consistente de incorporar las interacciones microscópicas subyacentes modificando el operador de colisión. Se han desarrollado varios modelos LBM multifásicos/multicomponentes. Aquí, las separaciones de fases se generan automáticamente a partir de la dinámica de partículas y no se necesita un tratamiento especial para manipular las interfaces como en los métodos CFD tradicionales. Se pueden encontrar aplicaciones exitosas de los modelos LBM multifásicos/multicomponentes en varios sistemas de fluidos complejos, incluida la inestabilidad de la interfaz, la dinámica de burbujas / gotas , la humectación en superficies sólidas, el deslizamiento interfacial y las deformaciones electrohidrodinámicas de las gotas.
Recientemente se ha propuesto un modelo de Boltzmann en red para la simulación de la combustión de mezclas de gases capaz de acomodar variaciones de densidad significativas en un régimen de bajo número de Mach. [10]
En este sentido, cabe señalar que, dado que el LBM se ocupa de un conjunto más amplio de campos (en comparación con la CFD convencional), la simulación de mezclas de gases reactivos presenta algunos desafíos adicionales en términos de demanda de memoria en lo que respecta a mecanismos de combustión detallados de gran tamaño. Sin embargo, esos problemas se pueden abordar recurriendo a técnicas de reducción sistemática de modelos. [11] [12] [13]
Método de Boltzmann de red térmica
En la actualidad (2009), un método de red térmica de Boltzmann (TLBM) se clasifica en una de tres categorías: el enfoque de múltiples velocidades, [14] el enfoque escalar pasivo, [15] y la distribución de energía térmica. [16]
Derivación de la ecuación de Navier-Stokes a partir de LBE discreto
Comenzando con la ecuación de Boltzmann de red discreta (también conocida como ecuación LBGK debido al operador de colisión utilizado). Primero hacemos una expansión en serie de Taylor de segundo orden sobre el lado izquierdo de la LBE. Esto se elige en lugar de una expansión de Taylor de primer orden más simple, ya que la LBE discreta no se puede recuperar. Al hacer la expansión en serie de Taylor de segundo orden, el término derivado cero y el primer término a la derecha se cancelarán, dejando solo los términos de la primera y segunda derivada de la expansión de Taylor y el operador de colisión:
Para simplificar, escríbalo como . La expansión de la serie de Taylor ligeramente simplificada es la siguiente, donde : es el producto de dos puntos entre díadas:
Al expandir la función de distribución de partículas en componentes de equilibrio y no equilibrio y usar la expansión de Chapman-Enskog, donde es el número de Knudsen, el LBE expandido de Taylor se puede descomponer en diferentes magnitudes de orden para el número de Knudsen para obtener las ecuaciones continuas adecuadas:
Las distribuciones de equilibrio y no equilibrio satisfacen las siguientes relaciones con sus variables macroscópicas (estas se utilizarán más adelante, una vez que las distribuciones de partículas estén en la "forma correcta" para escalar desde el nivel de partículas al macroscópico):
La expansión de Chapman-Enskog es entonces:
Sustituyendo el equilibrio y el no equilibrio expandidos en la expansión de Taylor y separándolos en diferentes órdenes de , se derivan casi por completo las ecuaciones del continuo.
Para ordenar :
Para ordenar :
Luego, la segunda ecuación se puede simplificar con algo de álgebra y la primera ecuación en la siguiente:
Aplicando las relaciones entre las funciones de distribución de partículas y las propiedades macroscópicas anteriores, se obtienen las ecuaciones de masa y momento:
El tensor de flujo de momento tiene entonces la siguiente forma:
donde es la abreviatura del cuadrado de la suma de todos los componentes de (es decir, ), y la distribución de partículas de equilibrio con segundo orden para ser comparable a la ecuación de Navier-Stokes es:
La distribución de equilibrio solo es válida para velocidades pequeñas o números de Mach pequeños . Si volvemos a insertar la distribución de equilibrio en el tensor de flujo, obtenemos lo siguiente:
Esta derivación sigue el trabajo de Chen y Doolen. [17]
Ecuaciones matemáticas para simulaciones
La ecuación continua de Boltzmann es una ecuación de evolución para una función de distribución de probabilidad de partícula única y la función de distribución de densidad de energía interna (He et al.) son respectivamente:
donde está relacionado con por
es una fuerza externa, es una integral de colisión y (también denominada en la literatura) es la velocidad microscópica. La fuerza externa está relacionada con la fuerza externa de temperatura mediante la siguiente relación. Una prueba típica para un modelo es la convección de Rayleigh-Bénard para .
Las variables macroscópicas como la densidad , la velocidad y la temperatura se pueden calcular como los momentos de la función de distribución de densidad:
El método de Boltzmann en red discretiza esta ecuación limitando el espacio a una red y el espacio de velocidad a un conjunto discreto de velocidades microscópicas (es decir, ). Las velocidades microscópicas en D2Q9, D3Q15 y D3Q19, por ejemplo, se dan como:
La ecuación de Boltzmann discretizada monofásica para la densidad de masa y la densidad de energía interna son:
El operador de colisión a menudo se aproxima mediante un operador de colisión BGK bajo la condición de que también satisfaga las leyes de conservación:
En el operador de colisión se encuentra la función de distribución de probabilidad de partículas en equilibrio y discreta . En D2Q9 y D3Q19, se muestra a continuación para un flujo incompresible en forma continua y discreta donde D , R y T son la dimensión, la constante universal de los gases y la temperatura absoluta respectivamente. La derivación parcial para la forma continua a discreta se proporciona a través de una derivación simple con una precisión de segundo orden.
Dejar que se obtenga el resultado final:
Como ya se ha trabajado mucho en un flujo de un solo componente, se analizará el siguiente modelo de flujo lineal multicomponente. El modelo de flujo lineal multicomponente/multifásico también es más interesante y útil que el de un solo componente. Para estar en línea con la investigación actual, defina el conjunto de todos los componentes del sistema (es decir, paredes de medios porosos, múltiples fluidos/gases, etc.) con elementos .
El parámetro de relajación, , está relacionado con la viscosidad cinemática , , mediante la siguiente relación:
Los momentos de la dan las cantidades locales conservadas. La densidad está dada por
y la velocidad media ponderada, y el momento local están dados por
En la ecuación anterior para la velocidad de equilibrio , el término es la fuerza de interacción entre un componente y los otros componentes. Todavía es tema de mucha discusión ya que es típicamente un parámetro de ajuste que determina cómo interactúan fluido-fluido, fluido-gas, etc. Frank et al. enumeran los modelos actuales para este término de fuerza. Las derivaciones comúnmente utilizadas son el modelo cromodinámico de Gunstensen, el enfoque basado en energía libre de Swift tanto para sistemas líquido/vapor como para fluidos binarios, el modelo basado en interacción intermolecular de He, el enfoque de Inamuro y el enfoque de Lee y Lin. [18]
La siguiente es la descripción general dada por varios autores. [19] [20]
es la masa efectiva y es la función de Green que representa la interacción entre partículas con el sitio vecino. Satisfacer y donde representa fuerzas repulsivas. Para D2Q9 y D3Q19, esto conduce a
La masa efectiva propuesta por Shan y Chen utiliza la siguiente masa efectiva para un sistema multifásico de un solo componente . La ecuación de estado también se da bajo la condición de un solo componente y multifásico.
Hasta ahora, parece que y son constantes libres de ajustar, pero una vez que se introducen en la ecuación de estado del sistema (EOS), deben satisfacer las relaciones termodinámicas en el punto crítico de manera que y . Para la EOS, es 3,0 para D2Q9 y D3Q19, mientras que es igual a 10,0 para D3Q15. [21]
Posteriormente, Yuan y Schaefer [22] demostraron que es necesario modificar la densidad de masa efectiva para simular el flujo multifásico con mayor precisión. Compararon las ecuaciones de diseño de Shan y Chen (SC), Carnahan-Starling (C–S), van der Waals (vdW), Redlich–Kwong (R–K), Redlich–Kwong Soave (RKS) y Peng–Robinson (P–R). Sus resultados revelaron que la ecuación de diseño de SC era insuficiente y que las ecuaciones de diseño de C–S, P–R, R–K y RKS son todas más precisas para modelar el flujo multifásico de un solo componente.
En el caso de los métodos isotérmicos de Boltzmann, que son muy populares, estas son las únicas magnitudes que se conservan. Los modelos térmicos también conservan energía y, por lo tanto, tienen una magnitud conservada adicional:
Cuadrículas no estructuradas
Normalmente, los métodos de Boltzmann en red se implementan en cuadrículas regulares, sin embargo, el uso de cuadrículas no estructuradas puede ayudar a resolver límites complejos; las cuadrículas no estructuradas están formadas por triángulos o tetraedros con variaciones.
Suponiendo que es un volumen formado por todos los baricentros de los tetraedros, caras y aristas conectadas al vértice , la función de densidad de velocidad discreta:
donde están las posiciones de un vértice y sus vecinos, y:
donde son los pesos de una interpolación lineal de por los vértices del triángulo o tetraedro que se encuentra dentro de. [23]
Aplicaciones
Durante los últimos años, el LBM ha demostrado ser una herramienta poderosa para resolver problemas en diferentes escalas de longitud y tiempo. Algunas de las aplicaciones del LBM incluyen:
Flujos en medios porosos [24]
Flujos biomédicos
Ciencias de la tierra (Filtración del suelo).
Ciencias de la Energía (Pilas de Combustible [25] ).
Ejemplo de implementación
Esta es una implementación básica de LBM en una cuadrícula de 100x100, utilizando Python:
#Este es un simulador de fluidos que utiliza el método de Boltzmann en red.#Utilizando D2Q9 y límite periódico, y sin utilizar ninguna biblioteca externa.#Genera dos ondas en 50,50 y 50,40.#Referencia: Tesis de maestría de Erlend Magnus Viggen, "El método Lattice Boltzmann con aplicaciones en acústica".#Para Wikipedia bajo licencia CC-BY-SA.importar matemáticas#Definir algunas utilidadesdefinición suma ( a ):s = 0para e en a :s = s + evolver s#Pesos en D2Q9Pesos = [ 1 / 36 , 1 / 9 , 1 / 36 ,1 / 9 , 4 / 9 , 1 / 9 ,1/36 , 1/9 , 1/36 ]# Vectores de velocidad discretosVectores de velocidad discretos = [[ - 1 , 1 ],[ 0 , 1 ],[ 1 , 1 ],[ - 1 , 0 ],[ 0 , 0 ],[ 1 , 0 ],[ - 1 , - 1 ],[ 0 , - 1 ],[ 1 , - 1 ]]#Una clase Field2Dclase Field2D ():def __init__ ( self , res : int ):auto . campo = []para b en rango ( res ):función = []para un rango ( res ) :fm .adjuntar ( [ 0 , 0 , 0 ,0 , 1 , 0 ,0 , 0 , 0 ])yo.campo.anexar ( fm [ : ] )yo mismo.res = res#Esto visualiza la simulación, solo se puede utilizar en una terminal@metodostaticodef VisualizeField ( a , sc , res ):cadenar = ""para u en rango ( res ):fila = ""para v en rango ( res ):n = int ( u * a . res / res )x = int ( v * a . res / res )momento de flujo = a . Momento ( n , x )col = " \033 [38;2; {0} ; {1} ; {2} m██" . formato ( int ( 127 + sc * momento de flujo [ 0 ]), int ( 127 + sc * momento de flujo [ 1 ]), 0 )fila = fila + columnaimprimir ( fila )cadenar = cadenar + fila + " \n "cadena de retorno#Momentum del campodef Momentum ( self , x , y ):devuelve campoVelocidad [ y ][ x ][ 0 ] * suma ( self . campo [ y ][ x ]), campoVelocidad [ y ][ x ][ 1 ] * suma ( self . campo [ y ][ x ])#Resolución de la simulaciónres = 100a = Campo2D ( res )#El campo de velocidadcampoVelocidad = []para DummyVariable en el rango ( res ):Lista ficticia = []para DummyVariable2 en el rango ( res ):Lista ficticia .append ( [ 0 , 0 ])CampoVelocidad.Anexar ( DummyList [: ] )#El campo de densidadCampo de densidad = []para DummyVariable en el rango ( res ):Lista ficticia = []para DummyVariable2 en el rango ( res ):Lista ficticia .append ( 1 )CampoDeNutrición.append ( DummyList [: ] )#Establecer condición inicialCampo de densidad [ 50 ][ 50 ] = 2Campo de densidad [ 40 ][ 50 ] = 2#Pasos máximos de resoluciónPasos Máximos = 120#La velocidad del sonido, específicamente 1/sqrt(3) ~ 0,57VelocidadDelSonido = 1 / math . sqrt ( 3 )#constante de relajación temporalConstante de relajación de tiempo = 0,5#Resolverpara s en el rango ( MaxSteps ):#Paso de colisióndf = Campo2D ( res )para y en rango ( res ):para x en rango ( res ):para v en el rango ( 9 ):Velocidad = a . campo [ y ][ x ][ v ]Primer término = velocidad#La velocidad del flujoVelocidadDeFlujo = CampoDeVelocidad [ y ][ x ]Punteado = VelocidadDeFlujo [ 0 ] * VectoresDeVelocidadDiscreta [ v ][ 0 ] + VelocidadDeFlujo [ 1 ] * VectoresDeVelocidadDiscreta [ v ][ 1 ]# #La expansión de Taylor del término de equilibriotaylor = 1 + (( Punteado ) / ( VelocidadDelSonido ** 2 )) + (( Punteado ** 2 ) / ( 2 * VelocidadDelSonido ** 4 )) - (( VelocidadDelFlujo [ 0 ] ** 2 + VelocidadDelFlujo [ 1 ] ** 2 ) / ( 2 * VelocidadDelSonido ** 2 ))#La densidad actualdensidad = CampoDeNesidad [ y ][ x ]#El equilibrioequilibrio = densidad * taylor * pesos [ v ]Segundo término = ( equilibrio - velocidad ) / constante de relajación del tiempodf . campo [ y ][ x ][ v ] = PrimerTérmino + SegundoTérmino#Paso de transmisiónpara y en el rango ( 0 , res ):para x en el rango ( 0 , res ):para v en el rango ( 9 ):#Objetivo, el punto reticular que esta iteración está resolviendoTargetY = y + VectoresDeVelocidadDiscreta [ v ][ 1 ]ObjetivoX = x + VectoresDeVelocidadDiscreta [ v ][ 0 ]# Límite periódicosi TargetY == res y TargetX == res :a . campo [ ObjetivoY - res ][ ObjetivoX - res ][ v ] = df . campo [ y ][ x ][ v ]elif ObjetivoX == res :a . campo [ ObjetivoY ][ ObjetivoX - res ][ v ] = df . campo [ y ][ x ][ v ]elif ObjetivoY == res :a . campo [ ObjetivoY - res ][ ObjetivoX ][ v ] = df . campo [ y ][ x ][ v ]elif ObjetivoY == - 1 y ObjetivoX == - 1 :a . campo [ ObjetivoY + res ][ ObjetivoX + res ][ v ] = gl . campo [ y ][ x ][ v ]elif ObjetivoX == - 1 :a . campo [ ObjetivoY ][ ObjetivoX + res ][ v ] = df . campo [ y ][ x ][ v ]elif ObjetivoY == - 1 :a . campo [ ObjetivoY + res ][ ObjetivoX ][ v ] = df . campo [ y ][ x ][ v ]demás :a . campo [ ObjetivoY ][ ObjetivoX ][ v ] = gl . campo [ y ][ x ][ v ]#Calcular variables macroscópicaspara y en rango ( res ):para x en rango ( res ):#Recalcular campo de densidadCampoDensidad [ y ][ x ] = suma ( a.campo [ y ] [ x ] )#Recalcular la velocidad del flujoVelocidad de flujo = [ 0 , 0 ]para DummyVariable en el rango ( 9 ):FlowVelocity [ 0 ] = FlowVelocity [ 0 ] + DiscreteVelocityVectors [ VariableDummy ][ 0 ] * a . campo [ y ][ x ][ VariableDummy ]para DummyVariable en el rango ( 9 ):FlowVelocity [ 1 ] = FlowVelocity [ 1 ] + DiscreteVelocityVectors [ VariableDummy ][ 1 ] * a . campo [ y ][ x ][ VariableDummy ]Velocidad de flujo [ 0 ] = Velocidad de flujo [ 0 ] / Campo de densidad [ y ][ x ]Velocidad de flujo [ 1 ] = Velocidad de flujo [ 1 ] / Campo de densidad [ y ][ x ]#Insertar en el campo de velocidadcampoVelocidad [ y ][ x ] = VelocidadFlujo#VisualizarCampo2D .VisualizarCampo ( a , 128,100 )
Enlaces externos
Método LBM
Método de Boltzmann de red entrópica (ELBM)
dsfd.org: Sitio web de la serie de conferencias anuales DSFD (1986 - ahora) donde se discuten los avances en la teoría y la aplicación del método de Boltzmann en red.
Sitio web de la conferencia anual del ICMMES sobre métodos de Boltzmann en red y sus aplicaciones
Lectura adicional
Deutsch, Andreas; Sabine Dormann (2004). Modelado de patrones biológicos mediante autómatas celulares . Birkhäuser Verlag . ISBN 978-0-8176-4281-5.
Wolf-Gladrow, Dieter (2000). Autómatas celulares de gas reticular y modelos de Boltzmann reticular . Springer Verlag . ISBN 978-3-540-66973-9.
Sukop, Michael C.; Daniel T. Thorne, Jr. (2007). Modelado de Boltzmann en red: una introducción para geocientíficos e ingenieros . Springer . ISBN 978-3-540-27981-5.
Jian Guo Zhou (2004). Métodos de Boltzmann en red para flujos de aguas someras . Springer . ISBN 978-3-540-40746-1.
He, X., Chen, S., Doolen, G. (1998). Un nuevo modelo térmico para el método de Boltzmann en red en el límite incompresible . Academic Press .{{cite book}}: CS1 maint: multiple names: authors list (link)
Guo, ZL; Shu, C (2013). Método de Boltzmann en red y sus aplicaciones en ingeniería . World Scientific Publishing .
Huang, H.; MC Sukop; XY. Lu (2015). Métodos multifásicos de Boltzmann en red: teoría y aplicación . Wiley-Blackwell . ISBN 978-1-118-97133-8.
Krüger, T.; Kusumaatmaja, H.; Kuzmín, A.; Shardt, O.; Silva, G.; Viggen, EM (2017). El método Lattice Boltzmann: principios y práctica . Springer Verlag . ISBN 978-3-319-44647-9.
Notas
^ abc Chen, Shiyi; Doolen, Gary D. (1998). "Método de Boltzmann reticular para flujos de fluidos". Revisión anual de mecánica de fluidos . 30 (1): 329–364. Código Bibliográfico :1998AnRFM..30..329C. doi :10.1146/annurev.fluid.30.1.329. ISSN 0066-4189.
^ Axner, L.; Bernsdorf, J.; Zeiser, T.; Lammers, P.; Linxweiler, J.; Hoekstra, AG (1 de mayo de 2008). "Evaluación del rendimiento de un solucionador Boltzmann de red dispersa paralela". Journal of Computational Physics . 227 (10): 4895–4911. Bibcode :2008JCoPh.227.4895A. doi :10.1016/j.jcp.2008.01.013. ISSN 0021-9991.
^ Bhatnagar, PL; Gross, EP; Krook, M. (1954-05-01). "Un modelo para procesos de colisión en gases. I. Procesos de pequeña amplitud en sistemas monocomponentes cargados y neutros". Physical Review . 94 (3): 511–525. Bibcode :1954PhRv...94..511B. doi :10.1103/PhysRev.94.511. ISSN 0031-899X.
^ Amir H. Hedjripour, David P. Callaghan y Tom E. Baldock, Transformación generalizada del método de Boltzmann en red para flujos de aguas someras, https://doi.org/10.1080/00221686.2016.1168881
^ Zhang, Junfeng (1 de enero de 2011). "Método de Boltzmann en red para microfluídica: modelos y aplicaciones". Microfluídica y nanofluídica . 10 (1): 1–28. doi :10.1007/s10404-010-0624-1. ISSN 1613-4990.
^ Di Rienzo, A. Fabio; Asinari, Pietro; Chiavazzo, Eliodoro; Prasianakis, Nikolaos; Mantzaras, Juan (2012). "Modelo de celosía de Boltzmann para simulaciones de flujo reactivo" (PDF) . EPL . 98 (3): 34001. Código bibliográfico : 2012EL.....9834001D. doi :10.1209/0295-5075/98/34001. S2CID 121908046.
^ Chiavazzo, Eliodoro; Karlin, Ilya; Gorban, Alexander; Boulouchos, Konstantinos (2010). "Acoplamiento de la técnica de reducción de modelos con el método Lattice Boltzmann para simulaciones de combustión". Combust. Flame . 157 (10): 1833–1849. Bibcode :2010CoFl..157.1833C. doi :10.1016/j.combustflame.2010.06.009.
^ Chiavazzo, Eliodoro; Karlin, Ilya; Gorban, Alexander; Boulouchos, Konstantinos (2012). "Simulaciones eficientes de campos de combustión detallados mediante el método Lattice Boltzmann". Revista internacional de métodos numéricos para el flujo de calor y fluidos . 21 (5): 494–517. doi :10.1108/09615531111135792. S2CID 122060895.
^ Chiavazzo, Eliodoro; Karlin, Ilya; Gorban, Alexander; Boulouchos, Konstantinos (2009). "Simulación de la combustión mediante Lattice Boltzmann y cinética química reducida". Journal of Statistical Mechanics: Theory and Experiment . 2009 (6): P06013. Bibcode :2009JSMTE..06..013C. doi :10.1088/1742-5468/2009/06/P06013. S2CID 6459762.
^ McNamara, G., Garcia, A., y Alder, B., "Un modelo de Boltzmann de red térmica hidrodinámicamente correcto", Journal of Statistical Physics, vol. 87, no. 5, págs. 1111-1121, 1997.
^ Shan, Xiaowen (1997). "Simulación de la convección de Rayleigh-Bénard utilizando un método de Boltzmann en red". Physical Review E . 55 (3): 2780–2788. arXiv : comp-gas/9612001 . Código Bibliográfico :1997PhRvE..55.2780S. doi :10.1103/PhysRevE.55.2780.
^ He, Xiaoyi; Chen, Shiyi; Doolen, Gary D. (10 de octubre de 1998). "Un nuevo modelo térmico para el método de Boltzmann en red en el límite incompresible". Revista de física computacional . 146 (1): 282–300. Código Bibliográfico :1998JCoPh.146..282H. doi :10.1006/jcph.1998.6057.
^ Chen, S., y Doolen, GD, "Método de Boltzmann en red para flujos de fluidos Archivado el 25 de febrero de 2019 en Wayback Machine ", Revisión anual de mecánica de fluidos, vol. 30, pág. 329–364, 1998.
^ Frank, X., Almeida, G., Perre, P., "Flujo multifásico en el sistema vascular de la madera: de la exploración microscópica a los experimentos de Boltzmann en red tridimensional", International Journal of Multiphase Flow, vol. 36, págs. 599-607, 2010.
^ Yuan, P., Schaefer, L. , "Ecuaciones de estado en un modelo de Boltzmann en red", Física de fluidos, vol. 18, 2006.
^ Harting, Jens; Chin, Jonathan; Venturoli, Maddalena; Coveney, Peter V. (2005). "Simulaciones de Boltzmann en red a gran escala de fluidos complejos: avances a través de la llegada de cuadrículas computacionales". Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences . 363 (1833): 1895–1915. arXiv : cs/0501021 . Bibcode :2005RSPTA.363.1895H. doi :10.1098/rsta.2005.1618.
^ Yuan, P., Schaefer, L. , "Un modelo de flujo bifásico de Boltzmann en red térmica y su aplicación a problemas de transferencia de calor - Parte 1. Fundamento teórico", Journal of Fluid Engineering 142-150, vol. 128, 2006.
^ Yuan, P.; Schaefer, L. (2006). "Ecuaciones de estado en un modelo de Boltzmann en red". Física de fluidos . 18 (4): 042101–042101–11. Código Bibliográfico :2006PhFl...18d2101Y. doi :10.1063/1.2187070.
^ Misztal, Marek Krzysztof; Hernández-García, Anier; Matin, Rastin; Sørensen, Henning Osholm; Mathiesen, Joachim (9 de septiembre de 2014). "Análisis detallado del método de celosía de Boltzmann en cuadrículas no estructuradas". arXiv : 1409.2754 [física.flu-dyn].
^ Fu, Jinlong; Dong, Jiabin; Wang, Yongliang; Ju, Yang; Owen, D. Roger J.; Li, Chenfeng (abril de 2020). "Efecto de resolución: un modelo de corrección de errores para la permeabilidad intrínseca de medios porosos estimada a partir del método de Boltzmann en red". Transporte en medios porosos . 132 (3): 627–656. Código Bibliográfico :2020TPMed.132..627F. doi :10.1007/s11242-020-01406-z. S2CID 214648297.
^ Espinoza, Mayken (2015). "Efectos de la compresión sobre la porosidad, la tortuosidad de la fase gaseosa y la permeabilidad a los gases en una capa de difusión de gas PEM simulada". Revista Internacional de Investigación Energética . 39 (11): 1528–1536. Bibcode :2015IJER...39.1528E. doi : 10.1002/er.3348 . S2CID 93173199.