You are on page 1of 4

VIII CONGRESO COLOMBIANO DE MÉTODOS NUMÉRICOS: Simulación en Ciencias y Aplicaciones Industriales

8CCMN - 2011, Agosto. 10-12, 2011, Medellı́n, Colombia


2011
c Universidad EAFIT

Modelo de Lattice Boltzmann para la Simulación de Campos Electro-


magnéticos
Miller Mendoza1,2 y José D. Muñoz2 ∗
1
Computational Physics for Engineering Materials, Institute for Building Materials, ETH Zürich, Schafmattstrasse 6, HIF, CH-
8093 Zürich (Switzerland)
2
Grupo Simulacion de Sistemas Fı́sicos, Ceiba-Complejidad, Universidad Nacional de Colombia, Departamento de Fisica, Crr
30 # 45-03, Ed. 404, Of. 348, Bogotá D.C., Colombia
mmendozaj@unal.edu.co,jdmunozc@unal.edu.co

Resumen Se presenta un modelo de lattice-Boltzmann tridimensional que reproduce en el lı́mite contı́nuo las ecuaciones
de Maxwell en medios materiales. El modelo utiliza un conjunto de velocidades D3Q13, con cuatro funciones de distribución
y cuatro vectores auxiliares asociadas a cada vector velocidad, que combinados dan los campos electromagnéticos. El modelo
permite reproducir la evolución temporal de los campos en las más variadas situaciones: el efecto skin, la radiación de un
dipolo oscilante, las frecuencias de una cavidad resonante, la propagación de una onda en una guı́a microstrip o en una interfaz
dieléctrica, e incluso los campos en medios no lineales, todo dentro del 2 % de exactitud. El método tiene una precisión de
segundo orden, y es diez veces más rápido y usa tres veces menos memoria que los métodos tradicionales de diferencias finitas
FDTD para campos electromagnéticos. Además, es fácil de paralelizar en tarjetas gráficas (GPU), lo que lo puede acelerar
entre 100 y 1000 veces. En resumen, es una alternativa valiosa y completamente diferente a los métodos de elementos finitos y
diferencias finitas tradicionales para la simulación en electrodinámica.
Palabras Clave: Simulación numérica, campos electromagnéticos, lattice-Boltzmann

Abstract Hereby we summarize a recently developed 3D lattice-Boltzmann method for the simulation of Maxwell
equations in materials, and we illustrate its performance by computing the time evolution of electromagnetic fields inside a non-
linear dielectric medium. The model allows for both dielectrics and conductors with realistic parameters and has computed the
most diverse electromagnetic problems (including micro-strips and antennas), all with 2 % accuracy. Preliminary tests showed
that it is one order of magnitude faster than the original finite-difference time-domain scheme formulated by Yee to reach the
same accuracy. To illustrate the power of the new solver, we simulate the time evolution of a cylindrical electromagnetic wave
through a non-linear and non-dispersive medium and the resonant modes of a cylindrical cavity filled with that medium. Our
results are in excellent agreement with the analytic solutions by E.Y. Petrov and A.V. Kudrin for the same cases. The model
constitutes, therefore, a valuable alternative to compute electromagnetic fields, even in non-linear media.
Key words: LATEX template, instructions, Congreso Colombiano de Métodos Numéricos, ACMENICA

1. INTRODUCCIÓN
En las últimas dos décadas, los modelos de Lattice Boltzmann aparecen como una tercera alternativa (al lado de los elementos
finitos y las diferencias finitas) para la simulación de ecuaciones diferenciales parciales. Estos modelos, originalmente propuestos
como una realización discreta de modelos cinéticos para fluidos [9, 7], se han aplicado con éxito para simular difusión [5], ondas
[2, 3] e incluso mecánica cuántica [13, 12, 14] e hidrodinámica relativista [10]. Recientemente [11], hemos desarrollado un
modelo de Lattice-Boltzmann tridimensional que simula la evolución temporal de los campos electromagnéticos en presencia de
conductores, imanes y aislantes. El modelo reproduce las ecuaciones de Maxwell para materiales en el lı́mite continuo, y logra
niveles de precisión del 2 % en las más variadas situaciones. Más aún, nuestros primeros resultados muestran que es diez veces
más rápido y utiliza tres veces menos memoria que el modelo FTDT propuesto por Yee et. al. [16, 15, 8]. Ésto, sumado a la
posibilidad de ser implementado sobre tarjetas gráficas, lo hace una excelente alternativa para la simulación temporal de campos
electromagnéticos.

