• Nenhum resultado encontrado

UM SISTEMA DE MODELAGEM ESTRUTURAL ORIENTADO A OBJETOS

N/A
N/A
Protected

Academic year: 2021

Share "UM SISTEMA DE MODELAGEM ESTRUTURAL ORIENTADO A OBJETOS"

Copied!
433
0
0

Texto

(1)UM SISTEMA DE MODELAGEM ESTRUTURAL ORIENTADO A OBJETOS. Paulo Aristarco Pagliosa. Tese apresentada a Escola de Engenharia de S~ao Carlos, da Universidade de S~ao Paulo, como parte dos requisitos para obtenc~ao do ttulo de Doutor em Engenharia de Es-. truturas. ORIENTADOR: Prof. Dr. Jo~ ao Batista de Paiva. S~ao Carlos 1998.

(2) Ficha catalográfica preparada pela Seção de Tratamento da Informação do Serviço de Biblioteca - EESC-USP. P138s. Pagliosa, Paulo Aristarco Um sistema de modelagem estrutural orientado a objetos / Paulo Aristarco Pagliosa. -- São Carlos, 1998. Tese (Doutorado) -- Escola de Engenharia de São Carlos-Universidade de São Paulo, 1998. Área: Engenharia de Estruturas Orientador: Prof. Dr. João Batista de Paiva 1. Programação orientada a objetos. 2. Método dos elementos finitos. 3. Método dos elementos de contorno. I. Título..

(3) A meu

(4) lho, Lucas..

(5)

(6) Agradecimentos Ao meu orientador e amigo Jo~ao Batista de Paiva. Muito obrigado pela disponibilidade em me orientar, de maneira t~ao generosa, nos estudos de assuntos t~ao interessantes. Se sua excel^encia em orientac~ao tivesse se restringido somente a area tecnica, ainda assim eu estaria cheio de motivos para dizer muito obrigado. Mas, alem disso, Dr. Paiva me deu orientac~oes de verdadeiro amigo. Agradeco, tambem, pela con

(7) anca em mim depositada. Espero que eu possa vir a ter muitas oportunidades de merec^e-la. Ao amigo Humberto Breves Coda. Em muitas situac~oes interrompi o trabalho do Dr. Coda no SET para tirar duvidas e trocar ideias sobre elementos

(8) nitos e de contorno. Em todas elas, sempre aprendi muito. Aos colegas do Departamento de Computaca~o e Estatstica da Universidade Federal de Mato Grosso do Sul, pela infra-estrutura e apoio constantes. Em particular, aos amigos Marcelo F. Siqueira, Fabio H.V. Martinez e Ronaldo Alves Ferrerira. Marcelo possui um gosto por livros t~ao exagerado quanto sua generosidade em empresta-los. Sobre minha mesa ha mais livros de sua biblioteca particular do que meus proprios. Agradeco tambem pelo programa de impress~ao Post-script de modelos poliedrais, responsavel por algumas das

(9) guras impressas na primeira parte do texto. Com seu incentivo pessoal, Fabio tem tentado, com relativo sucesso, levantar meu ^animo por diversas vezes nos ultimos tempos. Muito obrigado. Ronaldo, por sua vez, n~ao mediu esforcos para oferecer todas as condico~es necessarias para a conclus~ao do trabalho. Sou grato, igualmente, ao Prof. Celso Vitorio Pierezan. Foi durante sua gest~ao como reitor da UFMS que tive oportunidade de me afastar de minhas atividades acad^emicas e me dedicar exclusivamente ao doutorado. Aos amigos do Departamento de Engenharia de Estruturas da Escola de Engenharia de S~ao Carlos, n~ao somente por desempenharem suas atividades com maxima compet^encia mas, sobretudo, pelas contnuas demonstraco~es de boa vontade. Quando estou no SET, sinto-me realmente em casa. Em especial, gostaria de agradecer a Maria Nadir Minatel, Rosi Aparecida Jord~ao Rodrigues, Rui Roberto Casale, Ant^onio Valdair Carneiro e Norberto Costardi. Aos queridos amigos de S~ao Carlos, por me cederem, gratuitamente, suas casas, algumas de suas preocupac~oes e seus inesgotaveis sensos de humor. Obrigado por tudo.  CAPES, pelas bolsas de estudos concedidas. A.

(10)

(11) ´ Conteudo Lista de Figuras Lista de Programas Resumo Abstract. ix xiv xv xvii. Parte Um: FUNDAMENTOS. 1 Introduc~ao 1.1 1.2 1.3 1.4. Problema Fundamental OSW . . . . . . . . . . Organizac~ao do Texto Notac~ao . . . . . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 1 . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. . . . .. 2.1 Introduc~ao . . . . . . . . . . . . . . . . . . . 2.2 Modelagem Geometrica . . . . . . . . . . . . 2.2.1 Geometria e Topologia . . . . . . . . 2.2.2 Hierarquias em Modelos Geometricos 2.2.3 Modelagem de Solidos . . . . . . . . 2.3 Modelagem Matematica . . . . . . . . . . . 2.4 Modelagem Mec^anica . . . . . . . . . . . . . 2.5 Sistemas Computacionais de Modelagem . . 2.6 Sumario . . . . . . . . . . . . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 2 O que s~ao Modelos?. 3 Modelos Geometricos. 3.1 Introduc~ao . . . . . . . . . . . . . 3.2 Transformac~oes Geometricas . . . 3.3 Modelos Gra

(12) cos . . . . . . . . . 3.3.1 Primitivos Gra

(13) cos . . . . 3.3.2 Operadores de Modelagem 3.4 Modelos de Cascas . . . . . . . . 3.5 Modelos de Solidos . . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 3. 3 9 12 13. 19. 19 20 22 22 24 29 30 31 32. 33. 33 34 40 41 45 48 52.

(14) ii. Conteudo 3.6 Modelos de Decomposica~o por Celulas . . . . . . . . . . . . . . . . . . 3.6.1 Tipos de Celulas . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4 Modelos Matematicos. 4.1 Introduc~ao . . . . . . . . . . . . . . . . 4.2 Tens~oes . . . . . . . . . . . . . . . . . 4.2.1 Tens~oes Principais . . . . . . . 4.3 Deformaco~es . . . . . . . . . . . . . . . 4.4 Equac~oes de Equilbrio . . . . . . . . . 4.5 Elasticidade Tridimensional . . . . . . 4.6 Modelo Matematico Geral . . . . . . . 4.6.1 Soluca~o Fundamental de Kelvin 4.7 Modelos Simpli

(15) cados . . . . . . . . . 4.7.1 Membranas . . . . . . . . . . . 4.7.2 Placas . . . . . . . . . . . . . . 4.8 Sumario . . . . . . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. 55 56 59. 61. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. . . . . . . . . . . . .. 5.1 Introduc~ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Resduos Ponderados . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Resduos Ponderados para o Problema Fundamental . 5.3 Princpio dos Trabalhos Virtuais . . . . . . . . . . . . . . . . 5.4 Metodo dos Elementos Finitos . . . . . . . . . . . . . . . . . 5.4.1 Esquema Computacional . . . . . . . . . . . . . . . . 5.5 Equac~oes Integrais de Contorno . . . . . . . . . . . . . . . . 5.6 Metodo dos Elementos de Contorno . . . . . . . . . . . . . . 5.6.1 Esquema Computacional . . . . . . . . . . . . . . . . 5.7 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . 85 . 86 . 89 . 92 . 93 . 97 . 97 . 101 . 103 . 104. 5 Analise Numerica de Modelos Estruturais. 6 Modelos Mec^anicos. 6.1 Introduc~ao . . . . . . . . . . . . . . . . . . 6.2 Elementos Finitos . . . . . . . . . . . . . . 6.2.1 Elemento Finito de Placa . . . . . 6.2.2 Elemento Finito de Membrana . . . 6.2.3 Elemento Finito de Casca . . . . . 6.3 Elementos de Contorno . . . . . . . . . . . 6.3.1 Elemento Quadrilateral Linear . . . 6.3.2 Elemento Quadrilateral Quadratico 6.4 Geraca~o de Malhas . . . . . . . . . . . . . 6.5 Sumario . . . . . . . . . . . . . . . . . . .. 7 Visualizac~ao 7.1 7.2 7.3 7.4. Introduc~ao . . . . . . . . . . . . . . . Da Modelagem a Visualizac~ao . . . . Computaca~o Gra

