• Nenhum resultado encontrado

3.3 MODELOS PARA A INTERFACE AÇO CONCRETO

3.5.9 Algoritmos Implementados

Na presente seção se mostraram os esquemas dos algoritmos implementados na pesquisa. Entre os algoritmos apresentados, o principal corresponde ao método de Newton-Raphson

em combinação do método de integração numérica de Newmark encontrado no solver di- nâmico. Além deste algoritmo, se apresentam também as rotinas do método de Rayleigh para a matriz de amortecimento, de frequências e deformadas modais, e de solicitações sísmicas.

I - Solver Dinâmico - Newton-Raphson - Newmark

1 - Leitura do domínio (elementos finitos e condições de contorno). 2 - Leitura de dados de entrada definidos pelo usuário:

ta: tempo analisado

nint: quantidade de intervalos de tempo

nmod: quantidade de modos de vibração e frequências desejados

sism: valor booleano que define se o problema considera ou não ações sísmicas tds: tempo de duração do sismo

tss: tempo no qual começa a ação sísmica

maxits: quantidade máxima de iterações no método de Newton-Raphson tol: tolerância permitida no critério de convergência (tol)

3 - Condicional de verificação de atividade sísmica. Se é afirmativo pede-se ao usuário para inserir o nome do arquivo .dat com acelerações e a direção da excitação sísmica x, y ou z. (Se sism = true).

4 - Cálculo da duração do intervalo de tempo ∆t = ta/nint. Criação da variável tf ia = 0 : tempo final do intervalo atual.

5 - Aplicar condições de contorno.

6 - Inicializar condições iniciais de deslocamento, velocidade e força externa aplicada. 0U, 0U,˙ 0F.

7 - Condicional atividade sísmica. Se apresenta ação sísmica e o tempo de início do sismo é menor que o tempo final do intervalo atual, soma-se as forças sísmicas às forças externas iniciais 0F com uso de sub-rotina SismicForce (Se sism = verdad e tss ≤ tf ia).

8 - Montagem de matrizes de rigidez Kf e de massa Mf de elementos sólidos para cálculo

de frequências e modos de vibração.

9 - Cálculo de frequências e modos de vibração (autovalores e autovetores) com a sub- rotina Frequency.

10 - Geração de arquivos .vtk com deformadas modais baseados nos vetores próprios ob- tidos.

11 - Montagem de matrizes de rigidez K e de massa M para o sistema completo incluindo todos os elementos (sólidos, barra, interface).

12 - Escolha por parte do usuário das duas frequências desejadas para serem usadas no método de Rayleigh para o cálculo da matriz de amortecimento.

13 - Montagem de matriz de amortecimento usando o método de Rayleigh com a sub- rotina DampingRayleigh.

14 - Cálculo de acelerações iniciais

0U com a sub-rotina initialaceleration.¨

15 - Cálculo das forças internas de rigidez

0F int

16 - Salvar arquivo .vtk com informação atual do problema.

Início do processo iterativo no tempo de análise. Passo de tempo. (Para l = 0 até nint) 17 - Inicialização de variáveis

T = 0, 0, pseudo tempo (usado no passo automático) dT = 1, 0, incremento de pseudo tempo

inc = 1, número de incrementos realizados no método de Newton-Raphson tiia = (l − 1)∆t, tempo inicial intervalo atual

Início do processo iterativo para passo automático (Enquanto T < 1.0)

18 - Cálculo da duração de intervalo de tempo atual. Em algumas iterações pode variar devido ao uso do passo automático (∆ta = dT ∗ ∆t). Atualiza- ção do tempo final do intervalo atual (tf ia = tiia + ∆ta).

19 - Cálculo de forças externas no final do intervalo atual tiia, t+∆tF ext

20 - Condicional atividade sísmica. Se apresenta ação sísmica e o tempo de início do sismo é menor que o tempo final do intervalo atual, soma-se as forças sísmicas às forças externas finais do intervalo atual