2. EL MODELO
Todo modelo de lattice Boltzmann (LBM) divide el espacio D-dimensional en celdas, y asocia a todas ellas un conjunto
de Q vectores velocidad que conecta a cada celda con sus celdas vecinas. Asociado con cada vector velocidad viajan una o va-
rias variables, llamadas funciones de distribución, que en conjunto determinan el valor de las cantidades macroscópicas (como:
densidad, velocidad o campos electromagnéticos) en cada celda. Con cada paso de tiempo, cada celda calcula funciones de equi-
librio a partir de las cantidades macroscópicas. Las funciones de distribución deacen exponencialmente hacia estas funciones de

1
a) b)

Figura 1: a) Vectores velocidad D3Q13. El ı́ındice p señala el plano de locación. b) Vectores auxiliares eléctricos y
magnéticos asociados con cada vector velocidad.

equilibrio con un tiempo de relajación caracterı́stico τ de acuerdo con la ecuación de transporte de Boltzmann y a continuación
viajan a las celdas vecinas, siguiendo el vector velocidad con el que están asociadas. Si las cantidades macroscópicas y las fun-
ciones de equilibrio se escogen adecuadamente, el modelo reproduce en el lı́mite continuo las ecuaciones diferenciales parciales
que se desea resolver.
Nuestro LBM para campos √ electromagnéticos utiliza el conjunto de velocidades D3Q13: un vector nulo ~v0 = (0, 0, 0) y
doce vectores ~vip de longitud 2 ((p=0, 1, 2 indica el plano, y el ı́ndice i=1, 2, 3, 4, la posición en el plano, figura√1,a)). A
cada vector velocidad no nulo ~vip le asociamos cuatro vectores auxiliares: dos vectores eléctricos, ~epij , de longitud 1/ 2, y dos
vectores magnéticos, ~bpij , de longitud 1, con j=0, 1 (Figura 1,b)), que cumplen ~bpij = ~vip × ~epij , además de dos vectores nulos
~e0 =(0, 0, 0) y ~b0 =(0, 0, 0).
Toda la información de los campos electromagnéticos se condensa en las funciones de distribución. Nuestro modelo asocia
p(r) (r)
cuatro funciones de distribución fij (j=0, 1 y r=0, 1) a cada vector velocidad no nulo ~vip y dos más f0 al vector nulo ~v0 .
Los campos electromagnéticos para cada celda se calculan a partir de estas funciones y de los vectores auxiliares eléctricos y
magnéticos, ası́:
2 X
4 X 1 2 X
4 X 1 2 X
4 X 1
p(0) p(1) (0) p(0)
X X X
~ =
D fij ~epij , ~ =
B fij ~bpij , ρc = f0 + fij , (1)
i=1 p=0 j=0 i=1 p=0 j=0 i=1 p=0 j=0

~ ~
~ =D
E , ~ = B
H , J~ = σ E
~ . (2)
r µr

Los campos E ~ y J~ no son aún los campos reales (que se describirán más adelante), pues faltan términos de forzamiento. Los
valores r y µr son la permitividad dieléctrica y la permeabilidad magnética relativas, respectivamente. La conductividad σ
supone una ley de Ohm isótropa y lineal entre el campo eléctrico y la densidad de corriente, pero es posible utilizar otras
relaciones . Las tres cosntantes pueden cambiar de celda a celda para modelar la distribución espacial de los materiales.
En cada paso de tiempo, estas funciones evolucionan y viajan a las celdas vecinas de acuerdo con la ecuación de transporte
de Boltzmann en la aproximación de Bhatnagar-Gross-Krook (BGK) [1],
1 p(r) p(r)eq
fi (~x + ~vi , t + 1) − fi (~x, t) = − (fij (~x, t) − fij (~x, t)) , (3)
τ

(r) (r) 1 (r) (r)eq


f0 (~x, t + 1) − f0 (~x, t) = − (f0 (~x, t) − f0 (~x, t)) , (4)
τ
con τ = 12 . Esto quiere decir que, si las funciones no viajaran de celda en celda, decaerı́an exponencialmente a las funciones de
equilibrio
p(0)eq 1 p ~0  ~ 0 p 1 ~ ~p p(1)eq 1 p ~0 1 ~ 0 p 1 ~ ~p
fij (~x, t) = ~vi · J + E · ~eij + B · bij , fij (~x, t) = ~vi · J + E · ~eij + B · bij , (5)
16 4 8µ 16 4 8

(0)eq (1)eq
f0 (~x, t) = f0 (~x, t) = ρc . (6)
Los modelos de lattice Boltzmann reproducen leyes de conservación en el lı́mite continuo. Si uno quiere añadir términos
extra, debe acudir a los, ası́ llamados, términos de forzamiento. Para completar la ley de Ampere incluimos un término de
forzamiento a la manera propuesta por Zhaoli Guo, Chuguang Zheng and Baochang Shi [6]. Por lo tanto, los campos E ~ y J~
(Eq. (2)) son sólo campos auxiliares para la evolución temporal. Los campos reales son

