Método de Newton-Raphson¶
Linearização e recorrência iterativa¶
A equação não linear para o deslocamento nodal no instante \(t_{n+1}\), \(\boldsymbol{u}_{n+1}\), obtida em Trabalho virtual das forças externas e montagem da equação global, é resolvida pelo método de Newton-Raphson. Considera-se conhecido o deslocamento nodal até o instante \(t_n\), \(\boldsymbol{u}_n\), e toma-se o incremento de deslocamento \(\Delta\boldsymbol{u}\) como variável desconhecida para determinar
A partir daqui, despreza-se a dependência do vetor de forças externas em relação ao deslocamento nodal e, tomando \(\boldsymbol{F}(\boldsymbol{u}_{n+1}) = \boldsymbol{F}_{n+1}\),
é resolvida.
Na solução atual \(\Delta\boldsymbol{u}\), define-se a rigidez tangente
Usando-a, a linearização da equação não linear fornece
Na \(i\)-ésima iteração, seja a correção \(d\boldsymbol{u}_i\) e seja o vetor residual no início da iteração
Então, a recorrência iterativa é
Dessa forma, o residual \(\boldsymbol{R}_i\) é uma grandeza correspondente ao desequilíbrio de forças em relação ao equilíbrio.
Construção da matriz de rigidez tangente¶
A rigidez tangente \(\boldsymbol{K} = \partial\boldsymbol{Q}/\partial\boldsymbol{u}\) é construída diferenciando parcialmente, em relação ao deslocamento nodal, o vetor de forças internas do elemento obtido em Discretização do trabalho virtual das forças internas, integrando os integrandos resultantes de cada elemento sobre o domínio do elemento e reunindo-os. Denotando o integrando no nível do elemento por \(\boldsymbol{K}^e_X\) (notação na configuração de referência, formulação TL) ou \(\boldsymbol{K}^e_x\) (notação na configuração atual, formulação UL), a rigidez tangente do elemento é
A seguir são apresentadas as formas finais dos integrandos TL/UL. Em ambos os casos, elas se decompõem na soma de um termo de rigidez do material (termo de deslocamento inicial) e um termo de rigidez geométrica (termo de tensão inicial).
Formulação Total Lagrange¶
Na formulação Total Lagrange, assume-se uma relação linear entre a taxa da segunda tensão de Piola-Kirchhoff \(\dot{\boldsymbol{S}}\) e a taxa da deformação de Green-Lagrange \(\dot{\boldsymbol{E}}\), isto é, \(\dot{\boldsymbol{S}} = \boldsymbol{\mathsf{C}}:\dot{\boldsymbol{E}}\). Isso corresponde às leis constitutivas de materiais elásticos lineares (materiais de St. Venant-Kirchhoff) e materiais hiperelásticos, e o FrontISTR utiliza a formulação Total Lagrange para esses materiais. Nesse caso, o integrando da rigidez tangente do elemento é escrito, em forma tensorial, como
O primeiro termo do lado direito é o termo de rigidez do material (termo de deslocamento inicial), e o segundo termo é o termo de rigidez geométrica (termo de tensão inicial).
Na implementação do FrontISTR, esse integrando é calculado em forma matricial usando a notação de Voigt:
Cada matriz é definida a seguir. \(\boldsymbol{B}_L, \boldsymbol{B}_{NL}\) são as matrizes B introduzidas em Discretização do trabalho virtual das forças internas, e \(\tilde{\boldsymbol{C}}\) é a representação de Voigt do tensor constitutivo \(\boldsymbol{\mathsf{C}}\), isto é, uma matriz de rigidez do material \(6\times 6\) (Notação tensorial e fundamentos matemáticos). \(\boldsymbol{S}_9, \boldsymbol{F}_9\) são as matrizes de rearranjo a seguir, usadas para representar o termo de rigidez geométrica como um produto matricial. Primeiro, para um tensor de segunda ordem \(3\times 3\) \(\boldsymbol{A}\), define-se a notação \([\,\cdot\,]\) que o rearranja em um vetor de 9 componentes como
Com essa definição, \(\boldsymbol{F}_9\) representa a variação do gradiente de deformação na forma \([\delta\boldsymbol{F}] = \boldsymbol{F}_9\, \delta\boldsymbol{u}^e\) e é uma matriz \(9\times d n_e\). Para o nó de elemento \(\alpha = 1, \ldots, n_e\), o bloco \(9\times d\) correspondente é
e \(\boldsymbol{F}_9 = [[\boldsymbol{F}_9]_1, \ldots, [\boldsymbol{F}_9]_{n_e}]\) é obtida organizando esses blocos horizontalmente na ordem dos nós do elemento. \(\boldsymbol{S}_9\) é escolhida de modo que, em combinação com essa matriz, o termo de rigidez geométrica seja expresso como \(\delta\boldsymbol{u}^{eT}\, \boldsymbol{F}_9^T \boldsymbol{S}_9 \boldsymbol{F}_9\, \dot{\boldsymbol{u}}^e\); trata-se da seguinte matriz \(9\times 9\)
Essa é a matriz resultante.
Formulação Updated Lagrange¶
Na formulação Updated Lagrange, assume-se uma relação linear entre a taxa de Jaumann do tensor de tensão de Kirchhoff relativa \(\hat{\boldsymbol{\sigma}}^{\nabla J}\) e o tensor taxa de deformação \(\boldsymbol{D}\), isto é, \(\hat{\boldsymbol{\sigma}}^{\nabla J} = \boldsymbol{\mathsf{C}}:\boldsymbol{D}\). Essa é a forma de uma lei constitutiva hipoelástica comum a materiais elásticos lineares, elastoplásticos e de fluência, e o FrontISTR utiliza a formulação Updated Lagrange para esses materiais. Nesse caso, o integrando da rigidez tangente do elemento expresso na configuração atual é escrito, em forma tensorial, como
onde \(\boldsymbol{\sigma}^{\nabla T}\) é a taxa de Truesdell, \(\boldsymbol{A}_{(L)}\) é a parte linear da deformação de Almansi, \(\boldsymbol{F}_t = \partial\boldsymbol{u}/\partial\boldsymbol{x}\) é o gradiente de deslocamento em relação à configuração atual e \(\boldsymbol{L}\) é o tensor gradiente de velocidade. O primeiro termo do lado direito é o termo de rigidez do material e o segundo termo é o termo de rigidez geométrica.
Na implementação do FrontISTR, esse integrando é calculado em forma matricial usando a notação de Voigt:
Aqui, \(\boldsymbol{b}\) é a matriz B construída na configuração atual (Discretização do trabalho virtual das forças internas). \(\boldsymbol{\sigma}_9, \boldsymbol{f}_9\) são obtidas a partir de \(\boldsymbol{S}_9, \boldsymbol{F}_9\) definidos para a formulação TL, substituindo a segunda tensão PK \(\boldsymbol{S}\) pela tensão de Cauchy \(\boldsymbol{\sigma}\) e o gradiente na configuração de referência \(\partial N_\alpha^e/\partial X_i\) pelo gradiente na configuração atual \(\partial N_\alpha^e/\partial x_i\).
\(\boldsymbol{G}\) é uma matriz de correção dependente da tensão de Cauchy, necessária para tornar a lei constitutiva hipoelástica \(\hat{\boldsymbol{\sigma}}^{\nabla J} = \boldsymbol{\mathsf{C}}:\boldsymbol{D}\) consistente com o quadro da rigidez tangente como uma lei constitutiva baseada na taxa de Truesdell. Ela é obtida organizando os componentes do tensor de quarta ordem \(G_{ijkl} = \delta_{il}\sigma_{kj} + \delta_{jl}\sigma_{ik}\) na representação de Voigt \(6\times 6\) como
Essa é a matriz resultante.
Montagem da matriz de rigidez global¶
A rigidez tangente global \(\boldsymbol{K}\) é obtida dividindo a rigidez de cada elemento \(\boldsymbol{K}^e\) em blocos \(d\times d\) \(\boldsymbol{K}^e_{\alpha\beta}\) para cada par de nós e usando o conjunto de montagem de tensor de segunda ordem \(\mathcal{E}^2(i_g, i_h)\) introduzido em Montagem de grandezas físicas nodais dos elementos:
Os valores resultantes são organizados em uma matriz com linha \(i_g\) e coluna \(i_h\). Na implementação, o conjunto \(\mathcal{E}^2\) não é construído explicitamente; em vez disso, os blocos correspondentes são somados diretamente dentro do loop de elementos. A matriz é quadrada, com dimensão igual ao número de graus de liberdade por nó \(\times\) o número total de nós \(n_g\), mas, como os componentes entre nós que não estão conectados por elementos são \(0\), ela é armazenada em formato de matriz esparsa.
As matrizes de rigidez dos elementos para as formulações TL e UL têm a mesma forma, exceto pela troca da configuração de referência (coordenadas nodais e origem usada para construir a matriz B) e pela presença ou ausência da matriz \(\boldsymbol{G}\). Por isso, o FrontISTR implementa ambas as formulações em uma sub-rotina comum.
Algoritmo de iteração¶
Resumindo o que foi apresentado, no início da iteração define-se \(\Delta\boldsymbol{u} = \boldsymbol{0}\) e calcula-se o residual inicial \(\boldsymbol{R}_0 = \boldsymbol{F}_{n+1} - \boldsymbol{Q}(\boldsymbol{u}_n)\). Em seguida, na \(i\)-ésima iteração, executa-se o procedimento a seguir.
- No deslocamento atual \(\boldsymbol{u}_n + \Delta\boldsymbol{u}\), calcule a rigidez tangente \(\boldsymbol{K}_i = \partial\boldsymbol{Q}/\partial\boldsymbol{u}|_{\boldsymbol{u}_n + \Delta\boldsymbol{u}}\) pelo procedimento de Construção da matriz de rigidez tangente.
- Para impor as condições de contorno geométricas, modifique a matriz de rigidez tangente e o vetor residual nos graus de liberdade sujeitos a restrições de deslocamento, obtendo \(\tilde{\boldsymbol{K}}_i, \tilde{\boldsymbol{R}}_{i-1}\) (Tratamento das condições de contorno geométricas).
- Resolva a equação linear \(\tilde{\boldsymbol{K}}_i\, d\boldsymbol{u}_i = \tilde{\boldsymbol{R}}_{i-1}\) para obter a correção \(d\boldsymbol{u}_i\). Esse procedimento costuma representar a maior parte do custo computacional do cálculo iterativo.
- Atualize o incremento de deslocamento como \(\Delta\boldsymbol{u} \leftarrow \Delta\boldsymbol{u} + d\boldsymbol{u}_i\) e, de acordo com isso, calcule o vetor de forças internas \(\boldsymbol{Q}(\boldsymbol{u}_n + \Delta\boldsymbol{u})\) e o residual \(\boldsymbol{R}_i = \boldsymbol{F}_{n+1} - \boldsymbol{Q}(\boldsymbol{u}_n + \Delta\boldsymbol{u})\).
- Verifique a convergência e encerre a iteração se ela for atingida. Nos graus de liberdade sujeitos a condições de contorno geométricas, aparecem no residual \(\boldsymbol{R}_i\) componentes correspondentes às reações de restrição; portanto, o indicador de convergência é construído a partir de \(\tilde{\boldsymbol{R}}_i\), excluindo esses componentes. Os indicadores e limites específicos de convergência são descritos em Critério de convergência. Se a convergência não for atingida e o limite de iterações for alcançado, a iteração é considerada malsucedida.
Quando a iteração converge, some o \(\Delta\boldsymbol{u}\) convergido a \(\boldsymbol{u}_n\) para obter o deslocamento acumulado no instante \(t_{n+1}\), \(\boldsymbol{u}_{n+1} = \boldsymbol{u}_n + \Delta\boldsymbol{u}\), e prossiga para o próximo passo de tempo.
Tópicos relacionados¶
- Trabalho virtual das forças externas e montagem da equação global — Ponto de partida da equação não linear a ser resolvida
- Discretização do trabalho virtual das forças internas — Construção de \(\boldsymbol{B}_L, \boldsymbol{B}_{NL}, \boldsymbol{b}\)
- Tratamento das condições de contorno geométricas — Modificação da matriz de rigidez tangente e do vetor residual para impor restrições de deslocamento
- Critério de convergência — Condições de parada baseadas na norma do residual
- Notação tensorial e fundamentos matemáticos — Representação de Voigt da matriz de material \(\tilde{\boldsymbol{C}}\)
- Iteração não linear e integração temporal (Funções) — Seleção e uso na referência de funções