Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Matrizes Locais

LNCC - Laboratório Nacional de Computação Científica

Para cada elemento KK, calculamos as matrizes elementares que contribuem para o sistema global.

Matriz de Rigidez Local

A matriz de rigidez local para o elemento KK é definida por:

AK[i,j]=KNjNidxA_K[i, j] = \int_K \nabla N_j \cdot \nabla N_i \, d\mathbf{x}

Usando a transformação para o elemento de referência:

AK[i,j]=K^(BK1)TN^j(BK1)TN^iJKdx^A_K[i, j] = \int_{\hat K} (\mathbf{B}_K^{-1})^T \nabla \hat N_j \cdot (\mathbf{B}_K^{-1})^T \nabla \hat N_i \, |J_K| \, d\hat{\mathbf{x}}

Caso 1D

Para elementos em 1D:

AK[i,j]=K^1hdN^jdx^1hdN^idx^hdx^=1hK^dN^idx^dN^jdx^dx^A_K[i, j] = \int_{\hat K} \frac{1}{h} \frac{d\hat N_j}{d\hat x} \cdot \frac{1}{h} \frac{d\hat N_i}{d\hat x} \cdot h \, d\hat x = \frac{1}{h} \int_{\hat K} \frac{d\hat N_i}{d\hat x} \frac{d\hat N_j}{d\hat x} \, d\hat x

Exemplo P1:

A^=01[11][11]dx^=[1111]\hat A = \int_0^1 \begin{bmatrix} -1 \\ 1 \end{bmatrix} \begin{bmatrix} -1 & 1 \end{bmatrix} d\hat x = \begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}

Logo:

AK=1h[1111]A_K = \frac{1}{h} \begin{bmatrix} 1 & -1 \\ -1 & 1 \end{bmatrix}

Caso 2D - Triângulos P1

Para triângulos P1, os gradientes são constantes:

AK[i,j]=K(BK1)TN^j(BK1)TN^iA_K[i, j] = |K| \cdot (\mathbf{B}_K^{-1})^T \nabla \hat N_j \cdot (\mathbf{B}_K^{-1})^T \nabla \hat N_i

Caso 2D - Quadriláteros Q1

Para Q1, os gradientes variam espacialmente, então precisamos de quadratura numérica:

AK[i,j]qwq[(BK1(x^q))TN^j(x^q)(BK1(x^q))TN^i(x^q)]JK(x^q)A_K[i, j] \approx \sum_{q} w_q \left[ (\mathbf{B}_K^{-1}(\hat{\mathbf{x}}_q))^T \nabla \hat N_j(\hat{\mathbf{x}}_q) \cdot (\mathbf{B}_K^{-1}(\hat{\mathbf{x}}_q))^T \nabla \hat N_i(\hat{\mathbf{x}}_q) \right] |J_K(\hat{\mathbf{x}}_q)|

Matriz de Massa Local

A matriz de massa local para o elemento KK é definida por:

MK[i,j]=KNjNidx=K^N^jN^iJKdx^M_K[i, j] = \int_K N_j N_i \, d\mathbf{x} = \int_{\hat K} \hat N_j \hat N_i \, |J_K| \, d\hat{\mathbf{x}}

Caso 1D - P1

MK=h01[1x^x^][1x^x^]dx^M_K = h \int_0^1 \begin{bmatrix} 1 - \hat x \\ \hat x \end{bmatrix} \begin{bmatrix} 1 - \hat x & \hat x \end{bmatrix} d\hat x

Calculando as integrais:

MK=h[13161613]M_K = h \begin{bmatrix} \frac{1}{3} & \frac{1}{6} \\ \frac{1}{6} & \frac{1}{3} \end{bmatrix}

Lumped Mass Matrix

A matriz de massa concentrada (lumped) é obtida somando cada linha e colocando o resultado na diagonal:

MKlumped=diag(jMK[i,j])M_K^{\text{lumped}} = \text{diag}\left( \sum_j M_K[i, j] \right)

Para P1 em 1D:

MKlumped=h2[1001]M_K^{\text{lumped}} = \frac{h}{2} \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}

Vetor de Carga Local

O vetor de carga local para o elemento KK é definido por:

bK[i]=KfNidx=K^f(FK(x^))N^i(x^)JK(x^)dx^b_K[i] = \int_K f N_i \, d\mathbf{x} = \int_{\hat K} f(\mathbf{F}_K(\hat{\mathbf{x}})) \hat N_i(\hat{\mathbf{x}}) \, |J_K(\hat{\mathbf{x}})| \, d\hat{\mathbf{x}}

Esta integral é tipicamente calculada usando quadratura numérica:

bK[i]qwqf(FK(x^q))N^i(x^q)JK(x^q)b_K[i] \approx \sum_{q} w_q f(\mathbf{F}_K(\hat{\mathbf{x}}_q)) \hat N_i(\hat{\mathbf{x}}_q) |J_K(\hat{\mathbf{x}}_q)|

Implementação no fempack

No código:

Todas essas funções usam quadratura numérica fornecida por fempack.quadrature.