Está en la página 1de 8

UNIVERSIDAD POLITECNICA SALESIANA

_________________________________________________________________

Fundamentos de Elementos Finitos

Nombre: Alfonso Jimenez

Deber 2.1
Determinar los desplazamientos nodales, asi como las fuerzas y esfuerzos nodales. Aplicando bloques de
repeticion.

Funciones asociadas

• PlaneTrussElementLength
• PlaneTrussElementAngle
• PlaneTrussElemenetStiffness
• PlaneTrussAssemble
• PlaneTrussElement Force
• PlaneTrussElementForce
• PlaneTrussElement

Limpiamos valores y variables

clear
close
clc

1
PREPROCESAMIENTO
Datos del Problema

Modulo=30e6 %psi

Modulo = 30000000

Area=3 %inch

Area = 3

Matriz de Conectividad

Conectividad=[ [1,3];...
[1,2];...
[2,3];...
[2,4];...
[3,4]]

Conectividad = 5×2
1 3
1 2
2 3
2 4
3 4

Coordenadas nodales

%Los coordenas de los nodos se considera en inch para el calculo


disp('COORDENAS DEL ELEMENTO [INCH]')

COORDENAS DEL ELEMENTO [INCH]

Coordenadas=[[0,0];...
[120,0];...
[120,120];...
[240,0]]

Coordenadas = 4×2
0 0
120 0
120 120
240 0

PROCESAMIENTO
Numero de elementos y nodos por elemento

[NumeroElementos,NodosElemento]=size(Conectividad)

NumeroElementos = 5
NodosElemento = 2

2
Numero de nodos del sistema

[NumeroNodos,~]=size(Coordenadas)

NumeroNodos = 4

Grados de libertad

Gradoslibertad=2*NumeroNodos

Gradoslibertad = 8

Matriz de rigidez de los Elementos

L=zeros(NumeroElementos,1) %Inicializamos vetor longitud

L = 5×1
0
0
0
0
0

Angulo=zeros(NumeroElementos,1) %Inicializamos el vector angulos

Angulo = 5×1
0
0
0
0
0

K=zeros(Gradoslibertad)

K = 8×8
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

for Elemento=1:NumeroElementos
%Especifica la conectividad de nodo 1 y 2 de cada elemento
i=Conectividad(Elemento,1) %nodo 1
j=Conectividad(Elemento,2) %nodo 2

L(Elemento)=PlaneTrussElementLength(Coordenadas(i,:),Coordenadas(j,:))

Angulo(Elemento)=PlaneTrussElementAngle(Coordenadas(i,:),Coordenadas(j,:))

k=PlaneTrussElementStiffness(Modulo,Area,L(Elemento),Angulo(Elemento))

3
K=PlaneTrussAssemble(K,k,Conectividad(Elemento,:))

end

i = 1
j = 3
L = 5×1
169.7056
0
0
0
0
Angulo = 5×1
45
0
0
0
0
k = 4×4
105 ×
2.6517 2.6517 -2.6517 -2.6517
2.6517 2.6517 -2.6517 -2.6517
-2.6517 -2.6517 2.6517 2.6517
-2.6517 -2.6517 2.6517 2.6517
K = 8×8
105 ×
2.6517 2.6517 0 0 -2.6517 -2.6517 0 0
2.6517 2.6517 0 0 -2.6517 -2.6517 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
-2.6517 -2.6517 0 0 2.6517 2.6517 0 0
-2.6517 -2.6517 0 0 2.6517 2.6517 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
i = 1
j = 2
L = 5×1
169.7056
120.0000
0
0
0
Angulo = 5×1
45
0
0
0
0
k = 4×4
750000 0 -750000 0
0 0 0 0
-750000 0 750000 0
0 0 0 0
K = 8×8
106 ×
1.0152 0.2652 -0.7500 0 -0.2652 -0.2652 0 0
0.2652 0.2652 0 0 -0.2652 -0.2652 0 0
-0.7500 0 0.7500 0 0 0 0 0
0 0 0 0 0 0 0 0
-0.2652 -0.2652 0 0 0.2652 0.2652 0 0
-0.2652 -0.2652 0 0 0.2652 0.2652 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

4
i = 2
j = 3
L = 5×1
169.7056
120.0000
120.0000
0
0
Angulo = 5×1
45
0
90
0
0
k = 4×4
0 0 0 0
0 750000 0 -750000
0 0 0 0
0 -750000 0 750000
K = 8×8
106 ×
1.0152 0.2652 -0.7500 0 -0.2652 -0.2652 0 0
0.2652 0.2652 0 0 -0.2652 -0.2652 0 0
-0.7500 0 0.7500 0 0 0 0 0
0 0 0 0.7500 0 -0.7500 0 0
-0.2652 -0.2652 0 0 0.2652 0.2652 0 0
-0.2652 -0.2652 0 -0.7500 0.2652 1.0152 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
i = 2
j = 4
L = 5×1
169.7056
120.0000
120.0000
120.0000
0
Angulo = 5×1
45
0
90
0
0
k = 4×4
750000 0 -750000 0
0 0 0 0
-750000 0 750000 0
0 0 0 0
K = 8×8
106 ×
1.0152 0.2652 -0.7500 0 -0.2652 -0.2652 0 0
0.2652 0.2652 0 0 -0.2652 -0.2652 0 0
-0.7500 0 1.5000 0 0 0 -0.7500 0
0 0 0 0.7500 0 -0.7500 0 0
-0.2652 -0.2652 0 0 0.2652 0.2652 0 0
-0.2652 -0.2652 0 -0.7500 0.2652 1.0152 0 0
0 0 -0.7500 0 0 0 0.7500 0
0 0 0 0 0 0 0 0
i = 3
j = 4
L = 5×1
169.7056
120.0000