(16) ca Tridimensional . Algoritmos de Visualizac~ao . . . . . . 7.4.1 Visualizaca~o de Escalares . . .. . . . . .. . . . . .. . . . . .. 61 62 65 66 71 72 74 76 78 78 80 84. 85. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . . . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. . . . . .. 105 105 106 106 110 114 115 116 118 118 128. 131 131 132 135 149 151.

(17) Conteudo. iii. 7.4.2 Visualizac~ao de Vetores . . . . . . . . . . . . . . . . . . . . . . . 155 7.5 Sumario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156. 8 O que s~ao Objetos?. 8.1 Introduc~ao . . . . . . . . . . . . . . . . . . . . . . . . 8.2 Conceitos Basicos . . . . . . . . . . . . . . . . . . . . 8.2.1 Classe . . . . . . . . . . . . . . . . . . . . . . 8.2.2 Inst^ancia . . . . . . . . . . . . . . . . . . . . . 8.2.3 Mensagem . . . . . . . . . . . . . . . . . . . . 8.2.4 Construca~o e Destruic~ao de Objetos em C++ 8.3 Propriedades da Orientaca~o a Objetos . . . . . . . . 8.3.1 Encapsulamento . . . . . . . . . . . . . . . . . 8.3.2 Heranca . . . . . . . . . . . . . . . . . . . . . 8.3.3 Polimor

(18) smo . . . . . . . . . . . . . . . . . . 8.4 Sumario . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. . . . . . . . . . . .. Parte Dois: OBJECT STRUCTURAL WORKBENCH. 9 Construindo Aplicac~oes com OSW. 9.1 Introduca~o . . . . . . . . . . . . . . . . . . . . . . . . . . . 9.2 O que e uma Aplicaca~o de Modelagem? . . . . . . . . . . . 9.2.1 Montando o Projeto de uma Aplicac~ao . . . . . . . 9.2.2 Aplicac~oes de Modelagem Orientadas a Objetos . . 9.3 Vis~ao Geral das Classes de OSW . . . . . . . . . . . . . . 9.4 De

(19) nindo a Aplicac~ao . . . . . . . . . . . . . . . . . . . . 9.5 De

(20) nindo o Documento da Aplicac~ao . . . . . . . . . . . . 9.5.1 Criando um Novo Documento . . . . . . . . . . . . 9.5.2 Salvando um Documento . . . . . . . . . . . . . . . 9.5.3 Abrindo um Documento . . . . . . . . . . . . . . . 9.5.4 Fechando um Documento . . . . . . . . . . . . . . 9.5.5 Adicionando e Removendo Modelos do Documento 9.5.6 Adicionando e Removendo Cenas ao Documento . . 9.6 De

(21) nindo os Modelos do Documento . . . . . . . . . . . . 9.7 De

(22) nindo as Cenas do Documento . . . . . . . . . . . . . . 9.7.1 Adicionando e Removendo Atores de uma Cena . . 9.7.2 Adicionando e Removendo Luzes de uma Cena . . . 9.7.3 Adicionando e Removendo C^ameras de uma Cena . 9.7.4 Adicionado e Removendo Vistas de uma Cena . . . 9.8 De

(23) nindo as Vistas das Cenas do Documento . . . . . . . 9.8.1 De

(24) nindo os Comandos de uma Vista . . . . . . . . 9.8.2 Executando os Comandos de um Vista . . . . . . . 9.9 Usando Fontes . . . . . . . . . . . . . . . . . . . . . . . . . 9.10 Usando Filtros . . . . . . . . . . . . . . . . . . . . . . . . 9.11 Usando Mapeadores . . . . . . . . . . . . . . . . . . . . . 9.12 De

(25) nindo Elementos Finitos . . . . . . . . . . . . . . . . . 9.13 De

(26) nindo Analisadores . . . . . . . . . . . . . . . . . . . . 9.13.1 Iniciando a Analise . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 159. 159 160 160 162 162 163 164 165 167 170 172. 173 . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 175. 175 176 178 179 180 184 188 190 190 191 191 191 192 193 195 196 197 199 199 199 200 205 207 208 211 212 214 215.

(27) iv. Conteudo 9.13.2 Montando o Sistema de Equac~oes . 9.13.3 Resolvendo o Sistema de Equaco~es 9.13.4 Terminando a Analise . . . . . . . 9.14 Sumario . . . . . . . . . . . . . . . . . . .. 10 As Bibliotecas de Classes. . . . .. . . . .. . . . .. 10.1 Func~oes Globais de OSW . . . . . . . . . . . . . Func~ao IsEqual . . . . . . . . . . . . . . . . . . Func~ao IsGreater . . . . . . . . . . . . . . . . . Func~ao IsGreaterEqual . . . . . . . . . . . . . . Func~ao IsLesser . . . . . . . . . . . . . . . . . . Func~ao IsLesserEqual . . . . . . . . . . . . . . . Func~ao IsNegative . . . . . . . . . . . . . . . . . Func~ao IsPositive . . . . . . . . . . . . . . . . . Func~ao IsZero . . . . . . . . . . . . . . . . . . . Func~ao ToDegrees . . . . . . . . . . . . . . . . . Func~ao ToRadians . . . . . . . . . . . . . . . . 10.2 Macros de OSW . . . . . . . . . . . . . . . . . . Macro COMMAND . . . . . . . . . . . . . . . . Macro COMMAND AND ID . . . . . . . . . . Macro DECLARE COMMAND TABLE . . . . Macro DECLARE ERROR MESSAGE TABLE Macro DECLARE KEYWORD TABLE . . . . Macro DEFINE COMMAND TABLEx . . . . . Macro DEFINE ERROR MESSAGE TABLE . Macro DEFINE KEYWORD TABLE . . . . . . Macro END COMMAND TABLE . . . . . . . . Macro END ERROR MESSAGE TABLE . . . Macro END KEYWORD TABLE . . . . . . . . Macro ERROR MESSAGE . . . . . . . . . . . Macro KEYWORD . . . . . . . . . . . . . . . . 10.3 Classes de OSW . . . . . . . . . . . . . . . . . . Classe t2DCell . . . . . . . . . . . . . . . . . . . Classe t2DExtents . . . . . . . . . . . . . . . . Classe t2DMeshGenerator . . . . . . . . . . . . Classe t3DTransfMatrix . . . . . . . . . . . . . Classe t3DVector . . . . . . . . . . . . . . . . . Classe t3N2DCell . . . . . . . . . . . . . . . . . Classe t3NShell . . . . . . . . . . . . . . . . . . Classe t4N2DCell . . . . . . . . . . . . . . . . . Classe tActor . . . . . . . . . . . . . . . . . . . Classe tApplication . . . . . . . . . . . . . . . . Classe tBandSystem . . . . . . . . . . . . . . . Classe tBE4NQuad . . . . . . . . . . . . . . . . Classe tBESolidMeshGenerator . . . . . . . . . Classe tBESolver . . . . . . . . . . . . . . . . . Classe tBoundaryEdgesFilter . . . . . . . . . . . Classe tBoundaryElement . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 216 217 217 217. 219. 219 219 219 219 219 219 220 220 220 220 220 220 220 221 222 222 222 222 224 224 224 224 224 224 225 226 226 227 228 231 233 235 236 237 238 240 242 242 243 244 245 245.

