You are on page 1of 10

Resolución de una estructura reticulada plana con

fuerzas y desplazamientos impuestos


Santiago Quezada Luna

Funciones asociadas

• PlaneTrussElementLength
• PlaneTrussElementAngle
• PlaneTrussElementStiffness
• PlaneTrussAssemble
• PlaneTrussElementForce
• PlaneTrussElementStress

Limpia la ventana de comandos

clear
close
clc

1
PREPROCESAMIENTO

Modulo = 70e9;

Area = [125,200,500]

Area = 1×3
125 200 500

conectividad = [[1,2];... %elemento 1


[1,3];... %elemento 2
[1,4]] %elemento 3

conectividad = 3×2
1 2
1 3
1 4

%elemento 4

coordenadas nodales

Coordenadas= [[1800,0, 0];...


[0, 0,-1200];...
[0, 900, 0];...
[0, 900, 1800]]

Coordenadas = 4×3
1800 0 0
0 0 -1200
0 900 0
0 900 1800

PROCESAMIENTO

2
[NumeroElementos,NodosElemento] = size(conectividad)

NumeroElementos = 3
NodosElemento = 2

[NumeroNodos,~] = size(Coordenadas)

NumeroNodos = 4

Matrices de rigidez

GradosLibertadNodo=3

GradosLibertadNodo = 3

GradosLibertadEstructura = GradosLibertadNodo*NumeroNodos

GradosLibertadEstructura = 12

L=zeros(NumeroElementos,1)

L = 3×1
0
0
0

Angulo=zeros(NumeroElementos,3)

Angulo = 3×3
0 0 0
0 0 0
0 0 0

K=zeros(GradosLibertadEstructura)

K = 12×12
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 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
%especificar la conectividad de cada uno de los elementos
i=conectividad(Elemento,1);
j=conectividad(Elemento,2);

3
%Determinar la longitud
L(Elemento)=SpaceTrussElementLength(Coordenadas(i,:),Coordenadas(j,:))

%Determinar los angulos


Angulo(Elemento,:)=SpaceTrussElementAngles(Coordenadas(i,:),Coordenadas(j,:),L(Elemento))

%matriz de rigidez
k=SpaceTrussElementStiffness(Modulo,Area(Elemento),L(Elemento),Angulo(Elemento,:))
K=SpaceTrussAssemble(K,k,conectividad(Elemento,:))
end

L = 3×1
103 ×
2.1633
0
0
Angulo = 3×3
146.3099 90.0000 123.6901
0 0 0
0 0 0
k = 6×6
109 ×
2.8002 0 1.8668 -2.8002 0 -1.8668
0 0 0 0 0 0
1.8668 0 1.2445 -1.8668 0 -1.2445
-2.8002 0 -1.8668 2.8002 0 1.8668
0 0 0 0 0 0
-1.8668 0 -1.2445 1.8668 0 1.2445
K = 12×12
109 ×
2.8002 0 1.8668 -2.8002 0 -1.8668 0 0
0 0 0 0 0 0 0 0
1.8668 0 1.2445 -1.8668 0 -1.2445 0 0
-2.8002 0 -1.8668 2.8002 0 1.8668 0 0
0 0 0 0 0 0 0 0
-1.8668 0 -1.2445 1.8668 0 1.2445 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

L = 3×1
103 ×
2.1633
2.0125
0
Angulo = 3×3
146.3099 90.0000 123.6901
153.4349 63.4349 90.0000
0 0 0
k = 6×6
109 ×
5.5653 -2.7827 0 -5.5653 2.7827 0
-2.7827 1.3913 0 2.7827 -1.3913 0
0 0 0 0 0 0
-5.5653 2.7827 0 5.5653 -2.7827 0
2.7827 -1.3913 0 -2.7827 1.3913 0
0 0 0 0 0 0

4
K = 12×12
109 ×
8.3655 -2.7827 1.8668 -2.8002 0 -1.8668 -5.5653 2.7827
-2.7827 1.3913 0 0 0 0 2.7827 -1.3913
1.8668 0 1.2445 -1.8668 0 -1.2445 0 0
-2.8002 0 -1.8668 2.8002 0 1.8668 0 0
0 0 0 0 0 0 0 0
-1.8668 0 -1.2445 1.8668 0 1.2445 0 0
-5.5653 2.7827 0 0 0 0 5.5653 -2.7827
2.7827 -1.3913 0 0 0 0 -2.7827 1.3913
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0

