Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1 Sistema de Resortes
GABRIEL ALEXANDER JAYA MALDONADO
Funciones asociadas
• SpringElementStiffness
• SpringAssemble
• SpringElementForces
clear
clc
close all
PARTE 1
PREPROCESAMIENTO
1
Rigidez de los resortes
k1 = 4; % N/m
k2 = 2*k1;
k3 = k1;
k = [k1;k2;k3] % N/m
k = 3×1
4
8
4
Número de nodos
NumeroNodos = 4
NumeroNodos = 4
Grados de libertad
grado_libert_nodo = 1;
grado_libertad = NumeroNodos*grado_libert_nodo
grado_libertad = 4
Conectividad
conectividad = [[1,2];[2,3];[4,3]]
conectividad = 3×2
1 2
2 3
4 3
PROCESAMIENTO
Inicialización de variables
K_global = zeros(grado_libertad);
U_global = zeros(grado_libertad, 1);
F_global = zeros(grado_libertad, 1);
[numero_elementos,~] = size(k)
2
numero_elementos = 3
for i =1:numero_elementos
matriz_k = SpringElementStiffness(k(i));
K_global = SpringAssemble(K_global,matriz_k,conectividad(i,:));
end
K_global % N/m
K_global = 4×4
4 -4 0 0
-4 12 -8 0
0 -8 12 -4
0 0 -4 4
desplazamientos_incognitas = [2,3];
fuerzas_incognitas = [1,4];
K_u = K_global(desplazamientos_incognitas,desplazamientos_incognitas) % N/m
K_u = 2×2
12 -8
-8 12
K_f = 2×2
-4 0
0 -4
p = 2; % N
f2 = -p; % N
f3 = 4*p; % N
F_datos = [f2;f3] % Newton
F_datos = 2×1
-2
8
U_incog = 2×1
0.5000
1.0000
F_incog = 2×1
-2.0000
-4.0000
3
POSTPROCESAMIENTO
[~,numero_u_incog] = size(desplazamientos_incognitas);
for i=1:numero_u_incog
U_global(desplazamientos_incognitas(i)) = U_incog(i);
end
U_global % metros
U_global = 4×1
0
0.5000
1.0000
0
[~,numero_f_incog] = size(fuerzas_incognitas);
for i=1:numero_f_incog
F_global(fuerzas_incognitas(i)) = F_incog(i);
end
[~,numero_u_incog] = size(desplazamientos_incognitas);
for i=1:numero_u_incog
F_global(desplazamientos_incognitas(i)) = F_datos(i);
end
F_global % Newton
F_global = 4×1
-2.0000
-2.0000
8.0000
-4.0000
u = cell(numero_elementos,1);
for i=1:numero_elementos
u{i} = U_global(conectividad(i,:));
end
u % metros
u = 3×1 cell
1
1 [0;0.5000]
2 [0.5000;1]
3 [0;1]
4
Fuerzas en los elementos de resorte
Celdas
f = cell(numero_elementos,1);
for i=1:numero_elementos
f{i} = SpringElementForces(k(i),u{i});
end
f % Newton
f = 3×1 cell
1
1 [-2;2]
2 [-4;4]
3 [-4;4]
PARTE 2
PROCESAMIENTO
Datos de Desplazamientos y fuerzas
U2 = -0.25/100 % metros
U2 = -0.0025
F3 = 8; % Newton
K_global = 4×4
4 -4 0 0
-4 12 -8 0
0 -8 12 -4
0 0 -4 4
U3 = 0.6667
U_parte_2 = 4×1
0
-0.0025
5
0.6667
0
POSTPROCESAMIENTO
Fuerzas globales
F_global_parte_2 = K_global*U_parte_2
F_global_parte_2 = 4×1
0.0100
-5.3633
8.0200
-2.6667
u2 = cell(numero_elementos,1);
for i=1:numero_elementos
u2{i} = U_parte_2(conectividad(i,:));
end
u2 % metros
u2 = 3×1 cell
1
1 [0;-0.0025]
2 [-0.0025;0....
3 [0;0.6667]
f2 = cell(numero_elementos,1);
for i=1:numero_elementos
f2{i} = SpringElementForces(k(i),u2{i});
end
f2 % f en Newton
f2 = 3×1 cell
1
1 [0.0100;-0....
2 [-5.3533;5....
3 [-2.6667;2....