(28) Conteudo Classe tBoundaryFace . . . . . Classe tCamera . . . . . . . . . Classe tCameraDialog . . . . . Classe tCell . . . . . . . . . . . Classe tColor . . . . . . . . . . Classe tColorDialog . . . . . . . Classe tColorMapFrame . . . . Classe tColorMapView . . . . . Classe tColumn . . . . . . . . . Classe tContourFilter . . . . . . Classe tDataWindow . . . . . . Classe tDCObject . . . . . . . . Classe tDCObjectT . . . . . . . Classe tDisplayFile . . . . . . . Classe tDocPath . . . . . . . . Classe tDocument . . . . . . . . Classe tDOF . . . . . . . . . . . Classe tDoubleList . . . . . . . Classe tDoubleListIterator . . . Classe tEdge . . . . . . . . . . . Classe tEnvironment . . . . . . Classe tFace . . . . . . . . . . . Classe tFEShellMeshGenerator Classe tFESolver . . . . . . . . Classe tFile . . . . . . . . . . . Classe tFiniteElement . . . . . Classe tFixedArray . . . . . . . Classe tFixedArrayIterator . . . Classe tFullSystem . . . . . . . Classe tGraphicModel . . . . . Classe tInputDialog . . . . . . . Classe tInternalIterator . . . . . Classe tIntersectInfo . . . . . . Classe tIterator . . . . . . . . . Classe tJacobianMatrix . . . . . Classe tLight . . . . . . . . . . Classe tLine . . . . . . . . . . . Classe tLinearSystem . . . . . . Classe tLocalSystem . . . . . . Classe tLookupTable . . . . . . Classe tMainWindow . . . . . . Classe tMapper . . . . . . . . . Classe tMaterial . . . . . . . . . Classe tMaterialEditor . . . . . Classe tMatrix . . . . . . . . . Classe tMesh . . . . . . . . . . Classe tMeshableModel . . . . . Classe tMeshReader . . . . . .. v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 247 249 251 252 254 256 257 258 259 260 260 262 263 263 264 264 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 281 282 283 284 284 285 286 287 289 289 290 292 293 296 297 298.

(29) vi. Conteudo Classe tMeshView . . . . . Classe tMeshWriter . . . . Classe tModel . . . . . . . Classe tNameableModel . Classe tNameableObject . Classe tNode . . . . . . . Classe tNodeT . . . . . . Classe tNodeUse . . . . . Classe tObjectBody . . . . Classe tPickableObject . . Classe tPickInfo . . . . . . Classe tPickInfoT . . . . . Classe tPickList . . . . . . Classe tPolyReader . . . . Classe tPolyView . . . . . Classe tPrimitive . . . . . Classe tRay . . . . . . . . Classe tRayTracer . . . . . Classe tReader . . . . . . Classe tRenderer . . . . . Classe tScalarExtractor . . Classe tScanner . . . . . . Classe tScene . . . . . . . Classe tShell . . . . . . . . Classe tShell::tEdge . . . . Classe tShell::tEdgeUse . . Classe tShell::tFace . . . . Classe tShell::tLoop . . . . Classe tShell::tRadialEdge Classe tShell::tVertex . . . Classe tShell::tVertexUse . Classe tShellMesh . . . . . Classe tShellReader . . . . Classe tShellSweeper . . . Classe tShellWriter . . . . Classe tSolid . . . . . . . . Classe tSolidMesh . . . . . Classe tSolidReader . . . . Classe tSolidSweeper . . . Classe tShellWriter . . . . Classe tSourcePoint . . . . Classe tSolver . . . . . . . Classe tVector . . . . . . . Classe tVectorExtractor . Classe tVertex . . . . . . . Classe tView . . . . . . . . Classe tViewport . . . . . Classe tWarpFilter . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 299 300 300 302 302 302 304 304 305 306 306 307 307 308 309 310 310 311 311 313 315 316 317 319 321 322 322 324 325 325 326 326 327 327 328 329 330 331 331 332 333 333 335 337 338 339 342 344.

(30) Conteudo. vii. Classe tWriter . . . . . . . . . . . . . Classe tXMath . . . . . . . . . . . . Classe tXSolver . . . . . . . . . . . . 10.4 De

(31) nic~oes de Tipos Globais de OSW Tipo t3FNode . . . . . . . . . . . . . Tipo t6FNode . . . . . . . . . . . . . Tipo tCellIterator . . . . . . . . . . . Tipo tDCPoint . . . . . . . . . . . . Tipo tEdgeIterator . . . . . . . . . . Tipo tFaceIterator . . . . . . . . . . Tipo tInternalEdgeIterator . . . . . . Tipo tInternalFaceIterator . . . . . . Tipo tInternalVertexIterator . . . . . Tipo tNodeIterator . . . . . . . . . . Tipo tPrimitiveIterator . . . . . . . . Tipo tSourcePointIterator . . . . . . Tipo tVertexIterator . . . . . . . . .. 11 Exemplos. 11.1 OSW-Shell . . . . . . . . . . . 11.1.1 Classes de OSW-Shell Classe tGeoScene . . . . . . . Classe tGeoView . . . . . . . Classe tMecScene . . . . . . . Classe tMecView . . . . . . . Classe tShellApp . . . . . . . Classe tShellDoc . . . . . . . Classe tShellMeshReader . . . Classe tResScene . . . . . . . Classe tResView . . . . . . . . 11.2 OSW-Solid . . . . . . . . . . . 11.2.1 Classes de OSW-Solid Classe tGeoScene . . . . . . . Classe tGeoView . . . . . . . Classe tMecScene . . . . . . . Classe tMecView . . . . . . . Classe tSolidApp . . . . . . . Classe tSolidDoc . . . . . . . Classe tSolidMeshReader . . . Classe tResScene . . . . . . . Classe tResView . . . . . . . . 11.3 Figuras Coloridas . . . . . . .. 12 Conclus~ao. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 345 345 346 346 346 346 346 346 346 347 347 347 347 347 347 347 347. 349. 349 349 349 351 354 355 357 357 357 358 358 359 360 360 361 363 364 366 366 367 367 367 369. 371. 12.1 OSW e o Problema Fundamental . . . . . . . . . . . . . . . . . . . . . 371 12.2 Mais Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 12.3 Comentarios Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.

(32) viii Refer^encias Bibliogra

(33) cas. Conteudo 377.

(34) Lista de Figuras 1.1 Sistema de coordenadas Cartesianas retangulares. . . . . . . . . . . . .. 14. 2.1 2.2 2.3 2.4 2.5 2.6 2.7. Qual e o comportamento desse solido? . . . . . . . . . Exemplo de solido n~ao-manifold. . . . . . . . . . . . . . Hierarquia dos componentes de uma estrutura simples. Uma vis~ao em tr^es nveis de modelagem. . . . . . . . . Componentes funcionais de um modelador de solidos. . Discretizac~ao do solido em elementos de contorno. . . . Componentes de um sistema gra

(35) co de modelagem. . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 20 21 23 24 26 30 31. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16. Transformaca~o de escala em torno da origem. . . . . . . . Transformaca~o de escala em torno de um ponto qualquer. . Rotac~oes em torno dos eixos coordenados. . . . . . . . . . Rotac~ao de eixos. . . . . . . . . . . . . . . . . . . . . . . . Diagrama de objetos: modelo gra

(36) co. . . . . . . . . . . . . Tipos de primitivos de um modelo gra

(37) co. . . . . . . . . . Diagrama de objetos: vertice de um primitivo gra

(38) co. . . . Diagrama de objetos: primitivos gra

(39) cos. . . . . . . . . . . Dois polgonos de um modelo gra

(40) co M. . . . . . . . . . . Alterac~ao da posic~ao de um dos vertices de M. . . . . . . . Diagrama de objetos: modelo de cascas. . . . . . . . . . . Casca cilndrica. . . . . . . . . . . . . . . . . . . . . . . . . Diagrama de objetos: modelo de solidos . . . . . . . . . . Primitivos solidos. . . . . . . . . . . . . . . . . . . . . . . Diagrama de objetos: modelo de decomposic~ao por celulas. Celulas de dimens~ao topologica 2. . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . .. 36 36 37 39 40 41 42 42 49 49 51 52 53 55 56 58. 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8. Corpo em equilbrio estatico. . . . . . . . . . . . . . . . . . Forca P na superfcie S . . . . . . . . . . . . . . . . . . A tens~ao em um ponto depende da normal ao ponto. . . . Componentes Cartesianos do tensor de tens~oes de Cauchy. Tetraedro de Cauchy. . . . . . . . . . . . . . . . . . . . . . Cinematica da partcula. . . . . . . . . . . . . . . . . . . . Deformac~ao de um elemento de linha in

