Está en la página 1de 21

SIMPLE EJEMPLO DE PROBLEMA CON MATERIAL NO LINEAL

P=20 K
σ = 100 ε

L=100” L=60”
A=4 in2 A=2 in2

1) Equilibrio
2) Compatibilidad
3) Relación constitutiva
P
P= σ1A1 + σ2A2
σ1A1 σ2A2
P= 100√ (u1/L1) ·A1+ 100√ (u2/L2) ·A2
ε1=u/100 σ1=100√ ε1 P= 100 (A1/√L1+ A2/√L2)√u
ε2=-u/60 σ2=100√ ε2 u= P2 = 0.09233 in
10000 (A1/√L1+ A2/√L2)2
σ1=3.04 ksi ; σ1=3.92 ksi

RSM/2009 1
PRINCIPIO DE LOS TRABAJOS VIRTUALES
f(x) σ = σ(ε)
 dσ 
σ + dx A No necesariamente lineal
σA  dx 
L L
dx
∫ σAδεdx = ∫ f (x )δudx
0 0

Asumamos que tenemos una estimación en un instante de los desplazamientos y esfuerzos asociados. Sin
embargo, el PTV no se satisface. Necesitamos reescribir el PTV en una manera incremental usando una
aproximación para σ(ε) que sea válida para una función no lineal en general. Tenemos u, ε=du/dx, σ(ε) .

dσ 1 d 2 σ 2 Sustituyendo σ(ε+∆ε) en PTV:


σ(ε + ∆ε ) = σ(ε ) + ∆ε + ∆ε ....
dε 2 dε 2 L L

σ(ε + ∆ε ) ≈ σ(ε ) + ∆ε
dσ ∫ σ(ε + ∆ε )Aδεdx = ∫ f (x )δudx
0 0
dε L L
 dσ 
∫0 σ(ε ) + ∆ε dε  Aδεdx = ∫0 f (x )δudx
L L L
 dσ 
∫0  dε ∆ε Aδεdx = ∫0 f ( x)δudx − ∫0 Aσ(ε )δεdx
Energía de deformación correspondiente
Incremento de TV Trabajo hecho por al estado actual de esfuerzos
fuerzas externas

RSM/2009 2
Para un elemento de barra (axial), aplicamos PTV reconociendo que podemos integrar sobre un elemento y
luego ensamblar para toda la estructura.

Fi
L L L
 dσ  dσ dσ
∫0  dε  ∑ ∫0 dε ( )( ) ∑ ∫0 dε ( ) (B∆u )dx
T
nodo i nodo j Fj  ∆ε  Aδεdx = A B∆u Bδu dx = A Bδu

 Fi  u i   L

FFFF

;;;;

uuuu
=  =  dσ T
= (δu )  ∑ A ∫ B Bdx ∆u
T
 Fj  u j  dε
 0 
1 u 
[− 1 1] i  =
B
u

ε= L
L u j  ∫ f (x )δudx = δu
T
P
BBBB BBBB
uuuu uuuu

δε = δ 0
L L L
∆ε = ∆
∫ Aσ(ε)δεdx = ∑ A ∫ σδu ∑ A ∫ σB dx
T T T T
B dx = δu
0 0 0

 L
dσ T  L
 ∑ A∫ B Bdx ∆u = P − ∑ A ∫ σBT dx
 dε 
 0  0

Vector de fuerzas
Matriz de rigidez tangente K T
Incremento de nodales aplicadas r: vector de fuerzas residuales
desplazamientos
Esto no es más que la condición de
equilibrio, si es 0 está OK
K∆u=r
RSM/2009 3
METODO ITERATIVO DE SOLUCION, NEWTON RAPHSON

1) Asumir u=0
2) Calcular r=F-ΣAσ∫BTdx=F
3) While ║r║≠0
Calcular KT
Resolver KT∆u=r para ∆u
u=u+∆u
Calcular r

