• Nenhum resultado encontrado

7.2 Método dos Elementos Finitos

7.3.3 Localização

Os campos microestruturais de fluxos superficiais de calor por condução, de deformação e de tensão, num determinado ponto de integração de um elemento finito da macroescala, podem calcular-se, de acordo com as equações 6.40, 6.41 e 6.43, como

q(1)= ke  ˜ MeΥ− I  ˜ MET(0), (7.46) (1)= (I− Beχ) BEu(0)+ BeΨT(0)− T 0  e (7.47) σ(1)= De(I− Beχ) BEu(0)+ (DeBeΨ− βe)T(0)− T 0  , (7.48)

respectivamente. O superíndice e denota quantidades elementares microestruturais e o superíndice E quantidades elementares macroestruturais. A CRU onde é feita a localização fornece campos locais para os valores macroestruturais obtidos num ponto de integração do elemento E. T0 é a temperatura de referência e T(0) a temperatura global do material homogeneizado em E. u(0) é o campo macroestrutural de deslocamentos.

7.3.4

A Sub-Rotina Slavery

As metodologias multiescala utilizadas neste trabalho utilizam células representativas unitárias como elementos de análise das microestruturas periódicas dos materiais estudados. Para além da periodicidade geométrica destas CRU, é também necessário garantir que a deformada seja perió- dica. Assim, deve existir continuidade entre células vizinhas e, consequentemente, entre regiões geométricas opostas de uma CRU, quer para a geometria original quer para a sua deformada [B¨ohm 2012]. A periodicidade da deformada de uma CRU depende da imposição de condições de fronteira de periodicidade (vd. Sec. 7.2.2). Neste sentido, os nós das fronteiras geométricas devem ser as- sociados de forma a garantir que os deslocamentos sejam compatíveis com as células vizinhas, i.e. com as regiões que, por periodicidade, correspondam às mesmas interfaces de células adjacentes. De forma a automatizar esta associação de graus de liberdade, desenvolveu-se um algoritmo que estabelece índices de associação entre nós pertencentes a fronteiras geométricas de CRU tridimen- sionais de arestas ortogonais, independentemente das suas dimensões [Oliveira et al. 2008, Oliveira et al. 2009a]. Posteriormente, este algoritmo foi actualizado para permitir o processamento de CRU prismáticas de secção hexagonal [Oliveira et al. 2009b]. Neste caso, a análise das interfaces entre

Optimização Topológica

células adjacentes acarreta algumas complexidades adicionais, nomeadamente na determinação do lugar geométrico dos nós correspondentes. Este procedimento foi ainda estendido ao processamento de CRU bidimensionais, quadrangulares e hexagonais. Nas figuras 7.6 e 7.7 ilustra-se o processo de associação para células cúbicas ou paralelepipédicas, e para células hexagonais, respectivamente.

(a) (b) (c) (d)

Figura 7.6: Regiões de associação para a periodicidade de uma célula unitária cúbica ou paralele- pipédica: (a,b) faces, (c) arestas e (d) vértices.

(a) (b) (c) (d)

Figura 7.7: Regiões de associação para a periodicidade de uma célula unitária hexagonal: (a,b) faces, (c) arestas e (d) vértices.

Atenda-se ainda ao facto de na imposição de condições de fronteira de periodicidade em malhas estruturadas de elementos finitos ser sempre possível encontrar correspondência entre nós de regiões associadas por estes se localizarem em lugares geométricos coincidentes. Em contrapartida, no caso de malhas não-estruturadas, a distribuição de nós não é necessariamente idêntica em regiões de controlo e em regiões dependentes, pelo que a associação automática de graus de liberdade envolve normalmente aproximações em termos da posição geométrica de nós dependentes. Esta aproxima- ção, no entanto, pode ser feita sem prejuízo para os resultados numéricos em procedimentos de homogeneização por expansão assimptótica [Oliveira et al. 2008, Oliveira et al. 2009a].