(41) nitesimal. . . . . . Deslocamento relativo entre duas partculas. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. . . . . . . . .. 62 63 64 64 65 68 68 70. . . . . . . ..

(42) x. Lista de Figuras 4.9 4.10 4.11 4.12 4.13 4.14 4.15. Func~ao pulso retangular unitario. . . . . . . . . Forcas e deslocamentos em V  . . . . . . . . . . Geometria e carregamento de uma membrana. . Geometria e carregamento de uma placa. . . . . Tens~oes em um elemento de placa. . . . . . . . Resultantes de tens~ao em um elemento de placa. Deslocamentos e rotac~oes em uma placa. . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. . . . . . . .. 76 78 79 80 81 81 82. 5.1 Domnio in

(43) nito  contendo + . . . . . . . . . . . . . . . . . . . . 98 5.2 Ponto singular sobre o contorno acrescido de " . . . . . . . . . . . . . . 100 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 6.10 6.11 6.12 6.13 6.14 6.15 6.16 6.17. Elemento de placa: graus de liberdade em coordenadas locais. Geometria do elemento de placa. . . . . . . . . . . . . . . . . Elemento de membrana: geometria e graus de liberdade. . . . Elemento

(44) nito de casca. . . . . . . . . . . . . . . . . . . . . . Elemento quadrilateral linear descontnuo. . . . . . . . . . . . Elemento quadrilateral quadratico descontnuo. . . . . . . . . Modelo geometrico de uma casca. . . . . . . . . . . . . . . . . Diagrama de objetos: modelo de contornos de faces. . . . . . . Modelo de contornos de faces intermediario. . . . . . . . . . . Contorno de face paralela ao plano xy . . . . . . . . . . . . . . Tracado de \raios" sobre um contorno de face. . . . . . . . . . Novo contorno de face interno. . . . . . . . . . . . . . . . . . . Regras de gerac~ao de celulas. . . . . . . . . . . . . . . . . . . . Gerac~ao de celulas. . . . . . . . . . . . . . . . . . . . . . . . . Subdivis~ao de uma celula em quadrilateros. . . . . . . . . . . . Malha de quadrilateros da casca. . . . . . . . . . . . . . . . . Exemplos de gerac~ao de malhas simples. . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . .. 107 107 111 114 117 119 121 121 123 124 125 126 126 127 127 128 129. 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20. Modelos geometrico e mec^anico de uma casca. . . . . Exemplos de visualizac~ao de uma casca. . . . . . . . Diagrama de uxo de dados. . . . . . . . . . . . . . . Ambiente: objetos, fonte de luz e observador. . . . . \Tracando" um raio de pixel. . . . . . . . . . . . . . . \Tracando" um raio de sombra. . . . . . . . . . . . . Diagrama de objetos: cena. . . . . . . . . . . . . . . Modelo de cores RGB. . . . . . . . . . . . . . . . . . Modelo de cores HSV. . . . . . . . . . . . . . . . . . Tipos de luz de uma cena. . . . . . . . . . . . . . . . Re ex~ao difusa. . . . . . . . . . . . . . . . . . . . . . Re ex~ao especular. . . . . . . . . . . . . . . . . . . . Par^ametros de uma c^amera. . . . . . . . . . . . . . . Volumes de vista. . . . . . . . . . . . . . . . . . . . . Volumes de vista can^onicos. . . . . . . . . . . . . . . Mapeamento janela-imagem. . . . . . . . . . . . . . . Exemplo de transformac~ao topologica. . . . . . . . . Mapeamento de cores: a tabela de cores. . . . . . . . Isolinha em uma malha estruturada 2D. . . . . . . . Marchando em celulas: os 16 casos de um quadrado. .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. 132 133 134 136 137 138 139 139 140 141 142 142 144 145 147 148 150 152 153 154. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . ..

(45) Lista de Figuras. xi. 7.21 Exemplo da estrutura deformada de uma casca. . . . . . . . . . . . . . 157 9.1 9.2 9.3 9.4 9.5 9.6. Interface de uma aplicac~ao de modelagem em OSW. Projeto de uma aplicaca~o mnima OSW. . . . . . . Construindo uma aplicac~ao OSW. . . . . . . . . . . Vistas da cena do modelo geometrico de uma casca. Execuc~ao de um comando de uma vista de cena. . . Janela de resultados da analise. . . . . . . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. . . . . . .. 177 185 186 198 201 218. 11.1 Interface de OSW-Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . 350 11.2 Interface de OSW-Solid. . . . . . . . . . . . . . . . . . . . . . . . . . . 360.

(46)

(47) Lista de Programas 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 6.1 6.2 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8.1 8.2 8.3 8.4 8.5. De

(48) nic~ao de ponto no espaco. . . . . . . . . . . . . . . . . . Transformac~ao geometrica de um ponto no espaco. . . . . . De

(49) nic~ao de primitivo gra

(50) co. . . . . . . . . . . . . . . . . . De

(51) nic~ao de vertice de um modelo gra

(52) co. . . . . . . . . . . De

(53) nic~ao de modelo gra

(54) co. . . . . . . . . . . . . . . . . . . Adic~ao e remoc~ao de primitivos de um modelo gra

(55) co. . . . De

(56) nic~ao de ponto. . . . . . . . . . . . . . . . . . . . . . . . De

(57) nic~ao de linha. . . . . . . . . . . . . . . . . . . . . . . . De

(58) nic~ao de polilinha. . . . . . . . . . . . . . . . . . . . . . De

(59) nic~ao de polgono. . . . . . . . . . . . . . . . . . . . . . Destruica~o de modelo gra

(60) co. . . . . . . . . . . . . . . . . . Outra de

(61) nic~ao de primitivo gra

(62) co. . . . . . . . . . . . . . Inst^ancia do primitivo linha. . . . . . . . . . . . . . . . . . . Outra vers~ao para destruic~ao de modelo gra

(63) co. . . . . . . . De

(64) nic~ao de modelo de cascas. . . . . . . . . . . . . . . . . . De

(65) nic~ao de modelo de cascas. (cont.) . . . . . . . . . . . . Estrutura de dados semi-aresta. . . . . . . . . . . . . . . . . Estrutura de dados semi-aresta. (cont.) . . . . . . . . . . . . De

(66) nic~ao de celula e de modelo de decomposic~ao por celulas. De

(67) nic~ao de vertice e celula de um modelo mec^anico. . . . . De

(68) nic~ao de modelo de contornos de faces. . . . . . . . . . . De

(69) nic~ao de cor RGB. . . . . . . . . . . . . . . . . . . . . . De

(70) nic~ao de luz. . . . . . . . . . . . . . . . . . . . . . . . . De

(71) nic~ao de ator. . . . . . . . . . . . . . . . . . . . . . . . . De

(72) nic~ao de c^amera. . . . . . . . . . . . . . . . . . . . . . . Projec~ao de um ponto. . . . . . . . . . . . . . . . . . . . . . De

(73) nic~ao de cena. . . . . . . . . . . . . . . . . . . . . . . . . Rede

(74) nic~ao de vertice de um modelo mec^anico. . . . . . . . Tabela de casos da celula quadrilateral. . . . . . . . . . . . . Isolinhas da celula quadrilateral. . . . . . . . . . . . . . . . . Classe de vetor 3D. . . . . . . . . . . . . . . . . . . . . . . . De

(75) nic~ao C++ de primitivo gra

(76) co. . . . . . . . . . . . . . . De

(77) nic~ao C++ de modelo gra

(78) co. . . . . . . . . . . . . . . . Adic~ao e remoc~ao C++ de primitivos de um modelo gra

(79) co. Construtor e destrutor de primitivo gra

(80) co. . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39 39 41 42 43 44 44 44 45 46 47 48 48 48 50 51 54 55 57 120 122 139 141 143 146 148 149 151 155 156 161 165 167 168 169.

(81) xiv 8.6 8.7 8.8 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 9.13 9.14 9.15 9.16 9.17 9.18 9.19. Lista de Programas De

(82) nic~ao C++ de linha. . . . . . . . . . . . . . . . . . Construtor do primitivo linha. . . . . . . . . . . . . . . Destrutor de modelo gra