Cálculo de KT
• Obtener vector de desplazamientos del elemento ue glob a partir de u
• Transformar ue glob=[u1 v1 u2 v2]T de coordenadas a globales a locales: ue = A ue glob
• ε=B ue (escalar)
• Obtener dσ/dε de la relación constitutiva
dσ  1 − 1
eeee
kkkk

=A y transformar: Ke= ATkeA


dε − 1 1 
• Calcular
• Agregar a la matriz de rigidez global KT
• Repetir para todos los elementos RSM/2009 4
Cálculo de vector residual r
• Obtener vector de desplazamientos del elemento ue glob a partir de u
• Transformar ue glob=[u1 v1 u2 v2]T de coordenadas a globales a locales: ue = A ue glob
• ε=B ue
• Obtener σ de la relación constitutiva
− 1
eeee

eeee

eeee
pppp

PPPP

pppp
• Calcular = σA   ; = AT y transformar: Ke= ATkeA
1
• Repetir para todos los elementos y ensamblar
• r=F-P (vector)

RSM/2009 5
Ejemplo numérico (para verificación)

P σ = 10000 ε (ksi)
dσ 5000
=
dε ε
100 in

A=10 in2 P (kips) ∆ (in)


0 0
1000 0.01
2000 0.04
3000 0.09
200 in (simétrico)
4000 0.16
6000 0.36
8000 0.64
Para P=10000 kips, la fuerzas en las barras es ±7071 kips.
10000 1.0

Observación: al definir una función en MATLAB que evalúe σ, para este caso particular hay una
singularidad en ε=0. Para solucionar esto, definir un valor de dσ/dε grande en las cercanías de 0.

RSM/2009 6
VIGAS Si tenemos una estimación de la deformada, pero no se satisface
el PTV, podemos calcular v”, luego obtener M a partir del
L L
∫ Mdδθ = ∫ q( x ) ⋅ δv ⋅ dx diagrama momento-curvatura. Si expandimos M usando series
0 0 de Taylor de primer orden:
dδθ = δv" dx
dM 1 d 2M
M = EIv" M (v"+ ∆v") = M (v") + ∆v"+ 2
∆v"2 ....
L L
dv" 2 dV"
∫ Mδv' '⋅dx = ∫ q ( x ) ⋅ δv ⋅ dx L dM  L
0 0
∫0  dv" 
M + ∆ v" δv ' '⋅dx = ∫0 q(x) ⋅ δv ⋅ dx
L  dM  L L
∫0

 dv"
∆v"δv' '⋅dx = ∫ q ( x ) ⋅ δv ⋅ dx − ∫ Mδv' '⋅dx
 0 0
M
ui 
M+(dM/dv”)∆v” Usando v 
 i
 θi 
v( x ) = [0 N1 N 4 ]  =

N
u
N2 0 N3
u j 
v j 
 
 θ j 
NNNN

dV d
= [0 N '1 N '2 0 N'3 N '4 ]
uuuu

uuuu
v' = =
dx dx
v' ' = [0 N ' '1 N' '2 0 N ' '3 N ' '4 ]

uuuu
∆v” v”
RSM/2009 7
LdM L L
∑ ∫0 dv" ( N" ∆ u )( N" δu ) ⋅ dx = ∑ ∫0 q ( x ) ⋅ N δu ⋅ dx − ∑ ∫0 M(N"δu ) ⋅ dx
 
 
 L dM 
δu T  ∑ ∫ N"T N"⋅dx ∆u = δu T ∑  ∫ q ( x ) ⋅ N T δu ⋅ dx − ∫ N"T M ⋅ dx 
L L

144 1 4 
424443
0 dv" 0 0
44 42444 3 1 42
4 43
 
K 
1444444424444444 F P
3
r Vector de fuerzas nodales
Incremento de elementales correspondientes
Matriz de rigidez tangente KT Fuerzas externas
desplazamientos a cierta distribución de
Relacionada con (EI)T momento M

r: vector de fuerzas residuales

ALGORITMO BASICO DE SOLUCION. NEWTON RAPHSON.