5
120.0000
120.0000
169.7056
Angulo = 5×1
45
0
90
0
-45
k = 4×4
105 ×
2.6517 -2.6517 -2.6517 2.6517
-2.6517 2.6517 2.6517 -2.6517
-2.6517 2.6517 2.6517 -2.6517
2.6517 -2.6517 -2.6517 2.6517
K = 8×8
106 ×
1.0152 0.2652 -0.7500 0 -0.2652 -0.2652 0 0
0.2652 0.2652 0 0 -0.2652 -0.2652 0 0
-0.7500 0 1.5000 0 0 0 -0.7500 0
0 0 0 0.7500 0 -0.7500 0 0
-0.2652 -0.2652 0 0 0.5303 0 -0.2652 0.2652
-0.2652 -0.2652 0 -0.7500 0 1.2803 0.2652 -0.2652
0 0 -0.7500 0 -0.2652 0.2652 1.0152 -0.2652
0 0 0 0 0.2652 -0.2652 -0.2652 0.2652

Calculo de desplazamientos

%Matriz de rigidez particionada


ka=[K(3,3) K(3,4) K(3,5) K(3,6) K(3,7);...
K(4,3) K(4,4) K(4,5) K(4,6) K(4,7);...
K(5,3) K(5,4) K(5,5) K(5,6) K(5,7);...
K(6,3) K(6,4) K(6,5) K(6,6) K(6,7);...
K(7,3) K(7,4) K(7,5) K(7,6) K(7,7)]

ka = 5×5
106 ×
1.5000 0 0 0 -0.7500
0 0.7500 0 -0.7500 0
0 0 0.5303 0 -0.2652
0 -0.7500 0 1.2803 0.2652
-0.7500 0 -0.2652 0.2652 1.0152

Fa=[0; 0 ;8000; -8000; 0]

Fa = 5×1
0
0
8000
-8000
0

d=det(ka);
n=length(Fa);
U=zeros(n,1);
%Resolucion de ecuaciones de varias incognitas
for i=1:n
Ab=[ka(:,1:i-1),Fa,ka(:,i+1:n)];

6
U(i)=det(Ab)/d;
end
U3=(U(1));
U4=(U(2));
U5=(U(3));
U6=(U(4));
U7=(U(5));
disp('DESPLAZAMIENTOS NODALES GLOBALES')

DESPLAZAMIENTOS NODALES GLOBALES

U=[0; 0; U3; U4; U5; U6; U7; 0]

U = 8×1
0
0
0.0107
-0.0258
0.0258
-0.0258
0.0213
0

POSTPROCESAMIENTO
Calculo de fuerzas nodales

disp('FUERZAS NODALES GLOBALES')

FUERZAS NODALES GLOBALES

F=K*U

F = 8×1
103 ×
-8.0000
-0.0000
0
0.0000
8.0000
-8.0000
0.0000
8.0000

u=zeros(NumeroElementos,2*NodosElemento);
F=zeros(NumeroElementos,1);
S=zeros(NumeroElementos,1);
for Elementos=1:NumeroElementos
i=Conectividad(Elementos,1);
j=Conectividad(Elementos,2);
u_nodal=[U(2*i-1),U(2*i),U(2*j-1),U(2*j)];
u(Elementos,:)=u_nodal;

F(Elementos)=PlaneTrussElementForce(Modulo,Area,L(Elementos),Angulo(Elementos),u_nodal');
S(Elementos)=PlaneTrussElementStress(Modulo,L(Elementos),Angulo(Elementos),u_nodal');
end

7
Desplazamiento nodales y esfuerzos de cada elemento

disp('Desplazamientos Nodales en [INCH]')

Desplazamientos Nodales en [INCH]

array2table([(1:NumeroElementos)', u(:,1), u(:,2), u(:,3), u(:,4)],...


"VariableNames",{'Elemento','ui','vi','uj','vj'})

ans = 5×5 table


Elemento ui vi uj vj

1 1 0 0 0.0258 -0.0258
2 2 0 0 0.0107 -0.0258
3 3 0.0107 -0.0258 0.0258 -0.0258
4 4 0.0107 -0.0258 0.0213 0
5 5 0.0258 -0.0258 0.0213 0

disp('Fuerza [kips] y esfuerzos Nodales [PSI]')

Fuerza [kips] y esfuerzos Nodales [PSI]

array2table([(1:NumeroElementos)',F/1000,S],...
"VariableNames",{'Elemento','Fuerza[Kips]','Esfuerzo[PSI]'})

ans = 5×3 table


Elemento Fuerza[Kips] Esfuerzo[PSI]

1 1 0 4.5475e-13
2 2 8 2.6667e+03
3 3 -0 -1.8190e-12
4 4 8 2.6667e+03
5 5 -11.3137 -3.7712e+03

% Var Fuerza(Kips) Esfuerzo(psi)


% 1 F1 S1
% 2 F2 S2

También podría gustarte