L = 3×1
103 ×
2.1633
2.0125
2.7000
Angulo = 3×3
146.3099 90.0000 123.6901
153.4349 63.4349 90.0000
131.8103 70.5288 48.1897
k = 6×6
109 ×
5.7613 -2.8807 -5.7613 -5.7613 2.8807 5.7613
-2.8807 1.4403 2.8807 2.8807 -1.4403 -2.8807
-5.7613 2.8807 5.7613 5.7613 -2.8807 -5.7613
-5.7613 2.8807 5.7613 5.7613 -2.8807 -5.7613
2.8807 -1.4403 -2.8807 -2.8807 1.4403 2.8807
5.7613 -2.8807 -5.7613 -5.7613 2.8807 5.7613
K = 12×12
1010 ×
1.4127 -0.5663 -0.3895 -0.2800 0 -0.1867 -0.5565 0.2783
-0.5663 0.2832 0.2881 0 0 0 0.2783 -0.1391
-0.3895 0.2881 0.7006 -0.1867 0 -0.1245 0 0
-0.2800 0 -0.1867 0.2800 0 0.1867 0 0
0 0 0 0 0 0 0 0
-0.1867 0 -0.1245 0.1867 0 0.1245 0 0
-0.5565 0.2783 0 0 0 0 0.5565 -0.2783
0.2783 -0.1391 0 0 0 0 -0.2783 0.1391
0 0 0 0 0 0 0 0
-0.5761 0.2881 0.5761 0 0 0 0 0

K = 12×12
1010 ×
1.4127 -0.5663 -0.3895 -0.2800 0 -0.1867 -0.5565 0.2783
-0.5663 0.2832 0.2881 0 0 0 0.2783 -0.1391
-0.3895 0.2881 0.7006 -0.1867 0 -0.1245 0 0
-0.2800 0 -0.1867 0.2800 0 0.1867 0 0
0 0 0 0 0 0 0 0
-0.1867 0 -0.1245 0.1867 0 0.1245 0 0
-0.5565 0.2783 0 0 0 0 0.5565 -0.2783
0.2783 -0.1391 0 0 0 0 -0.2783 0.1391
0 0 0 0 0 0 0 0
-0.5761 0.2881 0.5761 0 0 0 0 0

5
Matriz
incognitas = [1,3] % incognitas en los desplzamientos

incognitas = 1×2
1 3

Ka = K(incognitas, incognitas)

Ka = 2×2
1010 ×
1.4127 -0.3895
-0.3895 0.7006

fuerzas y desplazamiento impuesto

Fa=[0;-5000]

Fa = 2×1
0
-5000

Ua=Ka\Fa

Ua = 2×1
10-6 ×
-0.2324
-0.8429

Calculo
Ua= Ka\Fa

Ua = 2×1
10-6 ×

6
-0.2324
-0.8429

U = zeros(GradosLibertadEstructura,1);
U(1)=Ua(1);
U(3)=Ua(2);
U

U = 12×1
10-6 ×
-0.2324
0
-0.8429
0
0
0
0
0
0
0

POSTPROCESAMIENTO

F=K*U

F = 12×1
103 ×
0.0000
-1.1120
-5.0000
2.2241
0
1.4827
1.2932
-0.6466
0
-3.5173

inicializar las variables

7
u=zeros(NumeroElementos,GradosLibertadNodo*NodosElemento);
f=zeros(NumeroElementos,1);
S=zeros(NumeroElementos,1);

for Elemento=1:NumeroElementos
Elemento

i=conectividad(Elemento,1);
j=conectividad(Elemento,2);

unodal=[U(3*i-2),U(3*i-1),U(3*i),U(3*j-2),U(3*j-1),U(3*j)]
u(Elemento,:)=unodal

f(Elemento)=SpaceTrussElementForce(Modulo,Area(Elemento),L(Elemento),Angulo(Elemento,:),uno

S(Elemento)=SpaceTrussElementStress(Modulo,L(Elemento),Angulo(Elemento,:),unodal')
end

Elemento = 1
unodal = 1×6
10-6 ×
-0.2324 0 -0.8429 0 0 0
u = 3×6
10-6 ×
-0.2324 0 -0.8429 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
f = 3×1
103 ×
-2.6730
0
0
S = 3×1
-21.3842
0
0
Elemento = 2
unodal = 1×6
10-6 ×
-0.2324 0 -0.8429 0 0 0
u = 3×6
10-6 ×
-0.2324 0 -0.8429 0 0 0
-0.2324 0 -0.8429 0 0 0
0 0 0 0 0 0
f = 3×1
103 ×
-2.6730
-1.4458
0
S = 3×1
-21.3842
-7.2291
0
Elemento = 3
unodal = 1×6
10-6 ×

8
-0.2324 0 -0.8429 0 0 0
u = 3×6
10-6 ×
-0.2324 0 -0.8429 0 0 0
-0.2324 0 -0.8429 0 0 0
-0.2324 0 -0.8429 0 0 0
f = 3×1
103 ×
-2.6730
-1.4458
5.2759
S = 3×1
-21.3842
-7.2291
10.5518

init(vars, numRows, rowLabels, numVars, varnames, varDimName)

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

ans = 3×7 table

Var1 Var2 Var3 Var4 Var5 Var6

1 1 -2.3236e-07 0 -8.4286e-07 0 0
2 2 -2.3236e-07 0 -8.4286e-07 0 0
3 3 -2.3236e-07 0 -8.4286e-07 0 0

array2table([(1:NumeroElementos)',f/1000,S])

ans = 3×3 table


Var1 Var2 Var3

1 1 -2.6730 -21.3842
2 2 -1.4458 -7.2291
3 3 5.2759 10.5518

9
10

You might also like