7.4

Optimização Topológica

A optimização topológica, como elemento basilar deste trabalho, é resumida ao longo das secções seguintes. Sem se ser demasiado exaustivo em termos de detalhes de implementação, pretende- se que a abordagem aqui apresentada forneça uma visão geral da estrutura implementada e de algumas opções tomadas em termos computacionais.

Optimização Topológica

7.4.1

Metodologia Geral

A estrutura típica de um programa de optimização topológica pode ser ilustrada pelo fluxograma da figura 7.8. Os diversos problemas de optimização apresentados nas Secções 5 e 6 seguem, com as devidas adaptações, a mesma estrutura. A implementação modular seguida neste trabalho permite que diversas alternativas de cálculo sejam activadas/desactivadas de acordo com as opções selec- cionadas, permitindo que esta estrutura geral seja respeitada. Nesse sentido, esta figura pretende servir de base para as diferentes descrições de procedimentos de optimização ao longo das secções seguintes. Assim, cada uma das partes do núcleo Geral de um algoritmo de optimização topoló- gica (G) foi demarcada para que possa ser correcta e separadamente detalhada quando necessário. Estas partes designam-se aqui, em termos genéricos, como: (i) definição de propriedades (P), (ii) análise do problema (A), (iii) avaliação de sensibilidades e função-objectivo (S), (iv) actualização das variáveis de optimização (O) e (v) avaliação de convergência (C).

Solução Inicial Configuração Input Output Pós-Processamento G C Propriedades Sensibilidades e F.O. Análise Actualização P S A O Convergência S N

Figura 7.8: Fluxograma geral de um algoritmo de optimização topológica em cálculo estrutural.

Pode então descrever-se o algoritmo geral de um problema de optimização topológica. Inde- pendentemente da sua organização ou mesmo do tipo de análise, o primeiro passo corresponde sempre à fase de introdução de dados (input ). No programa mainFRAN, esta é feita com recurso a diversos ficheiros de dados. Um ficheiro sempre presente designa-se por solve.prm e contém toda a informação de configuração e parametrização da execução. A este são acrescentados diversos ficheiros de dados, específicos de cada problema a resolver. Estes ficheiros são gerados a partir de configurações personalizadas do software GiD, separados entre ficheiros de geometria de malha, para estrutura e CRU, modos de carga, prescrição de condições de fronteira e densidades prescri- tas, dados térmicos, etc. Todos estes dados são utilizados numa fase de configuração inicial do programa e de pré-processamento interno, onde se estabelecem todos os parâmetros que irão con- dicionar o fluxo de instruções específicos de determinada execução e se procede à primeira fase de dimensionamento e alocação dinâmica de memória, assim como iniciação de variáveis. É também nesta fase que se organizam diversas partes dos problemas de optimização e elementos finitos. Em

Optimização Topológica

problemas de optimização, é então definida uma solução inicial, com uma distribuição de material sobre a qual é iniciada a análise. Em termos macroestruturais, esta corresponde usualmente a uma distribuição uniforme com densidade igual à fracção volúmica imposta como restrição. Note-se que, caso sejam utilizadas densidades prescritas, esta distribuição é ajustada de modo a que a solução inicial respeite a restrição de volume.