(83) co. . . . . . . . . . . . . . . . Construindo uma aplicaca~o em OSW. . . . . . . . . . . De

(84) nindo a classe de aplicac~ao de cascas. . . . . . . . . Construindo uma aplicaca~o de cascas. . . . . . . . . . . De

(85) nindo o documento da aplicaca~o de cascas. . . . . . Inicializando as cenas do documento. . . . . . . . . . . De

(86) nindo a cena do modelo geometrico de uma casca. . Inicializando as cenas do documento. . . . . . . . . . . De

(87) nic~ao da vista de uma cena da aplicac~ao de cascas. Implementac~ao de um comando de uma vista. . . . . . Criando tens de menu para os comandos. . . . . . . . Outro exemplo de comando de uma vista. . . . . . . . Exemplo de utilizac~ao de um fonte. . . . . . . . . . . . Implementac~ao dos comandos de geraca~o de isolinhas. . Implementac~ao do

(88) ltro de geraca~o de isolinhas. . . . . Usando um mapeador. . . . . . . . . . . . . . . . . . . De

(89) nindo o elemento

(90) nito de casca. . . . . . . . . . . De

(91) nindo o analisador MEF. . . . . . . . . . . . . . . . Analisando o modelo mec^anico. . . . . . . . . . . . . . Montando o sistema no analisador MEF. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . .. 169 169 171 185 187 188 189 190 196 197 202 203 204 205 207 210 211 212 213 215 215 216.

(92) Resumo Pagliosa, P.A. Um Sistema de Modelagem Estrutural Orientado a Objetos. S~ao Carlos, 1998. Tese (Doutorado) - Escola de Engenharia de S~ao Carlos, Universidade de S~ao Paulo. Em engenharia, modelos podem ser entendidos como representac~oes das caractersticas principais de um objeto, criadas com o proposito de permitir a visualizaca~o e compreens~ao da estrutura e do comportamento do objeto, antes de sua construc~ao. A estrutura de um objeto de engenharia pode ser de

(93) nida por um modelo geometrico que descreve, exata ou aproximadamente, suas formas e dimens~oes materiais. O comportamento pode ser descrito por um conjunto de equaco~es diferenciais de um modelo matematico que nos permite prever, sob certas condico~es, os efeitos de aco~es externas sobre o objeto. A soluca~o do modelo matematico pode ser obtida pela analise computacional numerica de um modelo mec^anico do objeto, atraves do metodo dos elementos

(94) nitos e/ou metodo dos elementos de contorno. Nesse trabalho, apresentamos um Sistema de Modelagem Estrutural Orientado a Objetos denominado OSW | Object Structural Workbench, destinado ao desenvolvimento de programas de analise e visualizaca~o de modelos em engenharia de estruturas. Na primeira parte do texto, introduzimos os fundamentos utilizados no desenvolvimento do sistema. Na segunda parte, descrevemos como empregar as bibliotecas de classes de OSW na construc~ao de um programa de modelagem e apresentamos alguns resultados obtidos com o sistema. Palavras-chave: modelagem, programac~ao orientada a objetos, metodo dos elementos.

(95) nitos, metodo dos elementos de contorno, computac~ao gra

(96) ca..

(97)

(98) Abstract Pagliosa, P.A. Um Sistema de Modelagem Estrutural Orientado a Objetos. S~ao Carlos, 1998. Tese (Doutorado) - Escola de Engenharia de S~ao Carlos, Universidade de S~ao Paulo. In engineering, models may be thought as representations for the main characteristics of an object. Such representations enable us to visualize and understand the object structure and behaviour before constructing the object itself. The engineering object structure can be de

(99) ned by a geometric model which faithful or approximately describes the object shape and size. The object behaviour can be ruled by a di erential equations set from a mathematical model, which enables us to predict the e ects of external forces acting on the object. The solution for the mathematical model can be obtained by applying the method of

(100) nite elements or method of boundary elements to an object mechanical model. In the text, we present an Object Oriented Structural Modeling System called OSW | Object Structural Workbench. The system has been designed to aid the development of computer programs for analysis and visualization of structural models. The text has been divided into two parts. At the

(101) rst one, we introduce the mathematical and computational basis employed in OSW construction. At the second one, we describe how to use the OSW class libraries to develop our own structural modeling applications, and also we present some results from OSW. Keywords: modeling, object-oriented programming,

(102) nite element method, boundary ele-. ment method, computer graphics..

(103)

(104) Parte Um. FUNDAMENTOS.

(105)

(106) C A P I T U L O. 1. Introduc¸a˜ o 1.1 Problema Fundamental Qual e o comportamento de uma estrutura? Como podemos prever esse comportamento, e com que precis~ao e rapidez? Alguns dos motivos principais da analise estrutural em engenharia, relacionados a essas e a outras quest~oes, podem ser objetivamente de

(107) nidos a partir do seguinte problema, o qual chamaremos, para simples

(108) m de denominaca~o, de fundamental. Quais os estados de deslocamentos, deformac~oes e tens~oes de um solido submetido a ac~ao de um sistema equilibrado de forcas externas?. Problema fundamental. A resposta do problema fundamental e muito importante para o engenheiro de estruturas. O conhecimento das tens~oes e deformac~oes em um solido permite concluir sob quais condic~oes uma estrutura pode ser seguramente construda ou n~ao. Entretanto, a soluc~ao exata para essa quest~ao n~ao pode ser prontamente estabelecida, porque a natureza e complexa demais e seus fen^omenos n~ao podem ser totalmente compreendidos pela mente humana. O homem so pode lidar com a complexidade isolando mentalmente objetos que, na realidade, nunca se encontram isolados, dirigindo sua atenc~ao apenas as propriedades mais importantes do problema de interesse e criando, em func~ao dessas propriedades, representac~oes que de

(109) nem idealmente a estrutura e o comportamento dos objetos. Em engenharia, as representac~oes de comportamento, especi

(110) camente, s~ao elaboradas a partir de hipoteses, quase sempre simpli

(111) cadoras, baseadas em observac~oes que devem ser posteriormente comprovadas pela experimentac~ao. Por induc~ao, estabelecemos princpios, quantitativamente descritos por equac~oes matematicas, que s~ao reunidos em uma teoria que explica, de forma mais ou menos aproximada, o comportamento dos objetos isolados. O proprio problema fundamental so tem sentido se formulado a luz da teoria da mec^anica do contnuo, pois e a que os conceitos modernos de tens~ao e deformac~ao, existentes somente na esfera da ideia pura, s~ao estabelecidos e assumem import^ancia real na analise de projetos de estruturas. A teoria e baseada na hipotese de que a.

(112) 4. Introduc~ao. materia e contnua, destituda de espacos vazios. Tal suposica~o permite a de

(113) nic~ao de tens~ao em um ponto | um lugar geometrico no espaco que n~ao ocupa volume algum | como sendo um limite matematico, tal como a de

(114) nic~ao de derivada no calculo diferencial. A mec^anica do contnuo, portanto, n~ao faz uma descric~ao precisa da natureza. A simpli

(115) cac~ao de continuidade, no entanto, n~ao tira o merito nem diminui a utilidade da teoria nos campos onde e convenientemente aplicada. Na verdade, as equaco~es da mec^anica do contnuo predizem um comportamento macroscopico dos materiais, nas condic~oes como s~ao utilizados na construca~o de estruturas, que, quantitativamente, esta de acordo com os resultados obtidos pelas experi^encias. Felizmente, notcias de runas de estruturas, construdas com base no conceito matematico do continuum, n~ao s~ao comuns e nem frequentes. Outras suposic~oes, impostas por limitac~oes de processos e ferramentas de calculo, ou por conveni^encias praticas de construca~o e utilizaca~o de estruturas | deslocamentos, deformac~oes e rotac~oes muito pequenos em relaca~o as dimens~oes do objeto, por exemplo |, conduzem a teorias ainda mais simpli

(116) cadas, mas que, quando formuladas consistente e logicamente, s~ao t~ao respeitaveis quanto a teoria avancada. E o caso das teorias de vigas, placas e cascas, que dentro dos limites determinados pela experi^encia, podem ser adequadamente empregadas na analise de muitos problemas uteis em engenharia. Mas mesmo nessas teorias simpli

