Ir para o conteúdo

Tratamento das condições de fronteira geométricas

O método de Newton-Raphson resolve a equação linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\) em cada iteração, mas as condições de fronteira geométricas (restrições de deslocamento) ainda não estão incorporadas nesta equação. Este capítulo mostra como modificar a matriz de rigidez \(\boldsymbol{u} = \bar{\boldsymbol{u}}\) e o vetor residual \(\boldsymbol{K}\) para os graus de liberdade aos quais são aplicadas restrições de deslocamento \(\boldsymbol{R}\), de modo que o deslocamento após a iteração atinja o valor prescrito. As restrições multiponto (MPC) e as restrições não lineares associadas ao contacto são tratadas separadamente; consulte Restrições multiponto e Contacto.

Política de manutenção das restrições de deslocamento como variáveis desconhecidas

O deslocamento de um nó sujeito a uma condição de fronteira geométrica deixa de ser uma variável desconhecida e fica fixado no valor prescrito \(\bar{u}_i\). Estes graus de liberdade poderiam ser tratados como constantes e eliminados da equação linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\); no entanto, o FrontISTR impõe as restrições modificando \(\boldsymbol{K}, \boldsymbol{R}\), ao mesmo tempo que mantém os graus de liberdade restringidos no vetor de correção \(d\boldsymbol{u}\) da mesma forma que os restantes graus de liberdade.

Com esta abordagem, as dimensões da matriz de coeficientes e a ordenação dos graus de liberdade não se alteram consoante existam ou não restrições, pelo que não é necessário eliminar variáveis nem recompactar as linhas e colunas libertadas. Como esta recompactação é trabalhosa numa implementação que armazena a matriz de coeficientes em formato esparso, o FrontISTR adota a abordagem em que as restrições são impostas apenas pela atualização da matriz de coeficientes e do segundo membro.

Valor-alvo das correções de Newton-Raphson

Para um grau de liberdade \(i\) com deslocamento restringido, \(\boldsymbol{K}\) e \(\boldsymbol{R}\) são modificados de modo que a correção \(du_i\) obtida na iteração de Newton-Raphson satisfaça

\[ du_i = d\bar{u}_i \equiv \begin{cases} \bar{u}_i & (\text{1.ª iteração}) \\ 0 & (\text{2.ª iteração e seguintes}) \end{cases} \]

Com esta modificação, o incremento de deslocamento atinge o valor prescrito \(\bar{u}_i\) na primeira iteração e, a partir da segunda iteração, a correção torna-se \(0\), mantendo o valor prescrito.

Procedimento de modificação da matriz e do vetor residual

O valor-alvo descrito na secção anterior é obtido através das duas modificações seguintes, mantendo a forma da equação linear \(\boldsymbol{K} d\boldsymbol{u} = \boldsymbol{R}\).

  1. Diagonalização da linha \(i\): Substitua o termo diagonal \(du_i\), coeficiente de \(K_{ii}\), por \(1\), substitua todos os restantes coeficientes \(K_{ij}\ (j \not= i)\) por \(0\) e defina o segundo membro como \(R_i \to d\bar{u}_i\). A equação da linha \(i\) passa então a ser \(du_i = d\bar{u}_i\).
  2. Transferência a partir das linhas \(j(\not= i)\): Para cada linha \(j(\not= i)\), se \(K_{ji} \not= 0\), transfira o termo \(K_{ji} du_i = K_{ji} d\bar{u}_i\) para o segundo membro. Isto é, subtraia \(K_{ji} d\bar{u}_i\) ao segundo membro e defina como \(du_i\) o coeficiente \(K_{ji}\) de \(0\).

Na forma de componentes, as equações antes e depois da modificação correspondem da seguinte forma.

\[ \begin{bmatrix} K_{11} & K_{12} & \cdots & K_{1i} & \cdots & K_{1N} \\ K_{21} & K_{22} & \cdots & K_{2i} & \cdots & K_{2N} \\ \vdots & \vdots & \ddots & \vdots & & \vdots \\ K_{i1} & K_{i2} & \cdots & K_{ii} & \cdots & K_{iN} \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ K_{N1} & K_{N2} & \cdots & K_{Ni} & \cdots & K_{NN} \\ \end{bmatrix} \begin{bmatrix} du_1 \\ du_2 \\ \vdots \\ du_i \\ \vdots \\ du_N \end{bmatrix} = \begin{bmatrix} R_1 \\ R_2 \\ \vdots \\ R_i \\ \vdots \\ R_N \end{bmatrix} \]
\[ \Longrightarrow \quad \begin{bmatrix} K_{11} & K_{12} & \cdots & 0 & \cdots & K_{1N} \\ K_{21} & K_{22} & \cdots & 0 & \cdots & K_{2N} \\ \vdots & \vdots & \ddots & \vdots & & \vdots \\ 0 & 0 & \cdots & 1 & \cdots & 0 \\ \vdots & \vdots & & \vdots & \ddots & \vdots \\ K_{N1} & K_{N2} & \cdots & 0 & \cdots & K_{NN} \\ \end{bmatrix} \begin{bmatrix} du_1 \\ du_2 \\ \vdots \\ du_i \\ \vdots \\ du_N \end{bmatrix} = \begin{bmatrix} R_1 - K_{1i} d\bar{u}_i \\ R_2 - K_{2i} d\bar{u}_i \\ \vdots \\ d\bar{u}_i \\ \vdots \\ R_N - K_{Ni} d\bar{u}_i \\ \end{bmatrix} \]

Designando a matriz de coeficientes modificada e o segundo membro modificado por \(\tilde{\boldsymbol{K}}, \tilde{\boldsymbol{R}}\), respetivamente, a equação linear a resolver é finalmente

\[ \tilde{\boldsymbol{K}}\, d\boldsymbol{u} = \tilde{\boldsymbol{R}} \]

Se existirem vários graus de liberdade restringidos, as modificações 1 e 2 acima são aplicadas sucessivamente a cada grau de liberdade restringido \(i\).

Âmbito do processamento na implementação com matriz esparsa

Na implementação, a matriz de coeficientes \(\boldsymbol{K}\) é armazenada em formato de matriz esparsa. Por conseguinte, o processamento das linhas \(j(\not= i)\) no procedimento 2 da secção anterior é efetuado apenas para as linhas que possuem entradas não nulas na coluna \(i\), isto é, para os graus de liberdade de nós ligados através de elementos ao grau de liberdade restringido \(i\). Para graus de liberdade não ligados, \(K_{ji} = 0\), pelo que a transferência do termo não altera o segundo membro. Esta restrição permite concluir o processamento das restrições utilizando apenas operações locais relativamente ao número total de nós.

Tópicos relacionados