Depois do conjunto de tarefas necessárias à configuração inicial do problema, entra-se no bloco central do fluxo de instruções (G), correspondente à resolução efectiva dos problemas de opti- mização. Convém neste ponto salientar que esta estrutura continua a ser válida em problemas que não envolvam optimização. Na resolução isolada de problemas de elementos finitos, com ou sem homogeneização, a parte iterativa deste bloco central deixa de existir, assim como as tarefas associadas especificamente ao problema de optimização, sem, no entanto, se alterar a estrutura do programa. A etapa seguinte, designada de definição de propriedades, corresponde à fase de definição constitutiva. Num problema exclusivamente macroestrutural, esta designação é mera- mente indicativa, já que as propriedades dos materiais (isotrópicos) são predefinidas e as matrizes constitutivas são definidas dentro dos procedimentos de construção dos sistemas de equações. Em procedimentos multiescala, por sua vez, esta etapa adquire dimensões que tendem a sobrepor-se ao resto da execução em termos de requisitos computacionais. Como se verá ao longo das secções seguintes, para além dos cálculos associados à determinação da matrizes constitutivas de uma ou várias distribuições de material constituinte, esta etapa pode ainda envolver tarefas de optimiza- ção local, com cálculos de sensibilidades e actualização da distribuição de material. Tudo isto em elasticidade ou termoelasticidade (lineares). Segue-se a resolução do problema macroestrutural de elementos finitos. Este envolve as tarefas de construção de rigidez, definição de condições de fronteira e resolução do sistema de equações (térmico, mecânico ou termomecânico). Surgem aqui, no entanto, algumas especificidades. No que diz respeito à definição dos sistemas de equações, se o problema de optimização for exclusivamente macroestrutural, a sua construção é simplificada após a primeira iteração. Para o efeito, a rigidez de cada um dos elementos finitos pode ser construída apenas na primeira iteração e armazenada em memória, permitindo que seja apenas afectada pela sua densidade penalizada em cada iteração. Esta opção é válida para diversas grandezas que de- pendam da densidade do material, nomeadamente a componente constitutiva dos carregamentos térmicos elementares no problema termoelástico. Estes, aliás, são sempre construídos com base no campo de temperaturas determinado pela resolução do problema térmico e nas propriedades do material (isotrópico ou homogeneizado) utilizado. Note-se ainda que estes carregamentos são apenas calculados em problemas de termoelasticidade. Quando o problema é térmico ou multiob- jectivo, com objectivos térmico e puramente mecânico, o vector de carregamentos termomecânicos, Ft, não é calculado (vd. Fig. 7.9). Refira-se ainda que, se o problema envolve microestruturas

que evoluem ao longo do processo iterativo, as definições constitutivas dos diversos problemas a resolver têm de ser recalculadas em cada iteração e para cada elemento finito, tornando o processo computacionalmente mais oneroso. Obtidas as soluções dos problemas, é então possível avaliar o estado actual do problema de optimização. Por um lado, a função-objectivo pode então ser avali- ada. Por outro lado, tarefa mais importante por ser aquela que efectivamente controla o processo de optimização, é então possível calcular as sensibilidades desta a alterações de cada uma das va- riáveis de optimização. Esta análise de gradientes, por sua vez, permite a utilização de algoritmos de optimização para obter uma correcta actualização das variáveis de optimização, isto é, das den- sidades elementares. O campo de densidades, a função-objectivo e outras variáveis relevantes são então comparados com os de iterações anteriores para tirar ilações sobre o processo de convergência e determinar a necessidade de uma nova iteração. Em cada iteração, se necessário, utilizar-se-ão as novas variáveis para efectuar uma nova avaliação de estado de todo o problema e conduzir a novas soluções até que o óptimo seja atingido.

Fora já do bloco central de optimização no fluxograma genérico apresentado, surge a tarefa de pós-processamento e obtenção de resultados (output ). Estas são essencialmente ilustrativas, já que no programa aqui discutido o pós-processamento é distribuído ao longo do processo iterativo. Para evitar o armazenamento excessivo de dados, assim como para permitir um acompanhamento

Optimização Topológica 2 0 Th Ft Mec A 1 ThEl

Figura 7.9: Fluxograma de resolução dos problemas de termoelasticidade.

intermédio da evolução do cálculo, diversas regiões intermédias têm tarefas de tratamento e es- crita associadas. Estas dividem-se por ficheiros de resultados de optimização macroestruturais, de optimização microestruturais, de homogeneização e de localização.

7.4.2

Optimização Multiobjectivo

