1 Pós-doutoranda em Engenharia de Estruturas - EESC-USP, celiak@gmail.com

2 Professor do Departamento de Engenharia de Estruturas da EESC-USP, venturin@sc.usp.br

Célia Leiko Ogawa Kawabata & Wilson Sérgio Venturini 130

1 INTRODUÇÃO

O objetivo do trabalho é a criação de um sistema computacional acadêmico em arquitetura paralela (ACADSOFT-P) para uso interno ao departamento, para dar continuidade a pesquisas aplicadas e ainda ser utilizado como plataforma para futuras pesquisas em métodos numéricos e mecânica estrutural. Neste item pretende-se dar continuidade a elaboração de um sistema computacional decorrente do projeto de pesquisa de Rodrigo Ribeiro Paccola. Com o sistema em implementação criou-se no Departamento de Engenharia de Estruturas da EESC uma estratégia simples e eficiente da transformação de códigos científicos, desenvolvidos no grupo, usando modelos seqüenciais (ACADSOFT-S) utilizáveis em pesquisas aplicadas e numéricas.

Esta estratégia permite a utilização, em uma mesma plataforma, de um pré-processador de um software comercial, ANSYS® por exemplo, e um pós-pré-processador.

Os resultados alcançados com o projeto mencionado foram excelentes como verificados em diversos trabalhos que se utilizam dessa estratégia, Paccola (2004).

Além desses trabalhos deve-se ainda destacar os seguintes artigos sobre o assunto publicados em periódicos de grande circulação: Greco & Coda (2004); Greco et al.

(2004), Coda & Greco (2006).

A versatilidade na geração de dados e a facilidade da análise dos resultados, que permite o contínuo aprimoramento dos modelos mecânicos inseridos no sistema aliada ao esgotamento do ambiente seqüencial demonstra a necessidade de recorrer a técnicas computacionais mais eficientes.

Assim, a opção pelo processamento paralelo vai permitir a evolução, em termos de aplicações mais complexas da análise estrutural com a redução significativa dos tempos de processamento em comparação com os hoje observados quando se emprega o processamento seqüencial. Com o aumento de desempenho do sistema computacional pretende-se abordar problemas diversos de engenharia estrutural tais como: impacto de veículos (automóveis, aeronaves, trens), impacto de projéteis em blindados, análise não-linear geométrica exata de edifícios altos, torres de transmissão, pontes penseis e estaiadas etc. Deve-se mencionar que estas aplicações já são feitas em modelos bidimensionais com bastante sucesso e tempo de processamento aceitáveis utilizando-se a plataforma do ACADSOFT seqüencial, Paccola (2004). Para problemas tridimensionais aplicações lineares já são modeladas com desempenho semelhante ao do sistema computacional ANSYS, tanto no que diz respeito ao tempo de processamento quanto à ocupação de memória. Para a análise de problemas não-lineares, entretanto, tanto o sistema ACADSOFT seqüencial quanto os sistemas comerciais (ANSYS, ABAQUS, ADINA dentre outros) não são suficientemente rápidos para as aplicações de maior porte.

2 METODOLOGIA

Para o desenvolvimento geral da formulação seqüencial será empregado computador pessoal (Pentium 4 de 3 GHz e 2GB de memória RAM). Para processamento paralelo será utilizado inicialmente um cluster tipo beowulf do Departamento composto por 6 nós interligados por uma rede gigabit ethernet, cada nó com processador Pentium 4 de 3,2 GHz e 4 GB de memória RAM. Em cada nó está instalado o sistema operacional Linux, o compilador gnu-gfortran e o ambiente de

Desenvolvimento de software paralelo para análise dinâmica não-linear geométrica...

Cadernos de Engenharia de Estruturas, São Carlos, n. xx, p. xx-xx, 2006 131

passagem de mensagem PVM. A forma de funcionamento do PVM consiste em um nó chamado mestre que dispara processos para os demais nós (escravos). A forma de comunicação entre os nós é por troca de mensagens.

As etapas que devem ser seguidas para a execução do projeto compreende os itens:

• Estudos específicos sobre programação em paralelo utilizando linguagem FORTRAN. O estudo dessa linguagem se faz necessário, pois o programa básico desenvolvido a utiliza. Decidir sobre qual ambiente de troca de mensagem deve ser empregado: MPI ou PVM. Em seguida, testar exemplos neste programa escolhido.

• Identificação dos pontos críticos de processamento. Nessa fase, além do estudo pormenorizado do código seqüencial, da identificação dos laços mais importantes, será necessário se processar o código para exemplos bastante grandes (com processador seqüencial) identificando pontos de consumo excessivo de tempo e de memória.

• Reorganização do código seqüencial. Depois de identificados os pontos críticos, dever-se-á fazer estudo de possíveis melhorias na lógica do programa, preparando-o para a paralelização.