(117) cadas, soluc~oes analticas \exatas" que respondem a pergunta do problema fundamental somente s~ao de

(118) nidas para alguns casos particulares de geometria e condico~es de contorno. Para os sistemas contnuos mais gerais, apenas soluc~oes aproximadas s~ao possveis. E notemos que s~ao soluco~es aproximadas de equac~oes que descrevem aproximadamente o comportamento do objeto, baseadas em descric~oes incompletas, imprecisas e igualmente aproximadas da natureza. Em qualquer caso, o problema fundamental pode ser \resolvido" numericamente em computador. De fato, os programas de computador para engenharia t^em sido caracterizados, principalmente, por implementaco~es de soluco~es numericas de equac~oes diferenciais que descrevem os principais aspectos comportamentais de uma variedade de problemas fsicos. Essas implementac~oes s~ao baseadas em formulac~oes derivadas de metodos de discretizac~ao do sistema contnuo, o qual passa a ser representado, dessa forma, por um conjunto

(119) nito de componentes sobre os quais s~ao de

(120) nidas aproximac~oes para as variaveis que governam o problema em quest~ao. A soluc~ao, assim obtida, deve ser tanto mais precisa quanto maior for o numero de variaveis do sistema discreto. O metodo numerico mais amplamente utilizado em engenharia de estruturas e o metodo dos elementos

(121) nitos (MEF) [17, 132, 133]. A tecnica, matematicamente fundamentada em princpios variacionais, ou mais genericamente, em express~oes de resduos ponderados [37], consiste na divis~ao do continuum em um numero

(122) nito de partes, ou elementos, cujo comportamento e especi

(123) cado por um conjunto discreto de par^ametros normalmente associados as variaveis do problema fsico. O comportamento global do domnio, igualmente especi

(124) cado em func~ao de tais par^ametros, pode ser determinado pela soluc~ao de sistemas de equac~oes algebricas de

(125) nidos a partir das contribuic~oes individuais de todos os elementos

(126) nitos. Uma outra abordagem fsica mais direta e intuitiva do processo de discretizac~ao, permite a criaca~o de uma analogia entre porc~oes

(127) nitas de um domnio contnuo e elementos discretos reais. A denominac~ao elemento

(128) nito, primeiramente utilizada por CLOUGH [22], e derivada desse procedimento mais intuitivo de idealizac~ao estrutural [91], no qual s~ao baseados os metodos matriciais de analise de estruturas reticuladas [125, 126]; nesses casos, a aproximac~ao de um.

(129) 1.1 Problema Fundamental. 5. domnio como um conjunto de elementos lineares conduz a uma representaca~o exata do sistema estrutural. Tentativas de extens~ao do metodo para o tratamento de problemas em mec^anica dos solidos foram apresentadas nos trabalhos de MCHENRY [76], HRENNIKOFF [51] e NEWMARK [78], que demostraram, ainda na decada de 40, que \soluc~oes razoavelmente boas para problemas elasticos contnuos podem ser obtidas atraves da substituica~o de pequenas porc~oes do domnio analisado por um arranjo de barras elasticas simples." Mais tarde, no mesmo contexto, ARGYRIS [4] e TURNER et alli [119] mostraram que \uma substituic~ao mais exata de propriedades pode ser obtida a partir de considerac~oes simpli

(130) cadoras do comportamento de pequenas porc~oes ou elementos do contnuo." A partir da decada de 60, estudos detalhados dos princpios variacionais possibilitaram uma generalizac~ao do metodo. Desde ent~ao, o MEF tem sido empregado ate mesmo em problemas onde um funcional n~ao pode ser diretamente determinado; nesses casos, a formulac~ao pode ser obtida a partir de metodos de resduos ponderados aplicados as equac~oes diferenciais do problema. Uma importante tecnica alternativa de analise numerica em mec^anica do contnuo e o metodo dos elementos de contorno (MEC) [16, 18, 122]. O metodo baseia-se na transformac~ao das equac~oes diferenciais parciais que descrevem o comportamento de incognitas, tais como deslocamentos e tens~oes, no interior e no contorno de um objeto em equac~oes integrais de

(131) nidas apenas em termos de valores no contorno, seguida da determinac~ao de soluc~oes numericas dessas equaco~es. Os valores das incognitas em pontos internos, se necessarios, s~ao calculados a partir dos valores determinados no contorno. O metodo reduz a dimensionalidade do problema em um, porque as aproximac~oes numericas s~ao realizadas apenas sobre os contornos, resultando em um sistema de equac~oes menor que aquele obtido nos metodos de domnio. A primeira formulac~ao dos metodos de contorno aplicada a problemas de elastostatica foi proposta por KUPRADZE [63]. Contudo, pode-se considerar que o metodo \direto" de analise originou-se no trabalho de CRUSE e RIZZO [28] em elastostatica. A denominaca~o elementos de contorno e sugerida por BREBBIA [16] apenas em 1978, juntamente com as novas bases matematicas do metodo. PAIVA [84] cita que \a partir da tecnica dos resduos ponderados, obteve-se uma maior generalizaca~o do MEC, sendo permitida sua associac~ao com outros metodos numericos. As pesquisas intensi

(132) caram-se e consideravel progresso foi obtido na elaborac~ao de novas formulaco~es com aplicaco~es no campo da engenharia", como podemos observar, por exemplo, na Escola de Engenharia de S~ao Carlos, com os trabalhos de PAIVA [85], CODA [23] e VENTURINI [121]. Esse desenvolvimento acentuado da tecnologia de analise numerica em engenharia tem motivado a criac~ao de programas de computador que podem ser aplicados a resoluc~ao de um numero cada vez maior de estruturas complexas, utilizando tipos diversos e cada vez mais so

(133) sticados de elementos estruturais. A \e

(134) ci^encia", em tais programas, e usualmente de

(135) nida em termos da capacidade de armazenamento de grandes sistemas de equac~oes na memoria do computador e da precis~ao e rapidez do processamento numerico. Caracteristicamente, os sistemas de analise em engenharia t^em sido codi

(136) cados em FORTRAN, porque a linguagem e numericamente \e

(137) ciente." A entrada dos dados de um programa de analise estrutural, geralmente organizados em arquivos de texto, consiste de uma quantidade consideravel de informac~oes relativas a de

(138) nic~ao da geometria, carregamentos, materiais e condico~es de contorno. A montagem manual desse arquivo pode se tornar uma tarefa muito complicada, dependendo da complexidade do problema, induzindo-nos a erros que s~ao mais difceis de detectar e corrigir. Alem disso, uma discretizaca~o adequada da estrutura, funda-.

(139) 6. Introduc~ao. mental para a qualidade da soluc~ao numerica, e em determinados casos, praticamente impossvel de ser obtida sem o auxlio de um processo automatico de gerac~ao de malhas [44, 50, 102, 116, 131]. Por isso, a utilizaca~o de componentes pre-processadores em sistemas de analise de estruturas, responsaveis pela discretizac~ao automatica do domnio e veri

(140) cac~ao dos dados de entrada, n~ao e somente conveniente, mas tambem essencial. Por outro lado, os resultados de sada tendem a produzir extensas listagens numericas que n~ao permitem ou ate mesmo impossibilitam uma interpretac~ao mais imediata dos valores obtidos na analise. Nesse caso, e vantajoso que as distribuico~es de grandezas tais como deslocamentos, tens~oes, forcas e momentos possam ser representadas gra

(141) camente, por exemplo, como curvas ou superfcies de nvel [48, 92] sobre o domnio considerado. Componentes pos-processadores, responsaveis pela organizac~ao dos arquivos de sada e visualizac~ao [41] dos resultados do processamento s~ao igualmente essenciais em programas de engenharia. Nesse contexto, o desempenho e a aplicaca~o do sistema n~ao s~ao de

(142) nidos apenas pela e

(143) ci^encia da analise, mas tambem pela interface com o usuario. Programas que s~ao complicados ou confusos de usar, ou que oferecem poucas possibilidades de entrada de dados e de visualizac~ao de resultados s~ao, sob o ponto de vista do usuario, muito pouco uteis e interessantes [8]. Ao contrario, os sistemas que disp~oe de ricos recursos de interaca~o, principalmente interfaces gra