A optimização multiobjectivo surge neste trabalho de duas formas distintas. Por um lado como problemas de carregamentos mecânicos múltiplos7. Por outro lado, como problemas de obten- ção de óptimos de Pareto com ponderação de objectivos térmicos e mecânicos. Ambos seguem a metodologia de soma ponderada (vd. Eq. 2.25) de modo a controlar o peso de cada um dos objectivos no objectivo global. Além disso, ambos seguem o esquema de normalização apresentado na equação 5.9. Isoladamente, sendo um problema linear, é a morfologia e não a magnitude das condições de fronteira associadas a cada objectivo que determinam a topologia resultante. No en- tanto, quando ponderadas com outros objectivos, a magnitude das funções-objectivo pode originar objectivos incorrectamente dominantes. Esta afirmação é válida para casos de multicarregamento, mas particularmente relevante em casos de multiobjectivos térmico e mecânico. Aqui, como se comparam grandezas e fenómenos físicos de natureza diversa, as magnitudes dos objectivos podem tornar a ponderação completamente inconsistente. Assim, a normalização dos objectivos é reali- zada, em qualquer um dos casos, para garantir que a ponderação é controlada pelo peso definido pelo utilizador e não pela magnitude original dos problemas associados. Mais ainda, a normalização apresentada é estendida a todos os objectivos, mesmo que processados de forma isolada. Assim, cada função-objectivo passa a definir-se como F = ff

0. Esta opção é tomada para garantir que os problemas definidos se encontram sempre dentro da gama de actuação dos algoritmos de optimiza- ção utilizados, tornando-os independentes da magnitude das solicitações impostas. Note-se ainda que a implementação do caso multicarregamento, neste programa, resume-se a modos de carga alternativos, sem alteração de condições de fronteira essenciais. Isto deve-se ao facto de permitir assim que o sistema de equações seja mantido em cada resolução, bastando actualizar o vector de forças e repetir a resolução do sistema.

7A designação de problemas multicarregamento como sendo multiobjectivo não é usual. No entanto, é aqui adoptada pelo facto da optimização multiobjectivo poder ser também designada de optimização vectorial e, neste contexto, o problema multicarregamento fazer uso do mesmo tipo de metodologia [Bendsøe e Sigmund 2003].

Optimização Topológica

7.4.3

Filtros

