Professional Documents
Culture Documents
Objetivo: Ser realizado um cdigo em Python para soluo de uma barra com No-
Linearidade fsica por meio de incrementos elsticos sucessivos (estratgia progressiva
linearizao das etapas intermedirias). Posteriormente a soluo ser comparada com a
exata e com a soluo aproximada utilizando Newton-Raphson (full load).
Anexo: TEMN_FILIPE_LISTA1_Q1.py
Temos que, igualando as foras internas com as fora externas numa seo qualquer:
() A = P
No caso de () ser uma funo no linear, temos, de uma maneira geral (considerando a
rea da seo transversal, A, constante):
() A = P
Sendo a parcela esquerda da equao a fora interna, e a direita a fora externa. Pode-se
ento definir o resduo entre foras interna e externas como:
f(x) = () A P
E a derivada da fora interna como:
d()
= ET ()
d
x d((x)) 1
(x) = = =
L dx L
Logo:
dfi(x) A
= ET ()
dx L
f(x)
x =
f (x)
2. O Problema
O problema a seguir ser de uma barra de trelia com no-linearidade fsica, com as
seguintes propriedades e parmetros:
() = 1018 3 + 1011
A = 0.01m2 ; L = 1m ; P = 110000 N
x = 1.341325 104 m
#############################################################################
Total de iteraes = 6
Resultado = [ 0.00013413]
#############################################################################################
Observa-se que o resultado obtido com Newton Raphson praticamente igual ao exato:
Exato: 0.0001341325
Erro = 0,02%
2.3 Soluo por meio de incrementos elsticos sucessivos (load steps)
1 RODADA
E() = -3*10e18*^2+10e11
P A L0 0 E(0) 1 1
10000 0.01 1 0 10e11 P*L0/(E(0)*A) 1/L0
2 RODADA
E() = -3*10e18*^2+10e11
P A L1 1 E(1) 2 2
10000 0.01 L0 + 1 1/L0 E(1) P*L1/(E(1)*A) 2/L1
3 RODADA
E() = -3*10e18*^2+10e11
P A L2 2 E(2) 3 3
10000 0.01 L1 + 2 2/L1 E(2) P*L2/(E(2)*A) 3/L2
-----------------------------------------------INCIO DO CDIGO------------------------------------------------------
"""
"""
import sympy as sp
def str_2_func(s):
args = sp.sympify(lhs).args
f = sp.sympify(rhs)
return f
Et=str_2_func('Et(ep)=-3*10**18*ep**2+10**11')
f_exata=str_2_func('f(x)=(-10**18*x**3+10**11*x)*0.01')
P_total=110000
Delta=0
ep=0
Delta_P=10000
A=0.01
L=1
Delta_acum=0
iter=0
aproxLx=[0]
aproxLy=[0]
k=1
while True:
aproxLy.append(k*Delta_P)
k+=1
if k*Delta_P>P_total:
break
#######################################
while True:
print('Rodada :', iter+1)
ET=Et.subs({'ep':ep})
Delta=Delta_P*L/(ET*A)
ep=Delta/L
L=L+Delta
Delta_acum=Delta_acum+Delta
iter+=1
if iter>=P_total/Delta_P:
break
print('x = ',Delta_acum)
#plotando grficos
i=0
exatax=[]
exatay=[]
while True:
exatax.append(i)
exatay.append(f_exata.subs({'x':i}))
i+=0.00000001
if i>0.000134130:
break
plt.plot(aproxLx,aproxLy,'b--',exatax,exatay,'r--')
plt.ylabel('Carga')
plt.show()
---------------------------------------------------FIM DO CDIGO----------------------------------------------------
4. Resultados e Concluses
epsilon: 0 0
E: 100000000000
Delta : 1 1.00000000000000e-5
epsilon : 1 1.00000000000000e-5
Rodada : 2
epsilon: 1 1.00000000000000e-5
E: 99700000000.0000
Delta : 2 1.00301905717151e-5
epsilon : 2 1.00300902708124e-5
Rodada : 3
epsilon: 2 1.00300902708124e-5
E: 99698191867.4781
Delta : 3 1.00304730854079e-5
epsilon : 3 1.00302721771447e-5
Rodada : 4
epsilon: 3 1.00302721771447e-5
E: 99698180920.1572
Delta : 4 1.00305747951863e-5
epsilon : 4 1.00302732785149e-5
Rodada : 5
epsilon: 4 1.00302732785149e-5
E: 99698180853.8749
Delta : 5 1.00306754112614e-5
epsilon : 5 1.00302732851834e-5
Rodada : 6
epsilon: 5 1.00302732851834e-5
E: 99698180853.4736
Delta : 6 1.00307760217174e-5
epsilon : 6 1.00302732852237e-5
Rodada : 7
epsilon: 6 1.00302732852237e-5
E: 99698180853.4712
Delta : 7 1.00308766331424e-5
epsilon : 7 1.00302732852240e-5
Rodada : 8
epsilon: 7 1.00302732852240e-5
E: 99698180853.4712
Delta : 8 1.00309772455763e-5
epsilon : 8 1.00302732852240e-5
Rodada : 9
epsilon: 8 1.00302732852240e-5
E: 99698180853.4712
Delta : 9 1.00310778590194e-5
epsilon : 9 1.00302732852240e-5
Rodada : 10
epsilon: 9 1.00302732852240e-5
E: 99698180853.4712
Delta : 10 1.00311784734716e-5
epsilon : 10 1.00302732852240e-5
Rodada : 11
epsilon: 10 1.00302732852240e-5
E: 99698180853.4712
Delta : 11 1.00312790889331e-5
epsilon : 11 1.00302732852240e-5
x = 0.000110308079185431