Autor: Prof. Dr. Eduardo Vicente Wolf Trentini
Em uma análise não linear geométrica, uma estrutura perfeitamente reta e carregada de forma perfeitamente simétrica pode seguir uma trajetória idealizada. Para representar imperfeições geométricas iniciais, pode-se perturbar a geometria inicial usando uma forma modal de flambagem:
O vetor φn é uma versão normalizada do modo de flambagem, e e0 é a amplitude física escolhida para a imperfeição.
- Objetivo
- Por que não basta usar o autovetor de K?
- Análise linear de referência
- Matriz geométrica do elemento de pórtico 2D
- Problema de flambagem linear
- Redução para graus de liberdade livres
- Conversão para um problema padrão
- Normalização do modo
- Alteração da geometria inicial
- Algoritmo completo
- Esboço de implementação com Eigen
- Como escolher o modo
- Cuidados numéricos e físicos
- Exemplo conceitual: coluna comprimida
- Resumo
O objetivo deste texto é explicar como obter uma forma de imperfeição inicial para uma estrutura a partir de um problema de autovalor. A sequência usual é:
- montar a matriz de rigidez elástica K;
- aplicar uma carga de referência Fref;
- resolver uma análise linear para obter uref;
- calcular os esforços normais de referência Nref nos elementos;
- montar a matriz de rigidez geométrica KG;
- resolver o problema de flambagem linear;
- usar o primeiro modo de flambagem como imperfeição inicial.
A formulação apresentada é direcionada a estruturas reticuladas planas, especialmente elementos de pórtico 2D de Euler-Bernoulli. A mesma lógica geral aparece em outras formulações, mas a matriz geométrica do elemento muda.
Se for resolvido o problema
obtêm-se direções principais de rigidez da matriz elástica. O autovetor associado ao menor autovalor positivo pode indicar uma forma flexível da estrutura, mas não necessariamente representa o modo de instabilidade provocado pelo carregamento axial.
Na flambagem, o efeito importante é a redução da rigidez lateral causada por esforços normais de compressão. Esse efeito não está contido apenas em K. Ele entra pela matriz de rigidez geométrica KG, montada a partir dos esforços normais existentes na estrutura.
Para imperfeição inicial associada à instabilidade, o mais adequado é usar o autovetor do problema de flambagem linear, e não simplesmente um autovetor de K.
Primeiro, monta-se a rigidez elástica global da estrutura:
Escolhe-se uma carga de referência Fref. Ela deve ter o mesmo padrão do carregamento que pode causar instabilidade. Por exemplo, se a estrutura será comprimida por cargas verticais nos nós superiores, essas cargas devem aparecer em Fref. Pode ser inclusive o carregamento que se deseja aplicar à estrutura.
A análise linear de referência é:
A partir do vetor uref, calcula-se o esforço normal de referência em cada elemento. Para um elemento de pórtico 2D, no sistema local, uma forma simples é:
em que:
- E é o módulo de elasticidade;
- A é a área da seção;
- L é o comprimento do elemento;
- u1,ℓ(e) e u2,ℓ(e) são os deslocamentos axiais locais dos nós do elemento.
Neste texto será adotada a convenção:
Com essa convenção, elementos comprimidos têm N < 0 e reduzem a rigidez lateral da estrutura.
Considere um elemento de pórtico plano de Euler-Bernoulli com graus de liberdade locais ordenados como:
Uma forma usual da matriz geométrica local é:
Como a matriz acima está no sistema local do elemento, ela deve ser transformada para o sistema global:
Depois, cada matriz kG(e) é assemblada na matriz global KG, do mesmo modo que se faz com a matriz de rigidez elástica.
A matriz acima foi escrita com N > 0 em tração e N < 0 em compressão. Assim, para elementos comprimidos, kG(e) contribui negativamente para a rigidez tangente lateral. Se outra convenção for usada, o sinal do problema de autovalor deve ser ajustado.
A rigidez tangente linearizada em torno do estado de referência pode ser escrita como:
em que λ é um fator multiplicador da carga de referência.
A perda de estabilidade linear ocorre quando existe um vetor não nulo φ tal que:
Essa equação pode ser reescrita como o problema de autovalor generalizado:
O menor autovalor positivo λ1 é o fator crítico de flambagem linear. Se Fref for a carga de referência, a carga crítica aproximada é:
O autovetor associado φ1 é o primeiro modo de flambagem.
Para resolver o problema de autovalor, é recomendável trabalhar apenas com os graus de liberdade livres. Separando os graus de liberdade em livres f e restringidos r, escreve-se:
Como os apoios impõem ur = 0, o problema de flambagem deve ser resolvido com as submatrizes livres:
Depois de calculado φf, reconstrói-se o vetor global completo φ, preenchendo com zero os graus de liberdade restringidos.
Para análise estática linear, é comum impor apoios zerando linhas e colunas da matriz global. Para problema de autovalor, o procedimento mais limpo é montar diretamente as matrizes reduzidas Kff e KGff, contendo apenas os graus de liberdade livres.
Algumas bibliotecas resolvem diretamente o problema generalizado:
Nesse caso, pode-se usar:
Se a biblioteca disponível só resolver problemas padrão do tipo
então pode-se multiplicar a equação anterior por Kff−1:
Definindo:
tem-se:
Logo:
Nesse formato, o menor λ positivo corresponde ao maior μ positivo.
O autovetor não tem escala física. Se φ é autovetor, então 10φ, 0,01φ ou −φ também são autovetores.
Para usar o autovetor como imperfeição geométrica, deve-se escolher uma normalização. Para estruturas planas, uma opção simples é normalizar pelo maior deslocamento translacional:
Assim, o maior deslocamento translacional nodal de φn passa a valer 1.
A amplitude física da imperfeição pode ser definida por um valor e0. Por exemplo:
em que Lref pode ser o comprimento de uma barra, a altura de um pilar, o vão de uma estrutura, ou outra dimensão de referência adequada ao problema.
Depois da normalização, a geometria imperfeita é obtida por:
Em um pórtico plano, o autovetor costuma conter, para cada nó:
Para modificar as coordenadas dos nós, usa-se normalmente apenas:
A componente rotacional φθi pertence ao modo, mas não é uma coordenada geométrica nodal. Portanto, ela não precisa ser aplicada diretamente como alteração de geometria.
A sequência de implementação pode ser resumida assim:
-
Montar K elástica global.
-
Montar o vetor de carga de referência Fref.
-
Identificar graus de liberdade livres.
-
Resolver Kffuref,f = Fref,f.
-
Reconstruir uref global.
-
Para cada elemento:
- transformar deslocamentos globais para locais;
- calcular Nref do elemento;
- montar kG,ℓ(e) local com Nref;
- transformar kG,ℓ(e) para coordenadas globais;
- assemblar kG(e) na matriz global KG.
-
Reduzir K e KG para os graus de liberdade livres.
-
Resolver o problema de flambagem linear:
$$\mathbf{K}_{ff}\boldsymbol{\phi} = -\lambda\mathbf{K}_{Gff}\boldsymbol{\phi}.$$ -
Escolher o menor λ positivo. Alternativamente, permitir a visualização dos modos e deixar o usuário escolher.
-
Reconstruir φ global.
-
Normalizar φ pelo maior deslocamento translacional.
-
Escolher e0.
-
Criar geometria imperfeita: ximp = x + e0φx; yimp = y + e0φy.
-
Usar essa geometria como ponto inicial da análise não linear geométrica.
O trecho abaixo é apenas um esqueleto. Ele mostra a lógica, não uma implementação completa.
// Matrizes globais completas
Eigen::MatrixXd K = AssembleElasticStiffness(model);
Eigen::VectorXd Fr = AssembleReferenceLoad(model);
Eigen::MatrixXd KG = Eigen::MatrixXd::Zero(K.rows(), K.cols());
// Lista de graus de liberdade livres
std::vector<int> freeDofs = BuildFreeDofList(model);
// Redução para graus de liberdade livres
Eigen::MatrixXd Kff = ExtractSubmatrix(K, freeDofs, freeDofs);
Eigen::VectorXd Frf = ExtractSubvector(Fr, freeDofs);
// Análise linear de referência
Eigen::VectorXd ur_f = Kff.ldlt().solve(Frf);
Eigen::VectorXd ur = ExpandToGlobalVector(ur_f, freeDofs, K.rows());
// Cálculo dos esforços normais e montagem de KG
for (Element& e : model.elements)
{
Eigen::VectorXd ue_global = ExtractElementDisplacements(ur, e);
Eigen::VectorXd ue_local = e.T * ue_global;
double N = e.E * e.A / e.L * (ue_local(3) - ue_local(0));
Eigen::Matrix<double, 6, 6> kG_local =
GeometricStiffness2DFrame(e.L, N);
Eigen::Matrix<double, 6, 6> kG_global =
e.T.transpose() * kG_local * e.T;
AssembleElementMatrix(KG, kG_global, e.globalDofs);
}
Eigen::MatrixXd KGff = ExtractSubmatrix(KG, freeDofs, freeDofs);
// Problema padrão equivalente: C * phi = mu * phi
// C = Kff^{-1} * (-KGff), mu = 1/lambda
Eigen::MatrixXd C = Kff.ldlt().solve(-KGff);
Eigen::EigenSolver<Eigen::MatrixXd> solver(C);
// Selecionar maior mu positivo real; lambda = 1/mu.
// O autovetor associado e o modo de flambagem.Para uma implementação mais robusta, é preferível usar um resolvedor de autovalor generalizado simétrico quando disponível, evitando formar explicitamente K−1KG. Em muitos casos educacionais e protótipos pequenos, a forma padrão acima é suficiente para estudo, desde que os resultados sejam verificados.
Depois de resolver o problema de autovalor, deve-se filtrar os resultados:
- descartar autovalores complexos com parte imaginária significativa;
- descartar autovalores negativos ou muito próximos de zero, conforme a convenção adotada;
- ordenar os autovalores positivos;
- escolher o menor λ positivo;
- verificar visualmente se o autovetor corresponde a uma forma de flambagem plausível.
Em estruturas simétricas, pode haver modos próximos, ou até modos repetidos. Nesses casos, pequenas diferenças numéricas podem alterar a combinação linear retornada pelo resolvedor. Isso não significa necessariamente erro.
Se a estrutura tiver modos de corpo rígido, K será singular ou quase singular. Antes de fazer análise de flambagem, verifique se a análise linear está bem condicionada.
A matriz geométrica depende diretamente de N. Se a convenção de sinal do elemento for alterada, o problema de autovalor também muda. Sempre teste com um caso conhecido, como uma coluna biarticulada.
O autovetor só fornece a forma. A amplitude e0 deve ser escolhida separadamente. Para estudo numérico, valores como L/1000, L/500 ou L/300 são comuns como hipóteses de imperfeição. Para projeto, deve-se seguir a norma ou critério adotado.
Em pórticos 2D, o autovetor inclui rotações nodais. Para alterar a geometria, use apenas os deslocamentos translacionais. As rotações podem ser usadas para visualização do modo, mas não devem ser somadas às coordenadas x e y. Existem funções de visualização que usam as rotações para desenhar a forma deslocada entre os nós. Em uma implementação inicial, isso pode ser omitido.
Se Fref for multiplicada por um fator c, os esforços normais de referência também serão multiplicados por c, e o autovalor crítico será aproximadamente dividido por c. O produto λFref, porém, representa a carga crítica aproximada. Por isso, a forma do carregamento é mais importante do que sua magnitude absoluta.
Considere uma coluna reta com comprimento L, comprimida por uma carga axial de referência Pref. O primeiro modo de flambagem de uma coluna biarticulada tem forma semelhante a:
No modelo discreto, o autovetor de flambagem fornece uma aproximação nodal dessa forma. A geometria imperfeita é criada deslocando os nós transversalmente:
Essa imperfeição faz com que a análise não linear já comece com uma pequena curvatura inicial, permitindo capturar os efeitos de segunda ordem associados ao carregamento compressivo.
| Etapa | O que fazer |
|---|---|
| Análise linear | Resolver Kuref = Fref. |
| Esforços normais | Calcular Nref(e) em cada elemento. |
| Matriz geométrica | Montar KG usando os esforços normais de referência. |
| Flambagem linear | Resolver Kφ = −λKGφ. |
| Modo crítico | Escolher o menor λ positivo. |
| Normalização | Escalar φ para que o maior deslocamento translacional seja 1. |
| Imperfeição inicial | Aplicar x0imp = x0 + e0φn. |
| Análise não linear | Usar a geometria imperfeita como geometria inicial. |
O autovetor fornece a forma da imperfeição inicial, mas não define sua amplitude. A matriz geométrica KG representa a influência dos esforços normais sobre a rigidez tangente e, consequentemente, sobre a estabilidade da estrutura. Portanto, a sequência de análise consiste em: realizar uma análise linear de referência, calcular os esforços normais nos elementos, montar a matriz geométrica KG, resolver o problema de flambagem e aplicar o modo normalizado como imperfeição geométrica inicial.
Ressalta-se que, para que o modo de flambagem seja representado adequadamente, as barras devem estar discretizadas em segmentos menores. Caso contrário, uma barra longa modelada por um único elemento retilíneo pode não representar satisfatoriamente a forma deformada associada ao modo crítico.