t+∆tF com uso de sub-rotina SismicForce (Se sism = verdad e

tss ≤ tf ia).

21 - Cálculo de vetor de forças residuais. Subtração entre o vetor de forças externas aplicadas e as forças internas de rigidez

∆F(0) =t+∆tF

ext−t+∆tFint(0)

Início do processo iterativo do Método de Newton-Raphson (Para k = 1 até maxits)

22 - Montagem da matriz de rigidez atual K

23 - Montagem da matriz de amortecimento C usando o método de Rayleigh com a sub-rotina DampingRayleigh.

24 - Solução da equação de equilíbrio incremental de Newton-Raphson pelo método de Newmark. Cálculo de ∆U(k). Uso de sub-rotina solve_incnewmark.

25 - Cálculo do deslocamento total acumulado até a iteração k

t+∆tU(k)

=t+∆tU(k−1)

+ ∆U(k)

26 - Cálculo do deslocamento acumulado até a iteração k no processo de Newton-Raphson do atual intervalo de tempo

t+∆t∆U

a(k) =t+∆t U(k)−tU

27 - Cálculo das forças internas de rigidez

t+∆tF int(k)

28 - Cálculo de velocidades e acelerações da iteração k

t+∆tU˙(k)= −tU +˙ 2 ∆ta  t+∆tU(k−1) + ∆U(k)−tU t+∆tU¨(k)= −tU +¨ 4 ∆ta2  t+∆tU(k−1) + ∆U(k)−tU −tU∆ta˙ 

29 - Cálculo do total das forças internas (rigidez, amortecimento, inércia)

t+∆tF

total(k)=t+∆tFint(k)+ Ct+∆tU˙ (k)

+ Mt+∆tU¨(k)

30 - Atualização do vetor de forças residuais ∆F(k) =t+∆tF

ext−t+∆tFint(k)

31 - Condicional para verificação de critério de convergência. Se cum- pre o critério, o processo iterativo de Newton-Raphson é finalizado.

t+∆tF ext−t+∆tFint(k)− Ct+∆tU˙ (k) − Mt+∆tU¨(k) max ≤ tol

Próxima iteração (próximo k) ou finalizar processo iterativo de Newton- Raphson (Fim)

32 - Condicional baseado na convergência de Newton-Raphson para atuali- zação de valores ao final do intervalo.

Se converge,

Atualizar deslocamentos, velocidades e acelerações.

t+∆tU =t+∆t U(k) t+∆tU =˙ t+∆t U˙(k) t+∆tU =¨ t+∆t U¨(k)

Salvar arquivo .vtk com informação atual do problema. Se não converge

Usar passo automático dividindo o intervalo de tempo atual em dois dT = dT ∗ 0.5 (Atualização incremental de pseudo- tempo na metade)

Próxima iteração (Enquanto T < 1) ou finalizar processo iterativo de passo auto- mático (Fim).

Próxima iteração (próximo l) ou finalizar processo iterativo no tempo de análise (Fim).

II - Sub-Rotina SismicForce

1 - Leitura dos dados de entrada: M: Matriz de massa.

t+∆tF

ext: Vetor de forças externas.

AS: Arranjo de acelerações sísmicas (criado a partir do arquivo .dat). keysis: Direção da ação sísmica (fx, fy, fz).

tf ia: tempo final do intervalo atual (instante de tempo onde se calcula a força sísmica).

tds: tempo de duração da atividade sísmica.

2 - Cálculo da quantidade de dados ndat no arranjo de acelerações sísmicas AS. 3 - Transformar arranjo de acelerações sísmicas AS em um vetor AS2.

4 - Criar vetor de tempos correspondentes ao instante de tempo onde atua cada valor de aceleração do sismo ctsi = (i − 1)tds/ndat.

5 - Criar função (t vs as(t)) em forma de tabela (arranjo ndat x 2). Tempo t (coluna1 =

vtsi) vs aceleração sísmica as(t) (coluna2 = ASi).