1) Asumir u=0
2) Calcular r=F-ΣAσ∫BTdx=F
3) While ║r║≠0
L dM T
Calcular KT= ∑∫ 0 dv"
N" N"⋅dx

Resolver KT∆u=r para ∆u


u=u+∆u
 F − L N"T M ⋅ dx 
Calcular r = ∑  ∫0RSM/2009 8
Cálculo de KT
1) Asumamos que los efectos axiales y de flexión estás desacoplados. Esto permite concentrarse solo los
efectos de momento-curvatura (M-Φ), luego sólo se agregan los términos EA/L a KT.
P=0
M
Por ejemplo si fuera una viga de hormigón armado o pretensado,
podríamos tener diferentes curvas momento-curvatura para
M2 diferentes niveles de fuerza axial.
(EI)2 P=0.1f’cAg
Debemos ser capaces de calcular dM/dΦ=EItangente
M1
(EI)1
M1
M2

x=0 x=L
Φ1 Φ2 Φ
2. En cada extremo del elemento, calcular Φ=v”. Para esto, obtener vector de desplazamientos del
elemento ue glob a partir de u, transformar ue glob a coordenadas locales: ue = A ue glob
v" x = 0 = N" (0)u e ; v" x = L = N" (L)u e

3. Con esto calculamos (EI)1 y (EI)2. Analogía con enrejado:


4. Si tenemos una expresión de matriz de rigidez para momento de inercia Viga Enrejado
variable linealmente dentro de un elemento, podemos asumir una variación
lineal de EI y calcular kT. Si no es así, podemos ocupar nuestra matriz de Φ ε
rigidez usual, con el valor promedio de EI=(EI1+EI2)/2. Puede ser que la Usar N” para Ε=Bue
convergencia sea más lenta. obtener v”
5. Luego transformarla, Ke= ATkeA, y agregar a la matriz de rigidez global KT.
6. Repetir para todos los elementos dM/dΦ=EI dσ/dε=E
RSM/2009 9
Cálculo de r = ∑  F − ∫0 N" M ⋅ dx 
L
T

L
Para un elemento ∫0
N"T M ⋅ dx es el vector de fuerzas nodales correspondiente a un cierto diagrama de
momento.

M2 M2
M1 M1
S1 S2
x=0 x=L
-Tenemos la relación M-Φ
- tenemos el vector de desplazamientos actual U
- obtenemos Ue
- calculamos
v" x = 0 = N" (0)u e ; v" x = L = N" (L)u e
1442443 1442443
M1 M2
Por equilibrio, S1=(M1+M2)/L; S2=-S1. Ahora se debe asignar los signos correspondientes.

Si v”(0) > 0 → diag. de momento > 0 → M1 (-)


Para v”(0), leer │M│ de curva M-Φ y M1=-M
Si v”(0) < 0 → diag. de momento < 0 → M1 (+)
Si v”(L) > 0 → diag. de momento > 0 → M2 (+)
Para v”(L), leer │M│ de curva M-Φ y M2=M
Si v”(L) < 0 → diag. de momento < 0 → M2 (-)

RSM/2009 10
Finalmente,

 − σA 
 M1 + M 2 
 L  Obtenerlos como se hizo para enrejados no lineales y acoplar,
 M1  en caso de considerar no linearidad axial
p =
e
 Ojo, a esto hay que agregar los kip
 σA 
 − M1 + M 2 
 L 
 M1 
 

RSM/2009 11
EJEMPLO NUMERICO
E=29000 ksi
P Fy=36 ksi
W 24x117 I=3540 in4
Sx =291 in3
A=34.4 in2 Después de la fluencia, se asume
20’ 20’ una disminución de la rigidez flexural
a un 10% de la rigidez original

Respuesta elástica M
- 3PL/16
My=Fy·Sx 0.1EI
-

5PL/32
Φy=My / EI Φ

My=10300 kips-in
Py=114.44 kips

RSM/2009 12
RESULTADOS PARA P=150 KIPS, CONVERGENCIA

# elementos ∆ en el centro M en el apoyo M en el centro # iteraciones