Utilizam-se aqui filtros de sensibilidade (F#) e de densidade (Fx#), apesar deste trabalho se focar essencialmente nos filtros de sensibilidade (vd. Sec. 5.4.1). Apesar das suas implementações serem próximas, com parte dos procedimentos comuns aos dois casos, verifica-se que os filtros de densidade tendem a deteriorar a periodicidade das microestruturas obtidas em procedimentos multiescala. Esta limitação poderia ser contornada incluindo as fronteiras de periodicidade no procedimento de filtragem. No entanto, os filtros de sensibilidade não são tão sensíveis neste aspecto, razão pela qual são preferidos neste caso. Numa primeira fase, comum a qualquer dos filtros utilizados, é efectuada uma avaliação geral da malha. Nesta fase, a mais onerosa do processo de filtragem, toda a malha de elementos finitos é avaliada de modo a calcular e armazenar distâncias entre elementos e sequências de conectividade. Estes cálculos destinam-se a preparar o cálculo para a utilização das diferentes opções de filtragem. A forma mais simples e comum permite que a filtragem seja feita directamente com o operador de convolução e entre os elementos contidos na vizinhança definida pelo raio do filtro (F1). Esta forma de actuação pode representar alguns problemas, nomeadamente a inclusão de regiões geometricamente próximas, mas sem ligação física [Desmorat 2007]. Para evitar este problema, os restantes filtros foram alterados de modo a só incluir elementos em determinada vizinhança se estiverem efectivamente ligados. Nesse sentido, utilizam-se neste trabalho essencialmente filtros de conectividade. Constrói-se uma lista de todos os elementos com conectividade a um dado elemento, assim como as respectivas distâncias entre centros geométricos. O processo de filtragem actua então apenas sobre os elementos admissíveis, mesmo que a distância seja inferior ao raio definido para a vizinhança, Rf. Distinguem-se aqui três modos principais de

funcionamento. Por um lado, utiliza-se um modo que inclui apenas os elementos directamente ligados ao elemento sobre o qual actua o filtro (F2). Continua a ser possível actuar sobre os pesos de ponderação através do raio de filtragem e do operador de convolução, mas sempre com os elementos mais próximos. Neste caso, o raio definido pelo utilizador vai ser variável. Este deixa de ser o raio absoluto referido anteriormente, Rf, e passa a ser definido como raio relativo, ¯Rf, cuja

unidade corresponde à distância mínima entre cada elemento e os seus vizinhos. Consegue-se assim garantir que o filtro funciona de forma equilibrada independentemente da regularidade das malhas, ou da dimensão do problema e elementos utilizados. Contudo, este funciona muitas vezes apenas como um filtro de limitação de fenómenos checkerboard, já que à medida que as malhas são refinadas tendem a surgir efeitos cada vez mais pronunciados de dependência de malha. Duas alternativas de funcionamento suplementares permitem um maior controlo sobre este efeito, conduzindo a melhores resultados em termos de independência de malha. Incluindo na vizinhança de elementos admissíveis camadas suplementares de elementos com conectividade, isto é, de elementos com conectividade com elementos vizinhos, é possível alargar a actuação destes filtros de conectividade e controlar a sua actuação. Os raios definidos para esta vizinhança são aqui definidos de duas formas. Por um lado, pode utilizar-se o raio proporcional referido anteriormente. Este pode ser específico para cada elemento (F3), de modo a actuar de forma equilibrada em malhas não-regulares, ou ser definido como igual para toda a malha (F4). Por outro, pode utilizar-se um raio absoluto, levando a que a dimensão da vizinhança seja definida independente do refinamento da malha (F5). Note-se que estes diferentes níveis de controlo podem originar efeitos perversos. Se por um lado é possível controlar o surgimento de algumas instabilidades numéricas ou fenómenos de dependência de malha, por outro acaba-se muitas vezes por destruir a resolução das soluções obtidas, quer em termos de aproximação à solução do problema discreto quer em termos de detalhe estrutural. Assim, é necessário algum cuidado na avaliação destas soluções, já que muitas vezes a validação é feita em termos essencialmente visuais [Rozvany 2009].

7.4.4

Algoritmos de Optimização

Neste trabalho são utilizados dois tipos de método de optimização, como referido na Secção 5.6. Utilizam-se métodos de critério de óptimo (OC), com esquemas de actualização de ponto fixo, e o

Optimização Topológica

Método das Assimptotas Móveis (MMA), de Svanberg [Svanberg 1987], assim como uma adaptação deste para funcionar como CONLIN (CONvex LINearization), de Fleury [Fleury 1989].

A aplicação do método de critério de óptimo utilizada neste trabalho baseia-se nas equa- ções 5.57, 5.58 e 5.19. No ponto óptimo pode escrever-se que

−∂f ∂ρe λ∂ρ∂g e = p−1 e uTek0ue λve = 1 . (7.49)

ve é o volume do elemento finito e, surgindo de ∂ρ∂ge = ∂ρ∂Ve, onde V = veρe = ρTv. Este

ponto é particularmente relevante em malhas não-regulares. Fisicamente, esta equação significa que a função densidade de energia de deformação deve ser constante ao longo do domínio (para densidades intermédias). Recorrendo ao tipo de esquema de ponto fixo apresentado na equação 5.60, pode então escrever-se, para a iteração k + 1,

ρ(k+1)e = ρ(k)e  pρp−1uT ek0ue λve ξ = ρ(k)e  Be(k+1) ξ . (7.50)

ξ é um coeficiente de amortecimento. Para limitar a variação da variável densidade, introduz-se ainda um limite positivo de actualização (move limit ), ζ. Ambos estes coeficientes têm como objectivo estabilizar as iterações, limitando a dimensão de B e a variação de ρ, respectivamente. Os seus valores podem variar entre 0 e 1, sendo utilizados como parâmetros de afinação de rapidez e estabilidade do processo iterativo. Note-se que, normalmente, o aumento da rapidez acarreta uma redução da estabilidade e uma maior propensão para tender para óptimos locais. Neste trabalho usam-se normalmente valores de ξ = 0,5 e ζ = 0,2. Pode assim construir-se o seguinte esquema heurístico de actualização [Sigmund 2001, Bendsøe e Sigmund 2003]

ρ(k+1)e = ⎧ ⎪ ⎪ ⎨ ⎪ ⎪ ⎩ max ' (1− ζ)ρ(k)e , ρmin ( se Beρ(k)e ≤ max ' (1− ζ)ρ(k)e , ρmin ( min ' (1 + ζ)ρ(k)e , 1 ( se Beρ(k)e ≥ min ' (1 + ζ)ρ(k)e , 1 ( Beρ(k)e se outros casos . (7.51)

Este procedimento aumenta a densidade em regiões com B(k)> 1 e reduz em regiões com B(k)< 1. No ponto óptimo B(k)= 1 para todas as densidades intermédias. Note-se ainda que o multiplicador de Lagrange deve satisfazer a restrição de volume. A função g(λ) = V (ρ(λ))− fvV tem uma¯

dependência monótona decrescente com λ, pelo que se pode utilizar um algoritmo de bissecção para actualizar também iterativamente o multiplicador de Lagrange. Esta actualização, na tentativa de garantir que a restrição de volume é respeitada, conduz ao ciclo iterativo interno representado na figura 7.10. O esquema de actualização determina o correctoρk+1quando g(ρ) = 0. Note-se que a convergência do processo iterativo e do problema de optimização corresponde ao caso em que todos os valores intermédios resultem em Be= 1 e, consequentemente, emρ(k+1)=ρ(k).

Refira-se ainda que, apesar de neste trabalho se utilizar o MMA para gerir restrições múltiplas, é possível estabelecer esquemas de actualização para métodos de critério de óptimo para o mesmo efeito [Venkayya 1989, Fernandes et al. 1999, Yin e Yang 2001]. Esta é, aliás, uma das vantagens do MMA relativamente ao método OC, permitindo a resolução de problemas mais complexos sem alterações da sua definição ou implementação. A versão de 2007, implementada em Fortran e gentilmente cedida por Krister Svanberg [Svanberg 1987], permite uma integração simples em códigos de optimização topológica. Necessita de algumas variáveis auxiliares, mas é flexível o suficiente para ser adaptada à resolução de diversos tipos de problemas. As sub-rotinas utilizadas fornecem ainda diversas variáveis de controlo como output, e.g. multiplicadores de Lagrange.

O MMA funciona através da linearização das restrições fi(x) (vd. Sec. 5.6) com variáveis do

tipo 1/(U− x) e 1/(x − L), dependendo dos sinais das derivadas em x, com L < x < U [Svanberg 1987]. L e U constituem os pontos das assimptotas que controlam o método. Estas assimptotas

Optimização Topológica O Actualizaçãor Actualizaçãol g( )=0?r S N

Figura 7.10: Ciclo de iterações internas no OC.

são móveis, já que se vão aproximando à medida que o processo vai convergindo. A manipulação destas assimptotas permite ainda algum controlo do funcionamento do método. Alterando o seu funcionamento para um modelo de assimptotas fixas, é possível obter funções de aproximação características de outros métodos. O intervalo entre L(k) e U(k) afecta directamente as segundas derivadas dos subproblemas. Se o intervalo definido entre as assimptotas é próximo de x(k), o valor das segundas derivadas das funções de aproximação fi(k)(vd. Eq. 5.62) aumenta. Assim, aumenta-