6 - Calcular valor da aceleração sísmica as(tf ia) correspondente ao tempo analisado

(t = tf ia) por meio de interpolação da função t vs as(t).

7 - Criar vetor de influência sísmica r dependendo da direção da ação sísmica (keysis). 8 - Cálculo da força sísmica.

FS = Mras(tf ia)

9 - Somar o vetor de força sísmica FS ao vetor de forças externas t+∆tFext e retornar

III - Sub-Rotina Frequency

1 - Leitura dos dados de entrada:

Mf, Kf: Matrizes de massa e de rigidez dos elementos sólidos.

nmod: número de modos de vibração definidos pelo usuário. 2 - Criar matriz de massas concentradas Ml a partir de Mf.

Miil =PjMf ij para i = j Mijl= 0 para i 6= j

3 - Eliminação das linhas e colunas das matrizes Ml e Kf correspondentes aos graus de

liberdade com condições de contorno essenciais. 4 - Cálculo de matriz D.

D = Ml−1Kf

5 - Cálculo de valores ω2 e vetores próprios usando a função predefinida de Julia "eigs".

Solução da equação caraterística: |D − ω2I| = 0

6- Eliminar valores próprios ω2 sem significado físico (zeros, negativos, imaginários). Or- denar valores próprios restantes.

7 - Obter valor das frequências ω como a raiz quadrada dos valores próprios ω2.

8 - Retornar as primeiras nmod frequências solicitadas pelo usuário e os correspondentes vetores próprios que representam as deformadas modais.

IV - Sub-Rotina initialaceleration

1 - Leitura dos dados de entrada:

K, C, M: Matrizes de rigidez, amortecimento e massa.

0U, 0U,˙ 0F

ext: Vetores de deslocamentos, velocidades e forças externas iniciais.

2 - Eliminação de filas e colunas das matrizes K, C e M, e filas dos vetores 0U, 0U,˙ 0F ext

correspondentes aos graus de liberdade com condições de contorno essenciais. 3 - Cálculo do vetor de acelerações a partir do equilíbrio dinâmico para t = 0.

0U = M¨ −1h0F

ext− K0U − C0U˙

4 - Completar vetor de acelerações 0U com componentes dos graus de liberdade predefi-¨ nidas pelas condições de contorno essenciais.

5 - Retornar vetor de acelerações iniciais 0U.¨

V - Sub-Rotina solve_incnewmark

1 - Leitura dos dados de entrada:

K, C, M: Matrizes de rigidez, amortecimento e massa.

∆F(k−1) =t+∆tFext−t+∆tFint(k−1): Vetor de forças residuais da iteração k − 1. t+∆t∆U

a(k−1) =t+∆t U(k−1)−tU: Deslocamento acumulado no processo de Newton-

Raphson da iteração k − 1.

t+∆tU˙(k−1),t+∆tU¨(k−1): Velocidades e acelerações da iteração k − 1.

∆ta: Duração do intervalo de tempo atual.

2 - Cálculo da matriz de pseudo rigidez e do vetor de pseudo forças. K ∗ = K +∆ta42M + 2 ∆taC t+∆t∆F∗(k−1) = ∆F(k−1)+ Mt+∆tU¨(k−1)+ ∆ta4 t+∆tU˙(k−1)− 4 ∆ta2 t+∆t ∆Ua(k−1)  + C  t+∆tU˙(k−1) 2 ∆ta t+∆t ∆Ua(k−1) 

3 - Eliminação de filas e colunas da matriz K ∗ e filas do vetor F∗ correspondentes aos graus de liberdade com condições de contorno essenciais.

4 - Solução do sistema de equilíbrio proposto por Newmark. Cálculo do vetor de desloca- mentos incrementais.

∆Uk = K ∗−1F∗

5 - Completar vetor de deslocamentos incrementais ∆Uk com componentes dos graus de liberdade predefinidas pelas condições de contorno essenciais.

6 - Retornar vetor de deslocamentos incrementais ∆Uk.

Documentos relacionados