finitos (in) (kips-in) (kips-in) (tolerancia=10-3)
2 3.3395 12341 11829 44

4 3.0120 12335 11822 29

6 2.6372 12398 11794 31

8 2.3990 12465 11763 33

10 2.2394 12526 11733 34

20 1.9100 12779 11610 47


40 1.8630 12706 11647 1000 ?
100 1.8551 12698 11651 1000 ?

? : 1000 fue el # máximo de iteraciones definido, el error no disminuye al aumentar las iteraciones.

Observar que el momento converge rápidamente comparado con la deflexión. Razón: diagrama de
momento es lineal (esto es por estática), mientras que la deformada es cúbica.
RSM/2009 13
PREDICCION CON 20 ELEMENTOS

Carga vs desplazamiento

Se produce una disminución de la pendiente al alcanzar la carga que produce el momento de


fluencia
Notar que si se hace un análisis lineal para un cierto desplazamiento en el rango no lineal, se
sobreestima la carga en la viga, y para una cierta carga, también en el rango no lineal, se subestima
el desplazamiento. Analogía con factor R?
RSM/2009 14
E=29000 ksi
M
Fy=50 ksi
I=474.4 in4 My=Fy·Sx 0.1EI
Sx =77.77 in3
A=17 in2

Φy=My / EI Φ

# elementos finitos ∆ lateral (in)


Convergencia, con mallado uniforme, por barra
para P=200 kips. 1 6.263
Nota: en este problema se debió utilizar 2 6.064
una matriz de rigidez especial, con 4 4.311
variación lineal de EI en el largo del
elemento. Con la matriz de rigidez usual 8 3.804
habían problemas de convergencia y falta 12 3.764
de equilibrio.
20 3.702
50 3.686
100
RSM/2009 3.683 15
Se puede obtener mejores resultados y convergencia más rápida refinando localmente la malla de
elementos finitos en los extremos de la viga y columnas.

RSM/2009 16
APENDICE. TIPS PARA LA PROGRAMACION.

Despues de definida la estructura, secciones y material:

u=zeros(ngl,1);u(fixed)=u_known;
del_u=zeros(ngl,1);
[P]=equivalent_nodal_forces(nbarrs,BARS,COOR,material,section,u,section_properties,material_properties,ngl,HINGES,LOADS);

% Computes residual force vector


r=FORCES(free)-P(free);

% Convergence criterion
tol=1e-3;
error=norm(r)/norm(FORCES(free));
n_iter=1;

while ((error>tol) & (n_iter<1000))


[K]=global_tangent_stiffness_matrix(ngl,nbarrs,BARS,COOR,material,section,material_properties,section_properties,HINGES,u);
del_u(free)=K(free,free)\r;
u=u+del_u;
[P,local_forces]=equivalent_nodal_forces(nbarrs,BARS,COOR,material,section,u,section_properties,material_properties,ngl,HINGES,LOADS);
r=FORCES(free)-P(free);
n_iter=n_iter+1;
error=norm(r)/norm(FORCES(free));
end

RSM/2009 17
Funcion equivalent_nodal_forces

function [P,local_forces]=equivalent_nodal_forces(nbarrs,BARS,COOR,material,section,u,section_properties,material_properties,ngl,HINGES,LOADS);

P=zeros(ngl,1);pe=zeros(6,1);Pe=zeros(6,1);Ue=zeros(6,1); local_forces=zeros(nbarrs,6);

for k=1:nbarrs
% reads the number of the initial node of the k-barr and stores it at i
i=BARS(k,2);
% reads the number of the final node of the k-barr and stores it at j
j=BARS(k,3);
Lo mismo de siempre
in=[3*i-2,3*i-1,3*i,3*j-2,3*j-1,3*j];
% reads the coordinates x and y of the initial and final nodes of the k-barr
xi=COOR(i,2); yi=COOR(i,3); xj=COOR(j,2); yj=COOR(j,3);
% Computes the length of the barr
L=sqrt((xj-xi)^2+(yj-yi)^2);
% Transformation matrix
s=(yj-yi)/L; c=(xj-xi)/L;
T3=[c s 0;-s c 0;0 0 1];T=[T3 zeros(3);zeros(3) T3];

