simulacion de material granular utilizando el metodo de elementos discretos paralelizado con gpu
Post on 12-Apr-2017
862 Views
Preview:
TRANSCRIPT
Simulacion de material granularutilizando el metodo de elementos
discretos paralelizado con GPU
ISUM–2012
Faustino Neri (CIMAT, A. C.),Carlos Labra (CIMNE) ySalvador Botello (CIMAT, A. C.).
Resumen
Material granular
Colisiones entre particulas
Fuerzas entre partıculas
Un poco de CUDA
Simulaciones
2/23
Metodo de elementos discretos
Caracterısticas
I El material es representado por una coleccion de partıculas.
I La formulacion presente utiliza partıculas esfericas (3D).
I Las partıculas se modelan como cuerpos rıgidos [1].
3/23
Ecuaciones Newton-Euler
mi ri = Fi, (1)
Ii ωi = Ti. (2)
4/23
Contactos de una partıcula
Dado un sistema de n partıculas, la etapa mas costosa del metodoDEM, es detectar todas las colisiones, es decir los pares departıculas que se sobreponen
Vi ∩ Vj 6= ∅ (3)
5/23
Ordenamiento espacial
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
0
1
2
3
4
5
6
I Dimension de la celda
h = 2 max(R).
I Funcion hash:
H (ri ) = rzi (lx ly lz)+ryi (lx ly )+rxi .
I Espacio de simulacion:
b ≤ ri ≤ e.
6/23
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 funcion del valor H [3], resultando unsistema A ordenado
7/23
Ejemplo
1 2 3
5 6 7
9 10 11
0
1
2
4
6
El vecindario de la partıcula 4 es
N4 = {p4, p6},
N4 ∈ C 96 .
donde el espacio de vecinospotenciales C 9
6 se define como
C 96 =
i=2,j=3⋃i=0,j=1
g(i , j).
8/23
Fuerzas
La fuerza total Ftotali que actua sobre una partıcula pi , esta formada
por dos tipos de fuerzas
I Fuerzas debido a colisiones entre partıculas.
I Fuerzas externas (e.g., gravedad, colision con muros,amortiguado y potenciales fısico/quımicos).
Ftotali =
∑j∈Ni
Fi ,j + Fexti .
9/23
Balance de fuerzas
La colision de dos partıculas del sistema, satisface la tercera ley deNewton
Fi + Fi = 0.
Division de la fuerza de contacto
F = Fn + FT .
10/23
Modelo reologico
Los parametros del modelo reologico, son derivados de experimentosde laboratorio sobre especımenes del material a simular [2]
los parametros del modelo son: kn rigidez normal, cn amortiguado,kT rigidez tangencial y µ coeficiente de Coulomb.
11/23
Penetracion entre partıculas
Dos partıculas pi y pj , estan en contacto si
di ,j < (Ri + Rj),
donde la distancia entre partıculas esta definida como
di ,j =‖ rj − ri ‖2 .
La penetracion entre partıculas, se define como
δi ,j = (Ri + Rj)− di ,j .
12/23
Fuerza normal
La fuerza normal, se descompone en una fuerza elastica y una fuerzade amortiguado
Fn = ( δi ,jkn︸ ︷︷ ︸el astica
− cnvrn︸ ︷︷ ︸amortiguado
)n,
donde la velocidad normal relativa se deriva como
vrn = (rj − ri ) · n,
y el coeficiente de amortiguado, es proporcional al amortiguadocrıtico
cn ∝ 2
√mimjknmi + mj
.
13/23
Fuerza tangencial
La fuerza tangencial aparece debido a la friccion, resultado de laoposicion al movimiento relativo en el punto de contacto, paraderivarla utilizamos la ley de Coulomb
FT = − mın(µ ‖ fn ‖, kt ‖ vrT ‖)vrT‖ vrT ‖
,
donde la velocidad tangencial relativa vrT al punto de contacto, sedefine como
vrT = vr − (vr · n)n,
vr = (rj + ωj × rcj)− (ri + ωi × rci ).
14/23
Amortiguado
Un estado casi estatico de equilibrio de todo el sistema de partıculas,puede ser alcanzado aplicandole un amortiguado apropiado.El amortiguado viscoso se define como
Fdampi = −αvtmi ui , Tdamp
i = −αvr Iiωi ,
y el amortiguado no viscoso esta definido como
Fdampi = −αnvt‖Fi‖
ui
‖ui‖, Tdamp
i = −αnvt‖Ti‖ωi
‖ωi‖.
15/23
Integracion numerica
I Ecuacion de traslacion
rn+1i = rni +
∆t
mi,Fi , rn+1
i = rni + ∆t rn+1i .
I Ecuacion de rotacion
ωn+1i = ωn
i +∆t
IiTi .
I Tamano de paso de tiempo
∆t = α2√
kn/ mın(m)
16/23
CUDA
CUDA organiza la computacion en paralelo utilizando la abstraccionde hilos, bloques, y rejillas.
Block(0,0)
Thread(0,0)
Block(0,1)
Block(2,0)
Block(1,2)
Block(1,1)
Block(1,0)
Block(0,2)
Block(2,1)
Block(2,2)
Thread(0,2)
Thread(1,0)
Thread(2,0)
Thread(2,1)
Block(1,3)
Block(0,3)
Block(2,3)
Thread(0,1)
Thread(1,1)
Thread(1,2)
Thread(2,2)
17/23
Modelo de programacion
A continuacion se describen cada uno de los componentesprincipales del modelo de programacion utilizado en CUDA
I Hilo: es una ejecucion de una funcion kernel con un ındice unicoasociado. Cada hilo usa su ındice para acceder a ciertaslocalidades de memoria.
I Bloque: es un grupo de hilos, los cuales se ejecutan en paraleloo en serie, dependiendo de la carga en cada core del GPU.
I Rejilla: es un grupo de bloques, no existe sincronıa entre losbloques de hilos.
18/23
Simulaciones
In
we trust!19/23
Contenedor rotando
Caracterısticas
I Dimensiones del contenedor:radio = 0.5 m, ancho = 1.0 m
I Velocidad angular: 2π◦
I Numero de partıculas: 154,373
I Radio promedio: 0.00916 m
I Masa promedio: 0.00807 kg
I Incremento de tiempo:7.1×−6 s
I Iteraciones: 500,000 (3.5 s)
I Tiempo de procesamiento:94.9 m
Figura: Contenedor (vıdeo 1,vıdeo 2).
20/23
Pala industrial
Caracterısticas
I Numero de partıculas: 216,838
I Radio promedio: 0.019 m
I Masa promedio: 0.0754 kg
I Incremento de tiempo:1.5×−5 s
I Iteraciones: 300,000 (4.48 s)
I Tiempo de procesamiento:77.2 minutos
Figura: Pala industrial (vıdeo 1,vıdeo 2).
21/23
Referencias
[1] P. A. Cundall and O. D. L. Strack. Discrete numerical modelfor granular assemblies. Geotechnique, 29:47–64, 1979.
[2] Eugenio Onate and Jerzy Rojek, Combination of Discrete Ele-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 Kaufmann2005.
[4] Faustino Neri Larios 2011, Caracterizacion de la onda de cho-que sobre estructuras, Tesis de Maestrıa, Centro de Investiga-cion en Matematicas.
22/23
Science is what we understand well enough to explain to acomputer. Art is everything else we do.
– Donald Knuth
Gracias!
Preguntas?
23/23
top related