(144) cas com o usuario, s~ao muito mais atrativos ate mesmo quando possuem um campo mais restrito de aplicac~oes. O emprego de gra

(145) cos em programas de engenharia e bastante apropriado porque os objetos fsicos de interesse possuem uma estrutura tridimensional que e muito bem de

(146) nida geometricamente e que, portanto, admite uma representac~ao gra

(147) ca natural. De fato, a computac~ao gra

(148) ca [38] oferece um dos meios mais naturais de comunicac~ao com o computador, pois a desenvolvida capacidade humana de reconhecimento de padr~oes permite perceber e processar dados gra

(149) cos rapida e e

(150) cientemente. A computac~ao gra

(151) ca interativa, notadamente, possibilita o controle din^amico e preciso do conteudo, estrutura e apar^encia de objetos e suas imagens. Sistemas de computer aided design (CAD), por exemplo, t^em-se tornado, segundo MANTYL A [75], \quase que universalmente aceitos como ferramentas centrais para uma diversidade de aplicac~oes em engenharia, impulsionando signi

(152) cativamente a produtividade em projetos e permitindo analises mais precisas e rigorosas, com reduca~o de erros e aumento de   qualidade de documentac~ao." O sucesso dos programas de CAD, segue MANTYL A, \deve-se ao fato de que muitas tarefas importantes em projetos de engenharia s~ao relacionadas, fundamentalmente, a forma geometrica dos objetos." Como resultado, a implementac~ao de uma diversidade de tecnicas de representac~ao e utilizac~ao das informac~oes geometricas de objetos em computadores constitui o nucleo principal dos sistemas de CAD correntes, os quais permitem a utilizac~ao de inumeras ferramentas de visualizac~ao e de detalhamentos construtivos, bem como a produca~o de desenhos de engenharia e outras documentac~oes de projeto.. Modelos e Aplicac~oes de Modelagem Ate este ponto, procuramos justi

(153) car a necessidade da criac~ao de representac~oes que descrevem de forma mais ou menos simpli

(154) cada a estrutura e o comportamento de um objeto fsico que desejamos construir. Essas representac~oes, especi

(155) cadas com o proposito de permitir a visualizac~ao e a compreens~ao do objeto, s~ao genericamente denominadas de modelos..

(156) 1.1 Problema Fundamental. 7. Consideraremos, para nossos propositos, os seguintes tipos de modelos:  Modelos geometricos. As formas e as dimens~oes dos objetos de engenharia podem ser representadas, exata ou aproximadamente, por superfcies de solidos constitudos de materiais com propriedades fsicas conhecidas, o que sugere o emprego natural da computac~ao gra

(157) ca interativa nos processadores de entrada e sada dos programas de analise estrutural.. . Modelos matematicos. O comportamento de uma estrutura em relac~ao a ac~oes externas e representado por equac~oes diferenciais formuladas com base em hipoteses simpli

(158) cadoras, mas que conduzem a previs~oes que dentro de certos limites, s~ao comprovadas pela experimentaca~o.. . Modelos mec^anicos. A soluc~ao do modelo matematico so pode ser aproximadamente estabelecida, para os casos gerais, por processos computacionais numericos que envolvem uma discretizac~ao do sistema contnuo. Os programas de computador para engenharia t^em sido caracterizados por implementac~oes dessas soluc~oes. A utilizaca~o de modelos, usual em ci^encias e engenharia, foi motivada nesse trabalho pela determinaca~o de obtermos uma soluc~ao para o problema fundamental, o que nos conduziu a discuss~ao dos metodos numericos e dos programas computacionais de analise de estruturas. Devido ao fato desses programas de analise estrutural serem baseados em modelos, os chamaremos de programas de modelagem, ou aplicac~oes de modelagem, e os distinguiremos como sendo constitudos de componentes responsaveis pelas seguintes operac~oes:  Modelagem (pre-processamento). O processo de analise estrutural comeca com a construca~o de um modelo de solido que descreve a geometria da estrutura, suas propriedades materiais, condico~es de contorno, condic~oes iniciais e casos de carregamentos. Os dados do modelo geometrico, juntamente com as especi

(159) cac~oes dos tipos de elementos e da precis~ao desejada, s~ao utilizados para a gerac~ao de malhas de elementos que de

(160) nem os modelos mec^anicos da estrutura.. . Analise. Analise em engenharia, segundo SHEPARD e SCHROEDER [104], e \o processo que, a partir de um conjunto apropriado de manipulac~oes, transforma informac~oes de entrada de um determinado domnio fsico em informac~oes de sada que oferecem respostas a algumas quest~oes de interesse no domnio considerado." As \informaco~es de entrada", nesse caso, s~ao dadas no modelo mec^anico construdo na etapa de modelagem; as \informac~oes de sada" s~ao as respostas do problema fundamental: campos de deslocamentos, de deformac~oes e de tens~oes da estrutura. O \conjunto apropriado de transformaco~es" e de

(161) nido pela metodologia numerica empregada na analise, por exemplo, metodo dos elementos

(162) nitos e metodo dos elementos de contorno.. . Visualizac~ao (pos-processamento). Visualizar signi

(163) ca transformar dados extrados de um objeto em imagens que representam informac~oes sobre o objeto [101]. Essas imagens n~ao representam somente informac~oes sobre a estrutura fsica ou geometrica dos objetos, mas podem representar tambem informaco~es sobre os dados resultantes do processo de analise, tais como distribuic~oes de campos escalares de um domnio nas formas de mapas de cores ou de isolinhas ou isosuperfcies..

(164) 8. Introduc~ao. Orientac~ao a Objetos Como podemos representar a estrutura e a funcionalidade de modelos em computador? O desenvolvimento de uma soluc~ao computacional para o problema fundamental de engenharia de estruturas nos conduz a outro problema, igualmente fundamental, de engenharia de software [90]: como modelar objetos do mundo real em computador t~ao proximo quanto possvel da vis~ao que o homem tem desse mundo? A soluc~ao, proposta nesse trabalho, e baseada na programac~ao orientada a objetos (POO) [27, 111]. A orientac~ao a objetos, segundo KHOSHAFIAN [59], e a \tecnologia de modelagem e desenvolvimento de sistemas que facilita a construc~ao de programas complexos a partir de componentes individuais", ou objetos, os quais combinam atributos que representam a estrutura e metodos que representam o comportamento de uma entidade concreta ou abstrata. O procedimento, nesse caso, e id^entico aquele efetuado na modelagem do mundo fsico: isolar objetos mais simples de descrever e entender. A vantagem e que a POO permite que essa maneira natural de analisar em termos de objetos seja estendida para as fases de projeto e implementac~ao de programas, encorajando a reutilizac~ao de codigo e a clareza de programac~ao, permitindo a criaca~o de sistemas que s~ao mais facilmente compreendidos e compartilhados com outras pessoas. A programac~ao orientada a objetos tem sido empregada apenas recentemente no desenvolvimento computacional de soluc~oes numericas de problemas de engenharia. Nos trabalhos de ZIMMERMANN et alli [33, 34] procura-se \demonstrar a utilidade deste paradigma de programac~ao alternativo no campo dos elementos

(165) nitos", investigandose \o potencial da POO na melhoria da legibilidade, modularidade e reutilizac~ao de  codigo." Em DUBOIS-PELERIN e ZIMMERMANN [35] apresenta-se uma implementac~ao em C++ do metodo dos elementos

(166) nitos aplicado a analise elastica linear de chapas e trelicas planas submetidas a ac~oes estaticas e din^amicas; a conclus~ao e que C++ e uma \ferramenta adequada a pratica de programac~ao de elementos

(167) nitos" porque, em relac~ao a vers~ao FORTRAN do programa, \s~ao veri

(168) cadas performances excelentes na montagem do sistema linear de equaco~es e na resoluca~o deste sistema", com \melhorias muito signi