E=material_properties(material(k,2),2); % only for axial terms


G=material_properties(material(k,2),3);
A=section_properties(section(k,2),2);
%I=section_properties(section(k,2),3); %does not matter
alfa=section_properties(section(k,2),4);

%Axial deformation matrix B


B=1/L*[-1 1];
%Second derivarive of shape functions
Npp_0=[-6/L^2 -4/L 6/L^2 -2/L];
Npp_L=[6/L^2 2/L -6/L^2 4/L]; N”
Ue=u(in);ue=T*Ue;

epsilon=B*ue([1 4]); Fuerzas axiales desacopladas de la flexión. Calculadas considerando


pe([1 4])=epsilon*E*A*[-1 1]';
que no hay nolinearidad axial (F=E*A*ε)
vpp_0=Npp_0*ue([2 3 5 6]);
vpp_L=Npp_L*ue([2 3 5 6]); curvatura RSM/2009 18
[EI1,M1]=get_M_and_EI(vpp_0,k,material);M1=-M1;
[EI2,M2]=get_M_and_EI(vpp_L,k,material); Cálculo de EI y de los momentos a partir de la
EI=(EI1+EI2)/2;
pe([2 3 5 6])=[(M1+M2)/L M1 -(M1+M2)/L M2]';
curva momento-curvatura, y calculo de fuerzas
nodales debido a momento
if (G*A*alfa)==0
r=L^3/(12*EI); else; r=L/(G*A*alfa)+L^3/(12*EI);
end Definido un EI para el elemento
% Element stiffness matrix in local coordinates (ojo, no se considera no linearidad
KL1= [E*A/L 0 0 -E*A/L 0 0 al corte), lo mismo de siempre:
0 1/r L/(2*r) 0 -1/r L/(2*r)
0 L/(2*r) EI/L+L^2/(4*r) 0 -L/(2*r) L^2/(4*r)-EI/L Matriz de rigidez coor. Locales,
-E*A/L 0 0 E*A/L 0 0
0 -1/r -L/(2*r) 0 1/r -L/(2*r) rotulas internas, transformación, kip
0 L/(2*r) L^2/(4*r)-EI/L 0 -L/(2*r) EI/L+L^2/(4*r)]; considerando rotulas,
transformacion a coor. globales.
% Reads the hinge data of the bar
hing=[HINGES(k,6) HINGES(k,4) HINGES(k,2) HINGES(k,7) HINGES(k,5) HINGES(k,3)];
f=find(hing==0);l=find(hing);KLc=KL1(f,f)-KL1(f,l)*KL1(l,l)^-1*KL1(l,f);KL=zeros(6);KL(f,f)=KLc;
Ojo, esta función es para calcular
% Element stiffness matrix in global coordinates las fuerzas nodales equivalentes,
KE=T'*KL*T;
para que necesitamos entonces la
% reads q,P,a of the element matriz de rigidez?
qx=LOADS(k,2);Px=LOADS(k,4);qy=LOADS(k,3);Py=LOADS(k,5);a=LOADS(k,6);
Sólo para poder calcular los kip
% Computation of Kip for uniform distributed load
qt=qy*c-qx*s; ql=qy*s+qx*c; considerando rotulas internas, si
kpq=[-ql*L/2; -qt*L/2; -qt*L^2/12; -ql*L/2; -qt*L/2; qt*L^2/12]; no fuera necesario, saltarse todo
% Computation of Kip for point load
Pt=Py*c-Px*s;Pl=Py*s+Px*c;
esto.
kpP=[-Pl*(1-a/L); -Pt*(L-a)^2*(L+2*a)/L^3; -Pt*a*(L-a)^2/L^2; -Pl*a/L; -Pt*a^2*(L+2*(L-a))/L^3; Pt*a^2*(L-a)/L^2];
kip=kpq+kpP;
kip_c=kip(f)-KL1(f,l)*(KL1(l,l)^-1)*kip(l);kip=zeros(6,1);kip(f)=kip_c;