E ~ − µ0 J~0
~0 = E , J~0 = σ E
~0 = σ ~
E . (7)
4r 1 + µ40rσ

Este modelo reproduce las ecuaciones de Maxwell

∂ρc ~ ~0
+ ∇ · J~0 = 0 , ~ 0 = − ∂B
∇×E , ~ = µ0 J~0 + 1 ∂ D
∇×H , (8)
∂t ∂t c2 ∂t

2
a) b)

Figura 2: Un pulso gaussiano cruza la interfaz entre el vacı́o y un medio dieléctrico con constante dieléctrica r = 2,5
(en gris). a) El pulso en t = 0 (lı́nea a trozos) y en t = 140 (lı́nea continua). b) Error relativo promedio ET de la
densidad de energı́a U en t=140 como función del tamaño de la grilla. La recta muestra que el método tiene una
precisión de segundo orden.

Accuracy LB(L=100) Yee(L=100) Yee(L=200) Yee(L=300)


1st peak 1.4 % 8.7 % 3.6 % 1.6 %
2nd peak 1.7 % 1.7 % 0.1 % 0.1 %
3rd peak 0.8 % 0.3 % 0.3 % 1.3 %
4th peak 0.7 % 0.9 % 1.1 % 0.7 %
Total Var 2.5 % 8.9 % 4.0 % 2.2 %
CPU time 23s 5s 27s 336s
Variables 50M 6M 48M 162M
Cuadro 1: Errores porcentuales en la amplitud de los picos de la figura 3b) obtenidos por el método de lattice-
Boltzmann y por el método FDTD de Yee para diferentes resoluciones de la grilla. Se incluyen también el tiempo de
CPU (en segundos) y el número de variables de punto flotante (en millones, M).

con una exactitud de segundo orden. El paso de tiempo δt y el tamaño de celda δx cumplen δx = cδt (donde c es la velocidad de
la luz en el vacı́o), con lo que el criterio de estabilidad de Courant-Fredericks-Levy se cumple automáticamente. La descripción
detallada de cómo se logra esto se puede encontrar en la Ref. [11].

3. RESULTADOS
El modelo propuesto reproduce correctamente las situaciones electromagnéticas más diversas, como por ejemplo: la propa-
gación de ondas electromagnéticas, el efecto skin, los patrones de radiación de una antena dipolar y las frecuencias naturales de
una cavidad resonante, todas con una exactitud del 2 % [11].
La figura 2 muestra la propagación de un pulso gaussiano que cruza una interfaz dieléctrica. Luego de t=140 pasos, se
calcula la energı́a electromagnética U para cada celda y se estima por el método de Richardson el error relativo. El promedio del
error relativo sobre todas las celdas crece proporcional al cuadrado del tamaño de celda, lo que muestra que el método tiene una
exactitud de segundo orden.
La figura 3 a) muestra el patrón de radiación de un dipolo oscilante, calculado con el método de Lattice-Boltzmann.
  El

dipolo se modela como un densidad de corriente Jz = J0 exp(−0,75[(x − 50)2 + (y − 50)2 + (z − 50)2 ]) sin T t que oscila
con periodo T =25 pasos de tiempo en el centro de un arreglo de 100 × 100 × 100 celdas con condiciones de frontera libres (cada
celda en la frontera se copia a sı́ misma como vecina). La figura 3 b) dibuja la amplitud del campo magnético radiado en dirección
x, comparada con los resultadosq del método de diferencias finitas FDTD de Yee para diferentes resoluciones y con la predicción
2
teórica, dada por [4] B = k xP 1 − k21x2 , con k=ω/c, ω=2π/T . La magnitud del momento dipolar es P = Jω0 Σ , con Σ el
volumen efectivo del dipolo. La tabla 1 muestra los errores porcentuales en los primeros tres picos de la figura 3 b), calculados
por nuestro lattice-Boltzmann y por el método de Yee para diferentes resoluciones, junto con los tiempos CPU empleados y la
memoria requerida. Se observa que el método de Yee necesita de una grilla de 300 × 300 × 300 para lograr la misma exactitud
que el lattice-Boltzmann con una grilla de 100 × 100 × 100, que requiere entonces aproximadamnete diez veces menos tiempo
y tres veces menos memoria que el método de Yee.

a) b)

Figura 3: Campo magnético producido por un pequeño dipolo oscilante. a) Lı́neas de igual intensidad después de dos
oscilaciones completas (aproximadamente) b)