(169) cativas na clareza, capacidade de extens~ao e facilidade de depurac~ao do codigo."  Em MENETREY e ZIMMERMANN [77], a POO e utilizada na analise n~ao-linear fsica de estruturas planas pelo MEF, demonstrando-se que o emprego de objetos \pareceu adequado" neste caso, resultando \em um programa que pode ser facilmente estendido" com \reduc~ao de possveis erros de programaca~o." Outras soluc~oes do MEF orientado a objetos, elaboradas com os mesmos propositos de investigar a utilidade da POO em programas de analise numerica de engenharia, s~ao apresentadas, para problemas estaticos, por GAJEWSKI [39], KONG e CHEN [61] e ZEGLINSKI e HAN [130]; para problemas din^amicos, por PIDAPARTI e HUDLI [89]; e, para problemas de contato, por ULBIN, ZEN e FLASKER [120]. EYHERAMENDY e ZIMMERMANN [36], originalmente, num trabalho muito interessante no qual \os princpios da programaca~o orientada a objetos s~ao aplicados diretamente a sentenca do problema em sua forma diferencial", v~ao muito alem da implementac~ao numerica do MEF, propondo um procedimento de gerac~ao automatica de codigo onde \a derivac~ao parte das equac~oes diferenciais e passa pela forma fraca, forma de Galerkin e forma matricial, com o emprego de manipulac~oes simbolicas" [29]. EYHERAMENDY e ZIMMERMANN concluem que o procedimento pode ser aplicado amplamente em \ferramentas de projeto auxiliado por computador destinadas a.

(170) 1.2 OSW. 9. computac~oes numericas" e que a orientac~ao a objetos \parece conduzir a um modelo natural de descric~ao de problemas mec^anicos." Em outros trabalhos, ARRUDA et alli [5] discutem as vantagens do desenvolvimento de programas de engenharia orientados a objetos no ambiente gra

(171) co do Windows [88]; JU e HOSAIN [56] empregam a orientac~ao a objetos na analise de subestruturas [91] pelo MEF; BOMME e ZIMMERMANN [14] descrevem um esquema de integrac~ao de objetos com regras de intelig^encia arti

(172) cial, com o proposito de \criar objetos inteligentes para uso na programac~ao de elementos

(173) nitos orientados a objetos"; e GAJEWSKI e LOMPIES [40] aplicam a POO na implementac~ao de algoritmos de reduc~ao da largura de banda de matrizes esparsas [25, 45, 106], mostrando a facilidade com que se pode \adicionar novas funcionalidades a um codigo do metodo dos elementos

(174) nitos ja existente." DEVLOO [31], em um estudo sobre a e

(175) ci^encia dos programas orientados a objetos em C++, mostra que \o uso indiscriminado de certas construco~es em POO realmente conduzem a uma reduc~ao (signi

(176) cativa) de e

(177) ci^encia", mas que, por outro lado, \se um programa orientado a objetos e escrito para e

(178) ci^encia maxima, sua performance e igual ou comparavel a implementac~ao FORTRAN equivalente", concluindo-se que a ideia de que a POO e inerentemente ine

(179) ciente e errada, sendo \consequ^encia de uma compreens~ao de

(180) ciente da linguagem." Alem disso, o conceito de e

(181) ci^encia, nesses casos, pode ser empregado de uma maneira mais ampla. De fato, uma linguagem de programac~ao orientada a objetos tambem pode ser considerada e

(182) ciente se permite ao programador modelar um problema e projetar uma soluca~o mais rapidamente, atraves do emprego de tecnicas que facilitam o reaproveitamento e a extens~ao do codigo existente, com reduc~ao dos esforcos de implementaca~o e manutenca~o. MACKIE [71] conclui que, pelo fato dos programas de computador para engenharia \estarem se tornando cada vez mais complexos", ha um \incentivo maior a modelagem de dados, em adica~o a implementac~ao de algoritmos numericos", sendo os \metodos orientados a objetos bastante adequados para esse desa

(183) o.". 1.2 OSW Nessa Sec~ao, voltaremos nossa atenca~o a construc~ao de aplicac~oes de modelagem orientadas a objetos em C++ e introduziremos um sistema de modelagem estrutural que podera nos auxiliar nessa tarefa. Denominaremos esse sistema de Object Structural Workbench e o designaremos, frequentemente, pelo acr^onimo OSW. OSW e um sistema de computador aplicado ao desenvolvimento de programas de modelagem estrutural orientados a objetos em C++.. OSW. O projeto e a implementaca~o de OSW foram guiados por quatro propriedades que consideramos muito importantes em um programa de modelagem estrutural:. . Funcionalidade. A funcionalidade de um programa de modelagem estrutural e caracterizada pelos recursos de pre-processamento, analise e pos-processamento oferecidos pelo programa, de

(184) nidos em funca~o das necessidades de uma aplicac~ao em particular. Aplicac~oes de analise elastostatica de cascas e de solidos, por exemplo, podem requerer metodos distintos de modelagem geometrica, gerac~ao.

(185) 10. Introduc~ao de malhas, analise numerica e visualizac~ao dos resultados da analise. Dependendo dos propositos das aplicac~oes, podemos utilizar um esquema de representaca~o de cascas bem mais simpli

(186) cado que um esquema de representac~ao de solidos; da mesma forma, o metodo dos elementos

(187) nitos pode ser mais convenientemente aplicado a analise de cascas e o metodo dos elementos de contorno a analise de solidos. Notemos, porem, que os recursos de modelagem, analise e visualizac~ao de um programa de modelagem n~ao de

(188) nem, somente, a funcionalidade espec

(189) ca de uma aplicac~ao, mas tambem operac~oes que s~ao comuns a todos os programas de modelagem. Por exemplo, independentemente do metodo de analise numerica adotado, as incognitas de qualquer problema s~ao sempre determinadas a partir da resoluc~ao de sistemas de equac~oes lineares. Naturalmente, metodos especializados de resoluc~ao de sistemas de matrizes esparsas, por exemplo, podem (e devem) ser empregados em determinadas aplicaco~es. Idealmente, gostaramos de escrever um programa de modelagem estrutural que pudesse ser aplicado a todos os problemas de engenharia de estruturas.1 Felizmente, n~ao e esse o caso. Isso nos leva a propriedade seguinte.. . Extensibilidade. Um programa de modelagem estrutural sempre pode crescer em todas as direc~oes e sentidos, incorporando recursos e tecnicas mais e

(190) cientes de representac~ao e manipulac~ao de objetos e de imagens de objetos, bem como novos processos de analise que permitem que o programa possa ser aplicado a um numero maior de casos de modelagem de estruturas. Esse crescimento deve ser baseado, tanto quanto possvel, no reaproveitamento do codigo ja existente. Um programa de modelagem e um programa complexo e n~ao podemos comecar quase sempre do zero a cada nova aplicaca~o. As extens~oes ou modi

(191) caco~es de um componente do programa n~ao deveriam implicar, tambem, em extens~oes ou modi

(192) cac~oes em outros componentes. Um dos principais motivos de construirmos programas orientados a objetos deve-se ao fato da POO nos fornecer mecanismos realmente muito adequados para extens~ao da funcionalidade de nossos programas de modelagem estrutural, como procuraremos enfatizar ao longo do texto.. . E

Referências

Documentos relacionados

Por isso na década de 1960 a prefeitura resolve criar não só o baile, mas também o chamado Voo do Frevo, que tinha por objetivo não só trazer artistas do sul e do sudeste do país

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

O Documento Orientador da CGEB de 2014 ressalta a importância do Professor Coordenador e sua atuação como forma- dor dos professores e que, para isso, o tempo e

Os principais objectivos definidos foram a observação e realização dos procedimentos nas diferentes vertentes de atividade do cirurgião, aplicação correta da terminologia cirúrgica,

psicológicos, sociais e ambientais. Assim podemos observar que é de extrema importância a QV e a PS andarem juntas, pois não adianta ter uma meta de promoção de saúde se

II - os docentes efetivos, com regime de trabalho de 20 (vinte) horas semanais, terão sua carga horária alocada, preferencialmente, para ministrar aulas, sendo o mínimo de 8 (oito)

Para o Planeta Orgânico (2010), o crescimento da agricultura orgânica no Brasil e na América Latina dependerá, entre outros fatores, de uma legislação eficiente