pe=pe+kip;Pe=T'*pe;
P(in)=P(in)+Pe;
Sumar los kip al vector p; esto da las fuerzas locales en el elemento.
local_forces(k,:)=pe';

end RSM/2009 19
Relación momento-curvatura

function [EI_tang,moment]=get_M_and_EI(phi,k,material);

if (material(k,2)==1)
En este archivo se puede definir diferentes materiales, o en realidad,
E=29000; sección-material. Esto reemplaza la base de datos de materiales que
I=3540;
S=291;
entregaba E (igual sería necesario mantenerla para asignar G y α)
Fy=36;
My=Fy*S;
phi_y=My/(E*I); Curvatura de fluencia
EI1=E*I;
EI2=0.1*E*I;

if (abs(phi) <= phi_y)


moment=EI1*phi;
EI_tang=EI1;
else
Definición de curva momento-curvatura
if (phi < -phi_y)
moment=-My-(-phi_y-phi)*EI2;
(ver slides 10 y 12)
EI_tang=EI2;
else
if (phi > phi_y)
moment=My+(phi-phi_y)*EI2;
EI_tang=EI2;
else
end
end
end
end

RSM/2009 20
Matriz de rigidez elemental
function
[KE,in,EI1,EI2,EI,L]=element_tangent_stiffness_matrix2(k,BARS,COOR,material,section,material_properties,section_properties,HINGES,u,LOADS);

i=BARS(k,2);j=BARS(k,3);xi=COOR(i,2); yi=COOR(i,3); xj=COOR(j,2); yj=COOR(j,3);L=sqrt((xj-xi)^2+(yj-yi)^2);in=[3*i-2,3*i-1,3*i,3*j-2,3*j-1,3*j];

E=material_properties(material(k,2),2); % only for axial terms


G=material_properties(material(k,2),3);A=section_properties(section(k,2),2);
%I=section_properties(section(k,2),3); % does not matter
alfa=section_properties(section(k,2),4);

s=(yj-yi)/L; c=(xj-xi)/L;T3=[c s 0;-s c 0;0 0 1];T=[T3 zeros(3);zeros(3) T3];

%Second derivarive of shape functions


Npp_0=[-6/L^2 -4/L 6/L^2 -2/L]; Npp_L=[6/L^2 2/L -6/L^2 4/L];

Ue=u(in);ue=T*Ue; Esto es lo único diferente, la determinación de


vpp_0=Npp_0*ue([2 3 5 6]);vpp_L=Npp_L*ue([2 3 5 6]);
EI a partir de M-Φ
[EI1,M1]=get_M_and_EI(vpp_0,k,material);M1=-M1;
[EI2,M2]=get_M_and_EI(vpp_L,k,material);
EI=(EI1+EI2)/2;

if (G*A*alfa)==0; r=L^3/(12*EI); else; r=L/(G*A*alfa)+L^3/(12*EI);end

KL1= [E*A/L 0 0 -E*A/L 0 0


0 1/r L/(2*r) 0 -1/r L/(2*r)
0 L/(2*r) EI/L+L^2/(4*r) 0 -L/(2*r) L^2/(4*r)-EI/L
-E*A/L 0 0 E*A/L 0 0
0 -1/r -L/(2*r) 0 1/r -L/(2*r)
0 L/(2*r) L^2/(4*r)-EI/L 0 -L/(2*r) EI/L+L^2/(4*r)];

hing=[HINGES(k,6) HINGES(k,4) HINGES(k,2) HINGES(k,7) HINGES(k,5) HINGES(k,3)];


f=find(hing==0);l=find(hing);KLc=KL1(f,f)-KL1(f,l)*KL1(l,l)^-1*KL1(l,f);KL=zeros(6);KL(f,f)=KLc;

% Element stiffness matrix in global coordinates


KE=T'*KL*T;

RSM/2009 21

También podría gustarte