• Quase ao mesmo tempo da etapa anterior será necessária definição da estratégia de paralelização do código otimizado. Esta identificação se faz principalmente a partir de uma análise sistemática da quantidade de troca de informações e dos laços que serão paralelizados.

• Paralelização do programa. A paralelização do programa será desenvolvida em uma máquina do tipo PC utilizando o sistema operacional Linux e se fará seguindo ordem crescente de dificuldade relacionada às aplicações desejadas.

Neste primeiro período, devem-se adaptar e testar as rotinas básicas da álgebra linear, tal como produto matriz-vetor, matriz-matriz, resolução de sistemas e inversão de matrizes. Verificar escalabilidade do sistema desenvolvido.

• Paralelizar os pontos críticos do problema não-linear geométrico, assumindo-se material de comportamento linear. Em assumindo-seguida agregar-assumindo-se-á o módulo de não-linearidade física e, finalmente o módulo dinâmico.

• Processamento de exemplos significativos para tomadas de medidas de speedup. Nesta fase, além de problemas padrão serão processados exemplos reais de engenharia. Pretende-se discretizar um automóvel de médio porte (com bom nível de detalhe) e estudar seu impacto contra anteparo rígido. Os resultados obtidos serão comparados com dados disponíveis de montadoras.

3 DESENVOLVIMENTO

O software seqüencial estava em ambiente Windows e foi portado para o ambiente Linux, onde será feita a paralelização do código.

O código original foi implementado no ambiente Compaq Visual Fortran 6 e utilizava algumas funções de bibliotecas proprietárias, tais como autovalor e autovetor, inversão de matriz, cálculo de coordenadas e pesos de Gauss. No linux utilizou-se o compilador gnu-gfortran e essas funções tiveram de ser implementadas.

Célia Leiko Ogawa Kawabata & Wilson Sérgio Venturini 132

A adequação do software para o ambiente Linux já foi concluída e o software já se encontra em execução. Executando-se modelos iguais tanto no ambiente Linux quanto Windows, houve uma melhora no desempenho no caso do Linux, onde o tempo de processamento diminuiu consideravelmente. Testes ainda precisam ser efetuados para mensurar esse ganho de desempenho no caso sequencial.

Foi feito um mapeamento das variáveis utilizadas no software e identificação dos laços utilizados nele de forma a identificar os pontos em que a paralelização será efetuada e como será feita o envio dos dados dos processos mestre para os escravos e dos escravos para o mestre.

Testes estão sendo feitos no PVM para a adequação do código para que se tenha uma primeira versão do código sendo executado em paralelo.

4 RESULTADOS ESPERADOS

Como resultado desse projeto espera-se obter um software de alto desempenho para a análise estrutural dinâmica ou estática de estruturas em regime não-linear e a definição de caminhos bem estabelecidos para programação em paralelo de códigos científicos para a solução de problemas estruturais a serem transferidas para alunos de mestrado e doutorado do Departamento.

Espera-se obter sistemas computacionais de alto desempenho para permitir sua aplicação em problemas reais e também facilitar a evolução dos modelos numéricos que incorpore os novos conhecimentos. O projeto também vai introduzir no Departamento os procedimentos de computação paralela que vai representar um ganho importante para a evolução das pesquisas. Os pesquisadores da área não têm utilizado de maneira eficiente tais procedimentos.

5 AGRADECIMENTOS

A autora agradece à FAPESP pelo apoio financeiro.

6 REFERÊNCIAS

CODA, H. B.; GRECO, M. (2006). Positional FEM formulation for flexible multi-body dynamic analysis. Journal of Sound and Vibration, v. 290, n. 3-5, p. 1141-1174.

GRECO, M.; CODA, H. B. (2004). A simple and precise FEM formulation for large deflection 2D frame analysis based on position description. Computer Methods in Applied Mechanics and Engineering, n. 193, p. 3541-3557.

GRECO, M.; CODA, H. B.; VENTURINI, W. S. (2004). An alternative contact/impact identification algorithm for 2D structural problems. Computational Mechanics, v. 34, n. 5, p. 410-422.

PACCOLA, R. R. (2004) Análise não linear física de placas e cascas anisotrópicas acopladas ou não com meio contínuo tridimensional viscoelástico através da combinação entre o MEC e o MEF. São Carlos. Tese (Doutorado) – Escola de Engenharia de São Carlos – Universidade de São Paulo.

ISSN 1809-5860

Cadernos de Engenharia de Estruturas, São Carlos, v. 8, n. 32, p. 133-136, 2006

ALGORITMOS PARA FORMULAÇÃO DE ELEMENTOS FINITOS

No documento UNIVERSIDADE DE SÃO PAULO. Reitor: Profa. Titular SUELY VILELA SAMPAIO. Vice-Reitor: Prof. Titular FRANCO MARIA LAJOLO (páginas 141-145)

Outline

Documentos relacionados