stringtranslate.com

Métodos de Boltzmann en red

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.

Simulación por ordenador en dos dimensiones, mediante el método Lattice Boltzmann, de una gota que comienza estirada y se relaja hasta alcanzar su forma circular de equilibrio.

Algoritmo

Esquema de vectores de red D2Q9 para Boltzmann de red 2D

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

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:

Finalmente, se recupera la ecuación de Navier-Stokes bajo el supuesto de que la variación de densidad es pequeña:

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:

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 = 0 para  e  en  a : s = s + e volver  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 @metodostatico def  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 + columna imprimir ( fila ) cadenar = cadenar + fila + " \n "  cadena de retorno #Momentum del campo def  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ón df = 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 flujo VelocidadDeFlujo = CampoDeVelocidad [ y ][ x ] Punteado = VelocidadDeFlujo [ 0 ] * VectoresDeVelocidadDiscreta [ v ][ 0 ] + VelocidadDeFlujo [ 1 ] * VectoresDeVelocidadDiscreta [ v ][ 1 ] # #La expansión de Taylor del término de equilibrio taylor = 1 + (( Punteado ) / ( VelocidadDelSonido ** 2 )) + (( Punteado ** 2 ) / ( 2 * VelocidadDelSonido ** 4 )) - (( VelocidadDelFlujo [ 0 ] ** 2 + VelocidadDelFlujo [ 1 ] ** 2 ) / ( 2 * VelocidadDelSonido ** 2 )) #La densidad actual densidad = CampoDeNesidad [ y ][ x ] #El equilibrio equilibrio = densidad * taylor * pesos [ v ] Segundo término = ( equilibrio - velocidad ) / constante de relajación del tiempo df . campo [ y ][ x ][ v ] = PrimerTérmino + SegundoTérmino #Paso de transmisión para  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á resolviendo TargetY = y + VectoresDeVelocidadDiscreta [ v ][ 1 ] ObjetivoX = x + VectoresDeVelocidadDiscreta [ v ][ 0 ] # Límite periódico si  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ópicas para  y  en  rango ( res ): para  x  en  rango ( res ): #Recalcular campo de densidad CampoDensidad [ y ][ x ] = suma ( a.campo [ y ] [ x ] ) #Recalcular la velocidad del flujo Velocidad 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 velocidad campoVelocidad [ y ][ x ] = VelocidadFlujo #Visualizar Campo2D .VisualizarCampo ( a , 128,100 )

Enlaces externos

Lectura adicional

Notas

  1. ^ 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.
  2. ^ 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.
  3. ^ 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.
  4. ^ 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
  5. ^ 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.
  6. ^ Tu, Jiyuan; Yeoh, Guan Heng; Liu, Chaoqun (2018). Dinámica de fluidos computacional: un enfoque práctico (tercera edición). Oxford; Cambridge, MA: Butterworth-Heinemann. ISBN 978-0-08-101127-0.OCLC 1022830545  .
  7. ^ Succi, pág. 68
  8. ^ Succi, Apéndice D (págs. 261-262)
  9. ^ Succi, capítulo 8.3, p. 117-119
  10. ^ 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.
  11. ^ 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.
  12. ^ 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.
  13. ^ 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.
  14. ^ 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.
  15. ^ 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.
  16. ^ 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.
  17. ^ 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.
  18. ^ 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.
  19. ^ Yuan, P., Schaefer, L. , "Ecuaciones de estado en un modelo de Boltzmann en red", Física de fluidos, vol. 18, 2006.
  20. ^ 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.
  21. ^ 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.
  22. ^ 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.
  23. ^ 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].
  24. ^ 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.
  25. ^ 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.