3
4. CONCLUSIONES
Hemos presentado un método lattice-Boltzmann para electrodinámica que calcula con exactitud la evolución de los campos
electromagéticos en las más diversas situaciones. El modelo propuesto utiliza un conjunto de velocidades D3Q13 y asocia dos
vectores auxiliares eléctricos y dos magnéticos a cada vector velocidad, en una manera que recuerda el producto E ~ ×B ~ que
define el vector de Poynting. Esta configuración permite reproducir en el lı́mite continuo la ley de Faraday y la ley de Ampére,
que son leyes de conservación donde la derivada temporal de un campo es igual a la divergencia de un tensor antisimétrico (algo
que hasta hace poco se creı́a imposible de hacer con modelos de lattice-Boltzmann). El método tiene una exactitud de segundo
orden en el tamaño de celda, y en nuestras simulaciones preliminares muestra ser diez veces más rápido y requerir tres veces
menos memoria que el método de diferencias finitas FDTD original propuesto por Yee. La formulación del lattice-Boltzmann
parece comprimir más eficientemente la información de los campos electromagnéticos, pues, a pesar de utilizar 50 variables por
celda (comparadas con las seis del FDTD), requiere muchas menos celdas para alcanzar la misma exactitud, lo que a la larga
reduce el tiempo de cómputo. Más aún, el carácter intrı́nsicamente paralelo de los métodos de lattice-Boltzmann lo hace perfecto
para implementarlo sobre tarjetas gráficas (GPU), lo que reduce el tiempo de cómputo entre dos y tres órdenes de magnitud más.
Todas estas caracterı́sticas hacen del método propuesto una excelente alternativa para simular la evolución temporal de campos
electromagnéticos.

AGRADECIMIENTOS
Este trabajo fue patrocinado por el programa de becas de la Universidad Nacional de Colombia y por el Centro de Excelencia
para la Investigación Básica y Aplicada en Complejidad, CeiBA-Complejidad.

REFERENCIAS
[1] P.L. Bathnagar, E.P. Gross, , and M. Krook. A model for collision processes in gases. i. small amplitude processes in
charged and neutral one-component systems. Phys. Rev., 94:511, 1954.
[2] B. Chopard and M. Droz. Cellular Automata Modelling of Physical Systems. Cambridge University Press, xii edition,
1998.
[3] B. Chopard, P.O. Luthi, and J.F. Wagen. Lattice boltzmann method for wave propagation in urban microcells. IEE Proc.
Microw. Antennas Propag., 144:251, 1997.
[4] Jackson John David. Electrodinámica clásica. Editorial Alhambra S.A., first edition, 1966.
[5] E. G. Flekkoy. Lattice bgk model for miscible fluids. Phys. Rev. E, 54:5041–5052, 1993.
[6] Zhaoli Guo, Chuguang Zheng, and Baochang Shi. Discrete lattice effects on the forcing term in the lattice boltzmann
method. Physical Review E, 65:046308, 2002.
[7] F. Higuera, S. Succi, and R. Benzi. Lattice gas dynamics with enhanced collisions. Europhysics Letters, 9:345, 1989.
[8] K. S. Kunz and R. J. Luebbers. Finite-Difference Time-Domain Method for Electrodynamics. CRC Press, 1993.
[9] G. R. McNamara and G. Zanetti. Use of the boltzmann equation to simulate lattice-gas automata. Phys. Rev. Lett., 61:2332,
1988.
[10] M. Mendoza, B. M. Boghosian, H. J. Herrmann, and S. Succi. Fast lattice boltzmann solver for relativistic hydrodynamics.
Phys. Rev. Lett., 105:014502, 2010.
[11] M. Mendoza and J. D. Muñoz. Three-dimensional lattice boltzmann model for electrodynamics. Phys. Rev. E,
82(5):056708, Nov 2010.
[12] S. Succi. Lattice boltzmann equation for relativistic quantum mechanics. Philosophical transactions: Royal Society of
London A, 360:429–436, 2002.
[13] S. Succi. Lattice boltzmann schemes for quantum applications. Computer Physics Communications, 146:317–323, 2002.
[14] S. Succi and R. Benzi. Lattice boltzmann equation for quantum mechanics. Physica D., 69:327–332, 1993.
[15] A. Taflove and S. C. Hagness. Computational Electrodynamics - The Finite-Difference Time-Domain Method. Artech
House, Boston, 2000.
[16] K. Yee. Numerical solutions of initial boundary value problems involving maxwell’s equations in isotropic media. IEEE
Transactions on Antennas and Propagation, AP-14:302–307, 1966.

You might also like