Implementação de bibliotecas de álgebra linear numérica via interface nativa no INSANE

  • -

Implementação de bibliotecas de álgebra linear numérica via interface nativa no INSANE


Implementação de bibliotecas de álgebra linear numérica via interface nativa no INSANE

Marcella Passos Andrade, Ramon Pereira da Silva

CILAMCE 2015 - XXXVI Iberian Latin American Congress on Computational Methods in Engineering , Rio de Janeiro , 2015

Download file

Resumo

A simulação numérica de meios parcialmente frágeis torna necessária uma análise fisicamente não-linear. À medida que a complexidade dos problemas abordados evolui, aumenta-se a demanda computacional para a solução do sistema linear de equações do modelo discreto resultante, seja em termos de consumo de memória quanto de uso de CPU. Nessa análise, a matriz de rigidez perde a positividade à medida que ocorre as iterações, em particular quando da mudança da trajetória de equilíbrio do ramo ascendente para o descendente. Ainda há certos modelos constitutivos que podem levar também à perda da simetria numérica da matriz de rigidez. Há diversas bibliotecas de álgebra linear numérica, com uso acadêmico ou comercial difundido, comprovadamente rápidas, tais como BLAS, Lapack, SuperLU, SuiteSparse e libFlame. O INSANE (Interactive Structural Analysis Environment) é um software livre, em desenvolvimento no DEES-UFMG, escrito em Java, no qual estão implementados o Método dos Elementos Finitos (MEF), o Método de Elementos de Contorno (MEC), bem como um método sem malha, o Element-Free Galerkin (EFG). Atualmente o armazenamento da matriz de rigidez dá-se em formato cheio ou simétrico esparso com altura variável de colunas. Este trabalho objetiva estender o núcleo numérico do sistema considerando-se o armazenamento consistente com as bibliotecas SuiteSparse e libFlame, bem como disponibilizar um algoritmo de solução direta de sistema de equações lineares fornecidos pelas respectivas bibliotecas, utilizando-se dos mecanismos da interface nativa de Java. A síntese da implementação e uma comparação quanto ao uso de memória e tempo de processamento para um conjunto de matrizes de tamanhos variados será apresentada.