Simulacion de material granular utilizando el metodo de elementos discretos paralelizado con GPU
1. Simulaci´n de material granular
o
utilizando el m´todo de elementos
e
discretos paralelizado con GPU
ISUM–2012
Faustino Neri (CIMAT, A. C.),
Carlos Labra (CIMNE) y
Salvador Botello (CIMAT, A. C.).
3. M´todo de elementos discretos
e
Caracter´
ısticas
El material es representado por una colecci´n de part´
o ıculas.
La formulaci´n presente utiliza part´
o ıculas esf´ricas (3D).
e
Las part´
ıculas se modelan como cuerpos r´
ıgidos [1].
3/23
5. Contactos de una part´
ıcula
Dado un sistema de n part´ıculas, la etapa mas costosa del m´todo
e
DEM, es detectar todas las colisiones, es decir los pares de
part´
ıculas que se sobreponen
Vi ∩ Vj = ∅ (3)
5/23
6. Ordenamiento espacial
Dimensi´n de la celda
o
0 1 2 3
5 2 h = 2 m´x(R).
a
4 5 6 7
6
0
Funci´n hash:
o
4
8 9 10 11 H(ˆi ) = ˆiz (lx ly lz )+ˆiy (lx ly )+ˆix .
r r r r
1
12 13 14 15
Espacio de simulaci´n:
o
3
b ≤ ri ≤ e.
6/23
7. Sistema de part´
ıculas
Sistema de part´
ıculas
A = {p1 , . . . , pn },
donde pi = {ri , ri , ω, Ri , mi , Fi , Ti }.
˙ ˙
Las part´
ıculas se ordenan en funci´n del valor H [3], resultando un
o
ˆ ordenado
sistema A
7/23
8. Ejemplo
El vecindario de la part´
ıcula 4 es
N4 = {p4 , p6 },
1 2 3
9
2 N4 ∈ C6 .
5 6 7 donde el espacio de vecinos
6 9
potenciales C6 se define como
0
4
9 10 11 i=2,j=3
9
1 C6 = g (i, j).
i=0,j=1
8/23
9. Fuerzas
La fuerza total Ftotal que act´a sobre una part´
i u ıcula pi , esta formada
por dos tipos de fuerzas
Fuerzas debido a colisiones entre part´
ıculas.
Fuerzas externas (e.g., gravedad, colisi´n con muros,
o
amortiguado y potenciales f´ısico/qu´
ımicos).
Ftotal =
i Fi,j + Fext .
i
j∈Ni
9/23
10. Balance de fuerzas
La colisi´n de dos part´
o ıculas del sistema, satisface la tercera ley de
Newton
Fi + Fi = 0.
Divisi´n de la fuerza de contacto
o
F = Fn + FT .
10/23
11. Modelo reol´gico
o
Los par´metros del modelo reol´gico, son derivados de experimentos
a o
de laboratorio sobre espec´
ımenes del material a simular [2]
los par´metros del modelo son: kn rigidez normal, cn amortiguado,
a
kT rigidez tangencial y µ coeficiente de Coulomb.
11/23
12. Penetraci´n entre part´
o ıculas
Dos part´
ıculas pi y pj , est´n en contacto si
a
di,j < (Ri + Rj ),
donde la distancia entre part´
ıculas esta definida como
di,j = rj − ri 2 .
La penetraci´n entre part´
o ıculas, se define como
δi,j = (Ri + Rj ) − di,j .
12/23
13. Fuerza normal
La fuerza normal, se descompone en una fuerza el´stica y una fuerza
a
de amortiguado
Fn = ( δi,j kn − cn vrn )n,
el´stica
a amortiguado
donde la velocidad normal relativa se deriva como
vrn = (˙j − ri ) · n,
r ˙
y el coeficiente de amortiguado, es proporcional al amortiguado
cr´
ıtico
mi mj kn
cn ∝ 2 .
mi + mj
13/23
14. Fuerza tangencial
La fuerza tangencial aparece debido a la fricci´n, resultado de la
o
oposici´n al movimiento relativo en el punto de contacto, para
o
derivarla utilizamos la ley de Coulomb
vrT
FT = − m´
ın(µ fn , kt vrT ) ,
vrT
donde la velocidad tangencial relativa vrT al punto de contacto, se
define como
vrT = vr − (vr · n)n,
vr = (˙j + ω j × rcj ) − (˙i + ω i × rci ).
r r
14/23
15. Amortiguado
Un estado casi est´tico de equilibrio de todo el sistema de part´
a ıculas,
puede ser alcanzado aplic´ndole un amortiguado apropiado.
a
El amortiguado viscoso se define como
Fdamp = −αvt mi ui , Tdamp = −αvr Ii ω i ,
i ˙ i
y el amortiguado no viscoso esta definido como
˙
ui ωi
Fdamp = −αnvt Fi
i , Tdamp = −αnvt Ti
i .
˙
ui ωi
15/23
16. Integraci´n num´rica
o e
Ecuaci´n de traslaci´n
o o
∆t
rin+1 = rin +
˙ ˙ , Fi , rin+1 = rin + ∆t rin+1 .
˙
mi
Ecuaci´n de rotaci´n
o o
∆t
ω n+1 = ω n +
i i Ti .
Ii
Tama˜o de paso de tiempo
n
2
∆t = α
kn / m´
ın(m)
16/23
17. CUDA
CUDA organiza la computaci´n en paralelo utilizando la abstracci´n
o o
de hilos, bloques, y rejillas.
Block Block Block Block
(0,0) (0,1) (0,2) (0,3)
Block Block Block Block
(1,0) (1,1) (1,2) (1,3)
Block Block Block Block
(2,0) (2,1) (2,2) (2,3)
Thread Thread Thread
(0,0) (0,1) (0,2)
Thread Thread Thread
(1,0) (1,1) (1,2)
Thread Thread Thread
(2,0) (2,1) (2,2)
17/23
18. Modelo de programaci´n
o
A continuaci´n se describen cada uno de los componentes
o
principales del modelo de programaci´n utilizado en CUDA
o
Hilo: es una ejecuci´n de una funci´n kernel con un ´
o o ındice unico
´
asociado. Cada hilo usa su ´
ındice para acceder a ciertas
localidades de memoria.
Bloque: es un grupo de hilos, los cuales se ejecutan en paralelo
o en serie, dependiendo de la carga en cada core del GPU.
Rejilla: es un grupo de bloques, no existe sincron´ entre los
ıa
bloques de hilos.
18/23
20. Contenedor rotando
Caracter´
ısticas
Dimensiones del contenedor:
radio = 0.5 m, ancho = 1.0 m
Velocidad angular: 2π ◦
Numero de part´
ıculas: 154,373
Radio promedio: 0.00916 m
Masa promedio: 0.00807 kg
Incremento de tiempo:
7.1 ×−6 s
Figura: Contenedor (v´
ıdeo 1,
Iteraciones: 500,000 (3.5 s) v´
ıdeo 2).
Tiempo de procesamiento:
94.9 m
20/23
21. Pala industrial
Caracter´
ısticas
Numero de part´
ıculas: 216,838
Radio promedio: 0.019 m
Masa promedio: 0.0754 kg
Incremento de tiempo:
1.5 ×−5 s
Iteraciones: 300,000 (4.48 s)
Tiempo de procesamiento: Figura: Pala industrial (v´
ıdeo 1,
77.2 minutos v´
ıdeo 2).
21/23
22. Referencias
[1] P. A. Cundall and O. D. L. Strack. Discrete numerical model
for granular assemblies. G´otechnique, 29:47–64, 1979.
e
[2] Eugenio O˜ate and Jerzy Rojek, Combination of Discrete Ele-
n
ment and Finite Element Methods for Dynamic Analysis of Geo-
mechanics Problems”, Comput. Methods Appl. Mech. Engrg.
193, 3087-3128, 2004.
[3] Ericson. C, Real-Time Collision Detection, Morgan Kaufmann
2005.
[4] Faustino Neri Larios 2011, Caracterizaci´n de la onda de cho-
o
que sobre estructuras, Tesis de Maestr´ Centro de Investiga-
ıa,
ci´n en Matem´ticas.
o a
22/23
23. Science is what we understand well enough to explain to a
computer. Art is everything else we do.
– Donald Knuth
Gracias!
Preguntas?
23/23