Post on 01-Sep-2020
Experiencias en la solución de un problema de ondas guiadas utilizando el método de Arnoldi Suset Rodríguez Alemán Victoria Hernández Mederos José A. Otero Hernández Valia Guerra Ones Jorge Estrada Sarlabous
2/21
Problema de Propagación de ondas
Problema de propagación de ondas para barras con sección transversal arbitraria
Principio de trabajo virtual
∫𝑆↑▒𝑢↑𝑡 𝑡 𝑑𝑆 = ∫𝑉↑▒𝑢↑𝑡 𝜌𝜕↑2 𝑢/𝜕𝑡↑2 𝑑𝑉 + ∫𝑉↑▒𝜀↑𝑡 𝜎 𝑑𝑉
• 𝑢= ( 𝑢↓𝑥 , 𝑢↓𝑦 , 𝑢↓𝑧 )↑𝑡 vector de desplazamiento • 𝜀= ( 𝜀↓𝑥𝑥↑ , 𝜀↓𝑦𝑦↑ , 𝜀↓𝑧𝑧↑ , 𝛾↓𝑦𝑧↑ , 𝛾↓𝑧𝑥↑ , 𝛾↓𝑥𝑦 )↑𝑡 vector
de tensiones • 𝜎= ( 𝜎↓𝑥𝑥↑ , 𝜎↓𝑦𝑦↑ , 𝜎↓𝑧𝑧↑ , 𝜎↓𝑦𝑧↑ , 𝜎↓𝑧𝑥↑ , 𝜎↓𝑥𝑦↑ )↑𝑡
vector de stress • 𝑡= ( 𝑡↓𝑥↑ , 𝑡↓𝑦↑ , 𝑡↓𝑧↑ )↑𝑡 vector de las fuerzas externas • 𝑉 volumen volumen • 𝑆 superficie exterior superficie exterior • 𝜌 densidad densidad
3/21
Construir una malla sobre la sección transversal del objeto
Vector de desplazamiento
Método de Elemento Finito
𝑢=(𝑢↓𝑥 , 𝑢↓𝑦 , 𝑢↓𝑧 )=𝐹(𝑥,𝑦) 𝑒↑𝑖(𝜉𝑧−𝜔𝑡)
4/21
Método semi-‐analíJco de Elementos Finitos
Frecuencia angular Número de onda
𝜔
𝜉
5/21
Mallas 4-‐8
• Adaptativas • Multiresolución
• Aristas de dos tipos: o aristas 8-‐8 o aristas 4-‐8
A48
u 8 • Vértices de valencia 4
(𝐾↓1 +𝑖𝜉𝐾↓2 + 𝜉↑2 𝐾↓3 ) 𝑢= 𝜔↑2 𝑀𝑢
𝑢=(𝑢↓𝑥 , 𝑢↓𝑦 , 𝑢↓𝑧 )
6/21
Problema Generalizado de autovalores
𝜔
𝝃
=𝐹(𝑥,𝑦) 𝑒↑𝑖(𝜉𝑧−𝜔𝑡)
Métodos IteraJvos para resolver problemas de autovalores
Entrada: Espacio inicial 𝐾↑1 𝑝 = canJdad de pares (𝜆↓𝑗 , 𝑥↓𝑗 ) 𝑗=1,…,𝑝 a calcular = canJdad de pares (𝜆↓𝑗 , 𝑥↓𝑗 ) 𝑗=1,…,𝑝 a calcular a calcular maxiter número máximo de espacios a considerar Salida: 𝑝 pares (𝜆↓𝑗 , 𝑥↓𝑗 ) 𝑗=1,…,𝑝 pares (𝜆↓𝑗 , 𝑥↓𝑗 ) 𝑗=1,…,𝑝 for r = 1, …, maxiter Calcular aproximaciones desde 𝐾↑𝑟 de los pares (𝜆↓𝑗 , 𝑥↓𝑗 ) 𝑗=1,…,𝑝 if las 𝑝 aproximaciones convergen aproximaciones convergen return else construir el nuevo espacio 𝐾↑𝑟+1 a par8r de 𝐾↑𝑟 end end
7/21
8/21
ARPACK
Krylov
𝐾↑𝑟 (𝑣)=𝑠𝑝𝑎𝑛{𝑣, 𝐴𝑣, …, 𝐴↑𝑟−1 𝑣}
𝐾↑1 ⊂ 𝐾↑2 ⊂ … ⊂ 𝐾↑𝑟
Par de Ritz (𝜃, 𝑥 )
(𝜆,𝑥) 𝐾↑𝑟
𝑥 ∈ 𝐾↑𝑟
𝜃 𝑦 𝑥 <𝑤, 𝐴𝑥 −𝜃𝑥 > =0 , ∀𝑤∈ 𝐾↑𝑟 (𝑣)
Condición de Galerkin
(𝜃, 𝑥 ) Problema de autovalores 𝑟𝑥𝑟 , 𝑟≪𝑛 , 𝑟≪𝑛
Base ortonormal del espacio de Krylov
Método de Arnoldi
ARPACK
𝐴↓𝜉 𝑥=𝜆
• Simétrica • Definida positiva
• Comunicación inversa • Producto matriz-‐vector
(𝐾↓1 +𝑖𝜉𝐾↓2 + 𝜉↑2 𝐾↓3 ) 𝑢= 𝜔↑2 𝑀𝑢
• Dimensión 3𝑛 • Sparse estructura
conocida
𝑀 𝑥
9/21
• Pocos 𝜆 • Los más pequeños
znaupd ( IDO, BMAT, N, WHICH, NEV, TOL, RESID, NCV, V, LDV, IPARAM, IPNTR,
I G LM SM LR SR LI SI
… 7 …
12
3
WORKD, WORKL, LWORKL, RWORK, INFO )
Comunicación Inversa
𝐴↓𝜉 𝑥= 𝜆𝑀𝑥
Cercanos a cero
10/21
BMAT = I, WHICH = SM
LAPACK • Cholesky 𝑀=𝐿𝐿↑𝑡 • Inversa matriz triangular 𝑂𝑝∗𝑥 • Matriz-‐vector 𝐶𝑦
Modo 1
𝐴↓𝜉 𝑥= λ𝑀𝑥
𝐴↓𝜉 𝐿↑−𝑡 𝐿↑𝑡 𝑥= λ𝐿𝐿↑𝑡 𝑥 𝑦=𝐿↑𝑡 𝑥
𝐴↓𝜉 𝐿↑−𝑡 𝑦= λ𝐿𝑦
𝐿↑−1 𝐴↓𝜉 𝐿↑−𝑡 𝑦 =λy ⁺ Problema estandard
𝐶𝑦 =λy
𝐿↑−𝑡 𝐿↑𝑡 =𝐼
₋ C pierde estructura de sparse definida ₋ SM
𝐿↑−1
𝐴↓𝜉 𝑥= λ𝐿𝐿↑𝑡 𝑥
11/21
Modo 2
𝐴↓𝜉 𝑥= λ𝑀𝑥
BMAT = G, WHICH = SR
LAPACK • Factorizar 𝑀
𝑂𝑝∗𝑥 • Matriz-‐vector • Resolver sistema
⁺ Se factoriza M una vez ₋ SR 12/21
𝐴↓𝜉 𝑥=𝑧 𝑀𝑦=𝑧
𝐴↓𝜉 𝑥= λ𝑀𝑥
𝐴↓𝜉 𝑥 − 𝛾𝑀𝑥=λ𝑀𝑥 − 𝛾𝑀𝑥
( 𝐴↓𝜉 − 𝛾𝑀)𝑥=(λ− 𝛾)𝑀𝑥
(𝐴↓𝜉 − 𝛾𝑀)↑−1 ( 𝐴↓𝜉 − 𝛾𝑀)𝑥=(λ− 𝛾) (𝐴↓𝜉 − 𝛾𝑀)↑−1 𝑀𝑥
(𝐴↓𝜉 − 𝛾𝑀)↑−1 𝑀𝑥 = 1/(λ− 𝛾) 𝑥 = 1/(λ− 𝛾) 𝑥
𝐴↓𝜉 ↑−1 𝑀𝑥= 1/λ 𝑥
𝛾=0
LAPACK • Factorizar 𝐴↓𝜉 𝑂𝑝∗𝑥 • Matriz-‐vector • Resolver sistema
Modo 3
𝑥=(λ− 𝛾) (𝐴↓𝜉 − 𝛾𝑀)↑−1 𝑀𝑥
⁺ Cercanos a 𝛾 LM ₋ Factorizar 𝐴↓𝜉
13/21
𝐼 𝑀𝑥=𝑧 𝐴↓𝜉 𝑦=𝑧
WHICH = LM, BMAT = G Shift-invert mode
𝑀𝑥= 1/λ 𝐴↓𝜉 𝑥
Malla Inicial (MI) 1 Paso Refinamiento
2 Pasos Refinamiento
No. VérFces 48 208 352
No. Triángulos 64 352 576
Mallado
EstadísJcas
14/21
Un problema 𝐴↓𝜉 𝑥= 𝜆𝑀𝑥 uJlizando elementos finitos lineales
Tamaño matriz 144 x 144
Iteraciones actualización
Arnoldi
Operaciones
𝑶𝒑∗𝒙 Iteraciones reverse
comunicaFon Tiempo
(en segundos)
Modo 1, Which SM 30 491 492 0.527
Modo 2, Which SR 38 613 2487 0.769
Modo 3, Which LM 3 62 248 0.110
Tamaño matriz 624 x 624
Iteraciones actualización
Arnoldi
Operaciones
𝑶𝒑∗𝒙 Iteraciones reverse
comunicaFon Tiempo
(en segundos)
Modo 1, Which SM 158 2289 2299 12.483 Modo 2, Which SR 178 2614 10612 24.981 Modo 3, Which LM 4 72 290 1.185
Tamaño matriz 1056 x 1056
Iteraciones actualización
Arnoldi
Operaciones
𝑶𝒑∗𝒙 Iteraciones reverse
comunicaFon Tiempo
(en segundos)
Modo 1, Which SM 181 2565 2566 34.005 Modo 2, Which SR 283 4111 16719 99.131 Modo 3, Which LM 4 74 297 1.889
15/21
𝜉=4.01
Modo\Tiempo 144x144 624x624 1056x1056
Modo 1, Which SM 2.27118 segundos 41.9753 segundos 180.452 segundos (3.007 minutos)
Modo 2, Which SR 1.926 segundos 44.433 segundos 184.411 segundos (3.07 minutos)
Modo 3, Which LM 0.299365 segundos 1.99138 segundos 4.95751 segundos
Tiempo promedio 𝐴↓𝜉 𝑥= 𝜆𝑀𝑥
16/21
𝜉=[0.01:0.1:20]
200 problemas
Tiempo total 𝐴↓𝜉 𝑥= 𝜆𝑀𝑥
Modo\Tiempo Matriz 144x144
Matriz 624x624
Matriz 1056x1056
Modo 1, Which SM 7.9291 minutos 150.0917 minutos
(2.50 horas) 652.6429 minutos (10.87 horas)
Modo 2, Which SR 6.4328 minutos 155.5695 minutos
(2.59 horas) 614.8396 minutos (10.24 horas)
Modo 3, Which LM 1.0441 minutos 9.6579 minutos 31.3312 minutos
Shift-invert mode 17/21
𝜉=[0.01:0.1:20]
200 problemas
Matriz Compacta
18/21
8+1=9∗3=27 vecinos
vértice
Curvas de Dispersión
𝑣↓𝑚 = 𝜔↓𝑚 /𝜉
𝑐↓𝑚 :( 𝑥↓𝑚 (𝜉), 𝑦↓𝑚 (𝜉)) 𝑥↓𝑚 (𝜉)= 𝑓↓𝑚 = 𝜔↓𝑚 /2𝜋 𝑦↓𝑚 (𝜉)= 𝑣↓𝑚 19/21
Desplazamientos
El desplazamiento en cualquier punto (x,y,z) en el instante t está dado por:
𝑢=(𝑢↓𝑥 , 𝑢↓𝑦 , 𝑢↓𝑧 )=𝐹(𝑥,𝑦) 𝑒↑𝑖(𝜉𝑧−𝜔𝑡)
20/21
Trabajo futuro
• Extender a elementos finitos cuadráticos • Definir un operador de refinamiento de la malla
triangular que dependa del estimado del error de aproximación para el cálculo de los desplazamientos
𝑢 = (𝑢↓𝑥 , 𝑢↓𝑦 , 𝑢↓𝑧 ). • Paralelizar el programa usando GPU para hacer algunos de
los cálculos.
21/21