Minicursos 43 Capítulo 3 Método dos Elementos Discretos e Desafios de Desempenho Computacional Manuel Osório Binelo1, Oleg Khatchtourian2, Edson Luiz Padoin3, Rodolfo França de Lima4 1 Manuel é formado em Ciência da Computação pela UNICRUZ, é mestre em Modelagem Matemática pela UNIJUI e doutor em Engenharia de Teleinformática pela UFC. Hoje é professor do curso de Ciência da Computação da UNICRUZ, professor do curso de Ciência da Computação da UNIJUI e professor do Programa de Pós Graduação em Modelagem Matemática da UNIJUI. Atua principalmente nas áreas de Engenharia de Biosistemas, Modelagem Matemática e Métodos Numéricos Computacionais. 2 Oleg é formado em Engenharia Aeronáutica - Kazan Aviation Institute, Rússia (1968). Fez doutorado em Engenharia Aeronáutica - Kazan Aviation Institute (1978). Atualmente é professor titular da UNIJUI, professor doutor da UNICRUZ e professor orientador ad hoc da UFRGS. Tem experiência nas áreas de Engenharia Agrícola, de Engenharia Mecânica e de Matemática, com ênfase em modelagem de sistemas de aeração para armazenamento de grãos, secagem de grãos, fenômenos de transporte, métodos numéricos, modelagem matemática. 3 Edson é Doutor em Ciência da Computação pela UFRGS (2016) e Mestre em Eng. da Produção ênfase Tecnologia da Informação pela UFSM (2001) tendo desenvolvido seu PhD internship pela Université Grenoble Alpes, na França. Atualmente é professor na UNIJUI, atuando nas áreas de processamento paralelo, balanceamento de carga, sistemas operacionais e distribuídos e paralelização de aplicações para dispositivos de baixo consumo. 4 Rodolfo é mestre em Modelagem Matemática pelo Programa de Pós-Graduação em Modelagem Matemática da UNIJUÍ. Possui graduação em Matemática - Licenciatura Plena na UPF. Tem experiência na área de matemática aplicada. Já atuou ministrando aulas das disciplinas de Introdução ao Cálculo, Cálculo Diferencial e Integral I e II, Álgebra Linear e Geometria Analítica. Atualmente é doutorando em Modelagem Matemática pela UNIJUÍ. 44 Método dos Elementos Discretos e Desafios de Desempenho Computacional Resumo O método dos elementos discretos (MED) é um método numérico computacional capaz de simular a movimentação e a interação de um grande número de partículas. O MED pode ser aplicado em problemas tais como: movimentação de grãos em equipamentos agrícolas, movimentação e processamento de materiais granulares em diversos ramos da indústria, mecânica de solos, entre outros. Existem diferentes pacotes de software para a computação numérica do método, entre os diferentes pacotes podemos destacar o software Woo, que é software livre e multiplataforma. O objetivo deste capítulo apresentar o MED, seu modelo matemático e sua aplicação em diversos campos. Em seguida é apresentado o software Woo e sua arquitetura computacional. As simulações realizadas com Woo são criadas por meio de scripts em linguagem Python. Será explorada a estrutura dos scripts de simulação e a parametrização dos modelos de contato. Um aspecto importante do MED é seu custo computacional, sendo a principal abordagem para a diminuição desse custo a execução paralela. 3.1. Introdução ao Método dos Elementos Discretos O Método dos Elementos Discretos é um método de simulação numérica do movimento de um grande número de partículas (normalmente modeladas por geometrias simples) dentro de um sistema fixo ou móvel variante com o tempo. (MESQUITA, et al. 2012). O MED foi desenvolvido por Cundall e Strack (1979), sendo baseado em um esquema numérico explícito no qual a interação das partículas é monitorada individualmente. Em cada contato e o sistema é modelado usando as leis do movimento (MONTELLANO et al., 2011). Estes elementos discretos podem ser rígidos ou deformáveis e interagem entre si por meio de forças de contato normais e cisalhantes (tangenciais). O MED tem larga aplicação no tratamento de materiais granulados, ao contrário do Método dos Elementos Finitos (MEF), o MED trata de um sistema não-contínuo. Consolidou-se como uma poderosa ferramenta para as indústrias que trabalham com material granulado devido à sua dinâmica, que envolve as propriedades físicas e mecânicas dos materiais, tais como, atrito de rolamento e deslizamento (SANTOS et al. 2012). Segundo Geng (2010) o MED oferece a possibilidade de investigar o comportamento mecânico de materiais granulares, tanto a nível micro e macro, sendo um método superior na modelagem de um material descontínuo do que outras ferramentas numéricas como MEF. Ele considera a interação de partículas em escala, permitindo que as respostas micro - mecânicas do material a ser estudado sejam analisadas em detalhes. No MED, a interação das partículas discretas é monitorada contato por contato e o movimento das partículas é calculado partícula por partícula. De acordo com Montellano et al (2011) o MED é comumente usado para determinar o comportamento do material granular em silos e tremonhas, incluindo as pressões exercidas pelo material armazenado a modificação do fluxo através da inclusão e da descarga de grãos. É também frequentemente usado na indústria farmacêutica, mineração e indústrias de alimentos, bem como no desenho de construções, terraplanagem e máquinas agrícolas. Segundo Dang e Meguid (2010) o MED é uma ferramenta poderosa na simulação numérica do comportamento de materiais granulares. Ele preenche a lacuna entre a Minicursos 45 mecânica do contínuo e investigações de modelagem física. Apesar dos avanços, alguns dos principais problemas ainda precisam ser resolvidos, incluindo o desenvolvimento de modelos realistas de grande escala com condições iniciais semelhantes aos encontrados em problemas reais. Simulações numéricas usando o MED se tornaram uma ferramenta valiosa para o estudo de diferentes fenômenos que ocorrem em escala micro em materiais granulares, fornecendo um laboratório virtual que permite ao pesquisador realizar experiências que são difíceis ou impossíveis de realizar em experimentos físicos. O MED é utilizado principalmente para estudar a estrutura de tecido e materiais granulares sob carregamento ou descarga e dá a contribuição no desenvolvimento de relações constitutivas do solo usando discos (2D) e esferas (3D) (GENG, 2010). Um dos atrativos do método é visualização virtual dos movimentos das partículas dentro do sistema que está sendo estudado. O MED está se tornando largamente aceito como um método efetivo para avaliar problemas de engenharia envolvendo materiais granulados especialmente em problemas de escoamento de partículas, tendo assim aplicação em várias áreas como, por exemplo, no campo da geofísica/sismologia, fratura de rochas, mecânica de solos e mineração (MESQUITA, 2012). Existem dois tipos principais de método de elementos discretos: Dinâmica Molecular (DM) e Dinâmica de Contatos (DC). O DM é o método mais conhecido e mais utilizado para simular o MED, é o tradicional método criado desenvolvido por Cundall e Strack (1979). Este método descreve o comportamento granular por meio de discos ou esferas, baseado em um esquema numérico explícito para as interações entre entidades. O MED compreende dois estágios: o cálculo das forças de contato e posteriormente o cálculo do movimento das partículas através da segunda Lei de Newton. O método considera um número finito de partículas discretas interagindo por meio de forças de contato e não-contato (ZHU et al., 2008). Em um primeiro momento as forças de interação entre partículas são calculadas permitindo-se uma interpenetração entre os seus elementos, utilizando estas informações para o cálculo da relação força – movimento. (ZHU et al., 2008. DONZÉ et al., 2008. NEVES, 2009). No segundo estágio a segunda lei de Newton é usada para determinar as velocidades e acelerações de cada partícula, e a partir disso, a nova posição dos elementos. A modelagem do movimento das partículas consiste na resolução da equação do movimento da segunda lei de Newton através de integração numérica. As forças e momentos externos agindo em cada partícula são devidos a choques com outras partículas, choques com as superfícies de contorno do escoamento, força gravitacional e também devido à influência de ondas provocadas por outras partículas que não estão em contato, ou ainda devido ao fluido no qual às partículas estão contidas (NEVES, 2009. MESQUITA, 2012). A equação do movimento liga o movimento de cada elemento com a soma das forças aplicadas ao comportamento dinâmico deste elemento, em que se considera que a velocidade e aceleração são constantes em cada passo de tempo. Isto é feito através de um método de diferenças finitas, sendo que o intervalo de tempo escolhido é suficientemente pequeno para que a perturbação induzida se propague entre um elemento e seus vizinhos. Assim, a cada passo de tempo, o equilíbrio de forças para um determinado elemento é calculado de acordo com todas as forças aplicadas a este elemento (DONZÉ, 1997). 46 Método dos Elementos Discretos e Desafios de Desempenho Computacional No método conhecido como Dinâmica de Contatos (DC) não é possível a interpenetração entre os elementos nos seus contatos. Ele possui um esquema numérico para trabalhar com muitos contatos, com a integração das forças de contato e não das forças propriamente especificadas (NEVES, 2009). No MED os modelos são baseados em diversas leis constitutivas para os contatos entre entidades. O modelo de contato mais simples é admitir leis de contato lineares para força normal e cisalhante, além de coeficientes constantes para rigidez, ângulo de atrito e atrito de rolamento (NEVES, 2009. GENG, 2010). Para Langston (2004) a principal limitação para uso do MED é a exigência computacional, uma vez que o método inerentemente usa um esquema de integração de tempo explícito e repete cálculos sequenciais ao longo de um período de tempo limitado, com passos muito pequenos de tempo. Outro fator negativo do MED é a dificuldade na construção de abstrações ou simplificações para os problemas. No Método dos Elementos Finitos (MEF), por exemplo, é possível simplificar o problema usando menos, mas maiores elementos, criando um modelo de menor resolução do problema. Outra estratégia consiste em limitar os graus de liberdade do problema, utilizando modelos bidimensionais para problemas reais tridimensionais. Nenhuma dessas estratégias são muito úteis ao MED, a criação de elementos maiores, ou reduzir os graus de liberdade pode mudar o significado do modelo. 3.2. Formulação do Método dos Elementos Discretos Nesta seção será apresentada uma breve descrição da formulação numérica presente nas simulações MED explícitas. Estas descrições são dadas aproximadamente na ordem em que aparecem na simulação. Duas partículas pode estabelecer uma nova interação, que consiste em: 1. detecção de contato entre partículas; 2. criação de nova interação e determinar suas propriedades (tais como a rigidez), pois elas são ou pré-computadas ou derivadas de propriedades de ambas as partículas; Então, para as interações já existentes, são realizadas as operações: 1. avaliação da tensão; 2. estresse computacional baseada nas tensões; 3. aplicação da força para partículas em interação. A interação entre partículas é abordada como um processo dinâmico com estados de equilíbrio atingidos sempre que acontecer o equilíbrio das forças. As forças de contato e deslocamento de um conjunto de partículas sujeito a um determinado estado de tensões é encontrado por meio do monitoramento individual do movimento das partículas. O comportamento dinâmico é representado numericamente por um algoritmo de solução explícita no tempo para integrar as acelerações e velocidades, usando o método das diferenças finitas centrais. O uso de um esquema numérico explícito possibilita simular interações não lineares de um grande número de partículas. Se tais partículas são consideradas rígidas, o comportamento dos contatos é caracterizado utilizando-se uma abordagem de contato suave, na qual sua rigidez é mensurável no contato, então o Minicursos 47 comportamento dinâmico do sistema é descrito em termos do movimento de cada partícula e das forças entre partículas agindo em cada ponto de contato. Considerando a segunda Lei de Newton, poderá haver equilíbrio estático (sem movimento) ou fluxo das partículas (NEVES, 2009). Algumas hipóteses referentes ao MED: • Os elementos discretos são tratados como corpos rígidos; • Interação atua esporadicamente entre dois elementos; • O comportamento de interação permite uma baixa sobreposição de elementos; • Os contatos ocorrem ao longo de uma área infimamente pequena (como um ponto); • Todas as partículas são esféricas, com exceção de elementos aplicados às condições de contorno; • A parede é assumida ser tão rígida que não acontece deslocamento ou movimento resultante das interações entre parede e partícula; • Supõe-se que não há fluxo de ar; Em uma simulação MED, a seguinte sequência é executada repetidamente de acordo com Šmilauer (2010): • Estabelecer as condições iniciais; • detecção das colisões aproximadas; • detectar as colisões exatas dos corpos e as interações de atualização, se necessário; • resolver interações, aplicando forças sobre as partículas; • aplicar outras condições externas (força da gravidade, por exemplo); • mudar a posição dos corpos com base em forças, integrando as equações de movimento. 48 Método dos Elementos Discretos e Desafios de Desempenho Computacional Figura 3. 1: Ciclo de cálculo do MED (Pinto, 2011) 3.2.1 Lei Força – Deslocamento A lei Força – Deslocamento estabelece a relação entre as forças de contato atuando em duas entidades com movimentos relativos entre elas. O contato pode ser formado por duas partículas ou por uma partícula e uma parede sendo a sua posição representada [C ] como um ponto x i , em um plano o qual é definido pelo vetor normal a ele ni , sendo este definido pela reta que une os centros das duas partículas (da partícula A para B). O vetor normal é definido pela equação (3.1) conforme NEVES (2009): x[i B]− x[i A] ni = d (3.1) Onde d é a distância entre os centros das duas partículas em contato. Este valor pode ser determinado por (3.2): d = |x i − x i [ B] |= √(x [iB ]− x [iA ])( x[iB]− x [i A ]) [A] (3.2) Minicursos 49 Figura 3. 2: Nomenclatura partícula – partícula, Itasca (2004) Se o contato for partícula – parede, o vetor normal ni terá a direção da reta de menor distância entre o centro da partícula e a parede. A superposição de uma partícula sobre outra é definida pelo deslocamento relativo das partículas na direção normal e é dada n pela equação (3.3). A superposição é representada por U . As duas definições citadas podem ser observadas nas figuras 3.2 e 3.3 (PINTO, 2011). Figura 3. 3: Nomenclatura partícula – parede. Itasca (2004) Conhecendo os raios das entidades em contato e a distância inicial entre elas, a n superposição das partículas em contato U pode ser determinada por: 50 Método dos Elementos Discretos e Desafios de Desempenho Computacional { A (3.3) B n − d ( part í cula− particula ) U = R +R b R − d( part í cula− par ede) A Sendo o R o raio da partícula A. Após a definição destas variáveis, a posição do contato é determinada por: { (3.4) 1 x [i A ] + R [ A ]− U n ni ( part í cula− particula ) [C ] 2 xi = 1 x[i b] + R [b]− U n ni ( part í cula− parede) 2 ( ( ) ) O vetor força de contato F i (que representa a ação entre as esferas entre si e as esfera e parede) gerada no contato é baseado na superposição de partículas. Este vetor pode ser decomposto no sentido normal ou cisalhante em relação ao plano de contato. A força total no contato é a soma destas, sendo a sua intensidade condicionada da lei de rigidez adotada (NEVES, 2009. PINTO, 2011): n (3.5) s F i= F i + Fi n s onde F i e F i denotam os vetores da força normal e cisalhante respectivamente. As partículas atuam como se fossem unidas por molas nos seus contatos. Baseada nesta hipótese, a força gerada no contato será o produto da deformação da mola pela sua rigidez. Assim, o deslocamento no sentido normal que seria a deformação da mola nessa orientação é a superposição de duas entidades. Desta maneira a força normal é determinada pela equação: F i = K ❑U ni n n (3.6) n n Sendo k a rigidez normal do contato, determinada pelo modelo de contato de rigidez atual. n U < 0. Adotando o critério de resistência à tração nula, tem-se que, se n U > 0), a força de contato cisalhante é Caso a força normal seja de compressão ( calculada de forma incremental. Ou seja, quando um novo contato é formado, a força cisalhante é nula e subsequentes deslocamentos tangenciais resultam em incrementos desta força. O movimento do ponto de contato deve ser considerado durante este procedimento. Para isso, é necessário atualizar o vetor de força normal ni e o novo ponto de contato x c a cada passo de integração (DUARTE, 2009). Na Figura 3.4 é mostrado o movimento de duas partículas e a atualização desta componente tangencial a cada novo ponto de contato Minicursos 51 Figura 3. 4: Atualização da força tangencial a cada novo ponto de contato, Duarte (2009) As componentes da força cisalhante precisam ser atualizadas para a nova posição de contato antes do acréscimo da força. Assim é possível determinar o incremento de deslocamento cisalhante no contato usando a equação (3.7), que ocorre para cada passo de tempo ∆ t (GENG, 2010): s (3.7) s ∆ U i= V i ∆ t Deste modo, pode-se determinar o incremento de força elástica cisalhante com a equação (3.8): s s s ∆ Fi = − k ∆ U i (3.8) s Onde k é a rigidez de cisalhamento (força / deslocamento) com o contato (sendo seu valor determinado pelo modelo de contato rigidez atual). Finalmente, a nova força de contato de cisalhamento é calculada somando o antigo vetor força de cisalhamento existente no início da iteração com o incremento de força cisalhante elástica (GENG, 2010): s s s F i = F j +∆ F i (3.9) Os valores estimados de força de contato normal e de cisalhamento, determinados pelas equações (3.6) e (3.7), são ajustados para satisfazer as relações constitutivas de contato. Depois destas correções, a força final do contato é transferida para as partículas seguindo as equações: [a1 ] [a1 ] [a2 ] [a2 ] Fi ← Fi − F i Fi ← Fi − F i (3.10) 52 Método dos Elementos Discretos e Desafios de Desempenho Computacional 1 1 2 2 ] ] [a ¹] M [a ← M [i a ]− e ijk ω[aj ¹] (x[C i j − x j )F k ] ] [C ] [ a² ] M [a ← M [i a ]− e ijk ω[a² i j (x j − x j )F k [a j ] [a j ] j são a força e momento aplicado para uma partícula a . e ijk é o símbolo de permutação denominado por: Onde F i e Mi { 0, se dois índices coincidem eijk = 1, se i , j , k permuta em1 ,2 e 3 −1, outro caso 3.11 3.2.2 Lei de Movimento Após o cálculo da força do contato e a sua contribuição para cada partícula, o movimento das partículas pode ser determinado, pois o movimento de uma única partícula é determinado por meio dos vetores de força e momento resultantes atuantes sobre a mesma. Esse cálculo pode ser deduzido em função do movimento translacional de um ponto na partícula e do movimento rotacional. O movimento translacional pode ser escrito em termos de posição x , velocidade x́ e aceleração x́´ , e o movimento rotacional em termos de sua velocidade angular ωi e aceleração angular ώi (DONZÉ, 1997. NEVES, 2009. GENG, 2010). O movimento translacional é calculado como: F i = m (x́ i − gi ) (3.12) Sendo F i a força resultante de todas as forças externas atuantes na partícula, igual à massa m da partícula e gi a aceleração da gravidade. A rotação pode ser escrita como: M i= H́ i (3.13) Sendo M i o momento resultante atuante na partícula e H́ i o momento angular da partícula. A equação (3.13) pode ser reduzida pela equação de Euler para o movimento como segue: M 1 = I 1 ώ1 + (I 3 − I 2 )ω3 ω2 M 2= I 2 ώ2 + (I 1− I 3 )ω 1 ω3 (3.14) Minicursos 53 M 3 = I 3 ώ3 + (I 2− I 1 )ω 2 ω1 Para uma partícula esférica de raio R , com a distribuição uniforme, o centro de massa coincide com o centro da esfera. Qualquer sistema de coordenadas preso ao centro de massa é um sistema de eixos – principais e com momentos de inércia iguais entre si, para uma partícula em que seu eixo está fora do plano, ω1 = ω 2= 0 . Sendo o momento de inércia I para uma partícula esférica dado pela equação (3.15), em um sistema global a equação (3.14) pode ser escrita como (3.16) (Duarte, 2009): I= 2 mR ² 5 (3.15) 2 m R ² ώi 5 M i = I ώi = (3.16) As equações de movimento dadas nas equações (3.12) e (3.16) são integradas usando diferenças finitas centrais que envolvem um valor ∆ t para o passo de tempo. Os valores de x́ e ωi são calculados para intervalos de t ±n ∆ t / 2 . No entanto, os valores x i , x́ i , ώi , F i e M i são calculados em intervalos primários de t ±n ∆ t . As acelerações são calculadas como: ( ∆t (t + (t− ) 1 x́ i = x́ i 2 − x́ i ∆t ώi = ( (t + 1 ωi ∆t ∆t ) 2 ) ∆t ) 2 (t− − ωi ∆t ) 2 ) (3.17) (3.18) Estas equações podem ser substituídas em (3.12) e (3.16) determinando as velocidades para o tempo t +n ∆ t /2 . Tem-se como resultado: ∆t ∆t t+ ) t− ) ( ( 2 2 x́ = x́ + i ( ) ) ( ) i ∆t ∆t t+ ) t− ( ( 2 2 ω =ω + i (t) i Fi + gi ∆t m (t ) Mi I (3.19) (3.20) ∆t A velocidade mostrada nas equações acima é usada para atualizar a posição do centro da partícula. A posição da partícula pode-se determinar como segue em (3.21): (t + ∆t ) xi (t ) (t + ∆ t /2) = x i + x́ i ∆t (3.21) 54 Método dos Elementos Discretos e Desafios de Desempenho Computacional 3.3 O software Woo O pacote de software Woo (woodem.org) é um framework desenvolvido especialmente para simulação de mecânica de materiais granulares, por meio da aplicação do MED, descrito nas seções anteriores. O Woo é software livre sob licença GPL-2, o que permite não apenas seu uso em diversos contextos (educacional, científico e profissional), como também sua extensividade. Outra característica importante é ser multiplataforma, funcionando tanto em MS Wondows quanto em SOs baseados em Linux. 3.3.1 Instalando o Woo A instalação do Woo é bastante simples, no site (woodem.org) são disponibilizados os pacotes binários para MS Windows e para algumas distribuições de Linux. Para outras distribuições, ou ainda outros SOs, é possível compilar o Woo a partir dos fontes de um repositório GitHub. O Woo é escrito em C++11 e pode ser compilado com os compiladores GCC>=4.6 ou CLang>=3.1. No entando, o compilador CLang não suporta todos os recursos, como OpenMP, por exemplo, sendo recomendável portanto a compilação com GCC. O Woo depende de uma série de bilbiotecas: • Boost, versão >= 1.48. • Python, versão 2.7 or >= 3.4 • Eigen (funções matemáticas) • Qt5 e PyQt5 • VTK (para exportar para Paraview) • GTS (manipulação de superfícies trianguladas) • FreeGLUT, GLE (gráficos com OpenGL) 3.3.2 Componentes do Woo Os principais componentes do Woo são seu interpretador de scripts Python, sua janela de comandos e sua interface gráfica. O software Woo não permite a definição e manipulação da simulação por meio da interface gráfica, como é comum em aplicações comerciais. As simulações são definidas através de um script em Python, que carrega os módulos de simulação. Essa estratégia, embora tenha uma curva de aprendizado não tão simples, agrega uma enorme flexibilidade nas simulações, permitindo a integração com outros pacotes do Python. A interface gráfica é utilizada para visualizar a simulação enquanto ela acontece, além de permitir comandos básicos como pausar e resumir. Uma interação mais direta com a simulação pode ser feita através da janela de comandos, onde é possível acessar os componentes da simulação, adicionar novos componentes e executar comandos em Python. 3.3.3 Estrutura básica de um script de simulação Em um script de simulação os componentes básicos são: • uma seção onde são importados os componentes do Woo que serão utilizados; Minicursos 55 • uma seção onde são definidos os componentes da simulação, como geometrias representando paredes ou obstáculos, fonte de partículas e definição de materiais, por exemplo; • uma seção onde são definidos os motores que serão utilizados na simulação ; • uma seção opcional com mais funções definidas pelo usuário que podem ser executadas durante a simulação. Figura 3. 5: Exemplo de script de simulação A Figura 3.5 ilustra um script básico com estes componestes. A simulação é composta por três paredes e uma esfera. Na definição da cena é definido o valor da força de gravidade, que age apenas sobre as partículas móveis, neste caso a esfera. Ao definir os motores da simulação são adicionados os motores mínimos necessários, que calculam as colisões entre os objetos e integram o movimento. Ao definir os motores é informado o valor utilizado de damping, que é um fator de amortecimento para fenômenos físicos não levados em consideração, como a dissipação de energia na forma de calor, por exemplo. O parâmetro S.throttle é uilizado para que a simulação execute em um tempo mais lento e é utilizado apenas para fins didáticos. A Figura 3.6 mostra o resultado da execução do script. 56 Método dos Elementos Discretos e Desafios de Desempenho Computacional Figura 3. 6: Resultado da simulação 3.3.4 Definição de materiais No script da Figura 3.5 não são definidos os materiais das partículas, neste caso o Woo usa uma definição padrão de material que não corresponde a um material real. A definição do material é uma etapa muito importante para simulações mais realistas. O material é definido por uma série de parâmetros físicos que podem ser obtidos em ensaios de laboratório ou na literatura. A Figura 3.7 mostra um novo script onde são definidos dois materiais diferentes e são adicionadas duas esferas à simulação, cada uma de um material. Minicursos 57 Figura 3. 7: Script com definição de material Figura 3. 8: Esferas de diferentes materiais 58 Método dos Elementos Discretos e Desafios de Desempenho Computacional Nesse caso são definidos para os materiais os seguintes parâmetros físicos: • density: densidade do material em Kg/m3; • young: módulo de Young, também chamado módulo de elasticidade, e é uma medida de rigidez do meterial definido em Pa; • tanPhi: tangente do ângulo de atrito do material.Dependo do tipo de simulação e do modelo de contato utilizado são necessárias definições mais complexas de material utilizando mais parâmteros físicos.Neste exemplo, após alguns segundos de simulação é possível notar que as esferas não chegam ao solo ao mesmo tempo, pois depois de alguns quiques no solo, a diferença nos materiais faz com que as esferas reajam de forma diferente, como pode ser visto na Figura 3.8. 3.3.5 Exportando os resultados Em uma situação típica de pesquisa, o pesquisador não estará tão interessado em acompanhar visualmente a simulação, mas sim em analisar dados da simulação após sua execução. Para obter estes dados é necessários exportá-los na forma de arquivos durante essa execução. Existem dois métodos principais de exportar resultados, exportar imagens da simulação, que são as mesmas imagens geradas na janela gráfica do Woo; ou ainda exportar dados em formato VTK, que são lidos pelo software Paraview (paraview.org), um software livre de visualização científica amplamente utilizado. A figura 3.9 ilustra um script onde são adicionados os motores de exportação de imagem e VTK. O parâmetro stepPeriod define o intervalo de passos de iteração, em que serão exportados os dados. Figura 3. 9: Exportando os dados 3.3.6 Considerações sobre desempenho computacional Um ponto crítico na adoção do MED é o seu custo computacional. Para executar a simulação o sistema precisa manter em memória a informação de cada uma das partículas, e o passo temporal do método precisa ser pequeno, na ordem de 10-5 segundos. Para problemas típicos para MED, como por exemplo o escoamento de terra em uma encosta, o escoamento de areia, ou a armazenagem de grão em um armazém, a quantidade de partículas que precisam ser simuladas é enorme. Isso faz com que a otimização do desempenho computacional do método seja vital para sua adoção. Apenas como um exemplo ilustrativo, sem o rigor de uma análise mais completa, vejamos o desempenho do script ilustrado na Figura 3.10. Minicursos 59 Figura 3. 10: Script com com 100000 esferas Este script simula a queda de cem mil esferas, o que é uma quantidade bastante pequena de partículas se considerarmos os problemas reais descritos anteriormente. Essa simulação requer 1GB de memória operacional e o passo de tempo de simulação é de 9x10-6 s. Um laptop de consumidor típico, equipado com processador Core i7 4720HQ, é capaz de processar 14 iterações por segundo. Isso significa que para processar 10 segundos da simulação seriam necessárias 308,64 horas de processamento do laptop. Como podemos perceber nesse exemplo, ainda que a memória seja um gargalo importante, o pior limitante, sem dúvida, é o tempo de processamento. A solução para essa questão passa em primeiro lugar, pela otimização dos próprios algoritmos e bibliotecas utilizados, mas essa é uma solução que não é escalável, já que é possível otimizar os algoritmos apenas até um certo ponto. Outra solução é a computação paralela. O software Woo já compilado com suporte a OpenMP, para isto basta usar a opção -j ao executar a simulação, para 8 threads por exemplo, a opção é -j8. Como o OpenMP é uma solução para sistemas de memória compartilhada, seria interessante o desenvolvimento de alternativas de execução para ambientes de memória não compartilhada, o que aumentaria as possibilidades de aplicação do MED utilizando Woo. 3.4 Conclusões Foram apresentados o MED, seu modelo matemático e sua aplicação em diferentes problemas. A relativa simplicidade de sua formulação matemática tem possibilitado sua implementação em diferentes pacotes de software. O pacote de software Woo apresentado, se destaca por ser software livre e multiplataforma. Outra característica importe é sua flexibilidade na definição de cenários de simulação utilizando scripts Python. A principal questão para sua utilização é seu custo computacional, especialmente o tempo de processamento. Ele possui suporte a OpenMP, o que possibilita sua execução paralela em sistema de memória compartilhada. Um avanço futuro interessante seria a 60 Método dos Elementos Discretos e Desafios de Desempenho Computacional possibilidade de execução em ambientes de memória não compartilhada, o que aumentaria suas possibilidades de aplicação. Referências Boulic, R. and Renault, O. (1991) “3D Hierarchies for Animation”, In: New Trends in Animation and Visualization, Edited by Nadia Magnenat-Thalmann and Daniel Thalmann, John Wiley & Sons ltd., England. Cumdall, P. A., & Strack, O. D. L. (1979). “Discrete numerical model for granular assemblies. International Journal of Rock Mechanics and Mining Sciences and Geomechanics”. Abstracts Geotechnique, 16, 77. doi:http://dx.doi.org/10.1016/01489062(79)91211-7. Dang, H. K., Meguid, M. A. (2010). “Algorithm to generate a discrete element specimen with predefined properties”. International Journal of Geomechanics (10), pages 8591. Donzé F. V., Magnier S. A. (1997). “Spherical Discrete Element Code Spherical Discrete Element Code SDEC V. 2.00”. GEOTOP, Université du Québec à Montréal. Donzé F. V. Magnier, A. Daudeville, L. Mariotti, C. Davenne L. (1999). “Numerical study of compressive behavior of concrete at high strain rates”. J. Eng. Mech., Am. Soc. Civil Eng. 125: 1154–1163. Duarte, L. S. (2009). “Simulação de grãos em GPU”. 58 f. Dissertação (Mestrado em Informática). Pontifícia Universidade Católica, Rio de Janeiro. Geng, X.; Fraser, W.; Vandenbygaart, B.; Smith, S.; Wadell, A.; Jiao, Y. & Patterson, G. (2010) “Toward digital soil mapping in Canada: Existing soil survey data and related expert knowledge”. Digital soil mapping; Progress in soil science, 2. Amsterdam, Springer. p.325-335. Itasca. (2004). “Particle Flow Code in 2 Dimensions (Online Manual, Version 3.1). “ Itasca Consulting Group. Langston, P.A., Al-Awamleh, M.A., Fraige, F.Y., Asmar, B.N. (2004). “Distinct element modelling of non-spherical frictionless particle flow”. Chemical Engineering Science 59 (2), 425–435. Mesquita, A., Silva, M. O., Santos, E.,Carvalho, L.C., Gomes, E., Neto, E., Mafra, M. (2012). “Uso do método dos elementos discretos em manuseio de minérios e sua contribuição para a pós graduação e graduação no curso de engenharia mecânica da UFPA”. Anais: XL Congresso Brasileiro de Educação em Engenharia – COBENGE, Belém, PA, Brasil. Montellano, C. Ramirez, Á. Gallego, E. Ayuga, F. (2011). “Validation and experimental calibration of 3D discrete element models for the simulation of the discharge flow in silos”. Chemical Engineering Science Volume 66, Issue 21, 1 November, Pages 5116–5126. Neves, C. E. V. (2009). “Comportamento de materiais granulares usando o método dos elementos discretos”. 166 f. Dissertação (Mestrado em Geotecnia)-Universidade de Brasília, Brasília. Minicursos 61 Pinto, C. N. (2011). “Uso de elementos discretos na modelagem numérica da perfuração de poços de petróleo por brocas PDC”. 139 f. Dissertação (Mestrado em Engenharia Cívil). Pontífice Universidade Católica, Rio de Janeiro. Santos, E.G. Mesquita, A.L.A. Gomes, L.M. Neto, E.F. Mafra, M.P. (2012). “Análise da forma geométrica da partícula na aplicação do método dos elementos discretos – DEM”. Anais: VII Congresso Nacional de Engenharia Mecânica – CONEM 2012, São Luís-MA. Šmilauer,V. Chareyre, B. (2010). “Yade dem formulation”. In Yade Documentation ( V. Šmilauer, ed.), The Yade Project , 1st ed. Zhu, H.P., Zhou, Z.Y., Yang, R.Y., Yu, A.B. (2008). “Discrete particle simulation of particulate systems: Areview of major applications and findings”, Chemical Engineering Science, 62. 62 Método dos Elementos Discretos e Desafios de Desempenho Computacional