Escolar Documentos
Profissional Documentos
Cultura Documentos
C.- CADA UNO UTILIZARA CARGAS DIFERENTES SEGÚN P = 10 + N , DONDE N ES EL ULTIMO DIGITO DE
SU CODIGO UNI.
Resolución:
Mi código es 20154050B por lo consiguiente, mi último dígito será 0, y la carga seguirá siendo
P=10.
Podemos escribir, para cada elemento, las ecuaciones de equilibrio:
Para el resorte 1:
UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de ingeniería mecánica
Laboratorio de Electrónica Industrial
Para el resorte 2:
Para el resorte 3:
1
UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de ingeniería mecánica
Laboratorio de Electrónica Industrial
En esta etapa, podemos calcular las reacciones F1, F3, F4, solo después del cálculo de los
desplazamientos globales. Podemos eliminar líneas y columnas del sistema, que corresponden a
u1 = u3 = u4 = 0, y reducir el sistema global a una ecuación.
Tenga en cuenta que la matriz de rigidez se obtuvo al "sumar" las contribuciones de cada elemento
en las líneas y columnas correctas correspondientes a cada elemento grados de libertad. Por
ejemplo, los grados de libertad del elemento 1 son 1 y 2, y la matriz de rigidez 2x2 de este elemento
se coloca en las líneas y columnas correspondientes de la matriz de rigidez global.
2
UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de ingeniería mecánica
Laboratorio de Electrónica Industrial
Para el elemento 3, los grados de libertad (globales) son 2 y 4 y la matriz de rigidez 2x2 de este
elemento se coloca en las líneas y columnas correspondientes de la matriz de rigidez global.
% Limpiar memoria
clear all
% Número de elementos
numberElements=size(elementNodes,1);
% Número de nodos
numberNodes=4;
% Para la estructura:
% desplazamientos: vector de desplazamiento
% fuerza: vector de fuerzas
% rigidez: matriz de rigidez
displacements=zeros(numberNodes,1);
force=zeros(numberNodes,1);
stiffness=zeros(numberNodes);
3
UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de ingeniería mecánica
Laboratorio de Electrónica Industrial
% solution
displacements=stiffness(activeDof,activeDof)\force(activeDof);
function displacements=solution(GDof,prescribedDof,stiffness,force)
% Función para encontrar solución en términos de desplazamientos globales
activeDof=setdiff([1:GDof],[prescribedDof]);
U=stiffness(activeDof,activeDof)\force(activeDof);
displacements=zeros(GDof,1);
displacements(activeDof)=U;
function
outputDisplacementsReactions(displacements,stiffness,GDof,prescribedDof)
% Salida de las reacciones
% GDof: Número de grados de libertad del problema
% Se muestran los desplazamientos
disp('Displacements')
jj=1:GDof; format
[jj' displacements]
% Se muestran las reacciones
F=stiffness*displacements;
reactions=F(prescribedDof);
disp('reactions')
[prescribedDof' reactions]
4
UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de ingeniería mecánica
Laboratorio de Electrónica Industrial
PROBLEMA 2:
En la figura siguiente se presenta una barra, realizar el mismo análisis del problema 1 y usar su código
para la carga (F = 3000 + XX, ULTIMOS 2 DIGITOS DEL CODIGO) EN NEWTONS
Resolución:
Como mi código UNI es 20154050B entonces F = 3000 + 50 = 3050 N
Siguiendo un procedimiento similar al anterior:
% problema2.m
clear all
% E: módulo de elasticidad
% A: área de la sección transversal
% L: longitud de la barra
E = 30e6; A=2; EA=E*A; L = 90;
% generación de coordenadas y las conectividades
% numberElements: Número de elementos
numberElements=3;
% generación de coordenadas espaciadas
nodeCoordinates=linspace(0,L,numberElements+1);
xx=nodeCoordinates;
5
UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de ingeniería mecánica
Laboratorio de Electrónica Industrial
elementNodes(:,2)=ii+1;
% Para la estructura:
% displacements: Vector de desplazamiento
% force: Vector fuerza
% stiffness: Matriz de rigidez
displacements=zeros(numberNodes,1);
force=zeros(numberNodes,1);
stiffness=zeros(numberNodes,numberNodes);
% Carga aplicada en el nodo 2
force(2)= 3050;
% Cálculo de la matriz de rigidez del sistema
for e=1:numberElements;
% elementDof: Grados de libertad
elementDof=elementNodes(e,:);
nn=length(elementDof);
length_element=nodeCoordinates(elementDof(2))-nodeCoordinates(elementDof(1));
detJacobian=length_element/2;
invJacobian=1/detJacobian;
% Punto central (xi=0; W=2)
[shape,naturalDerivatives]=shapeFunctionL2(0.0);
Xderivatives=naturalDerivatives*invJacobian;
% Matriz B
B=zeros(1,nn); B(1:nn) = Xderivatives(:);
stiffness(elementDof,elementDof)=stiffness(elementDof,elementDof)+B'*B*2*detJ
acobian*EA;
end
% Condiciones límite
fixedDof=find(xx==min(nodeCoordinates(:))| xx==max(nodeCoordinates(:)));
prescribedDof=[fixedDof];
activeDof=setdiff([1:numberNodes],[prescribedDof]);
% Solución
GDof=numberNodes;
displacements=solution(GDof,prescribedDof,stiffness,force);
% Reacciones y desplazamientos
outputDisplacementsReactions(displacements,stiffness,numberNodes,prescribedDo
f)
function displacements=solution(GDof,prescribedDof,stiffness,force)
% Función para encontrar solución en términos de desplazamientos globales
activeDof=setdiff([1:GDof],[prescribedDof]);
U=stiffness(activeDof,activeDof)\force(activeDof);
displacements=zeros(GDof,1);
displacements(activeDof)=U;
6
UNIVERSIDAD NACIONAL DE INGENIERÍA
Facultad de ingeniería mecánica
Laboratorio de Electrónica Industrial
function
outputDisplacementsReactions(displacements,stiffness,GDof,prescribedDof)
% Salida de las reacciones
% GDof: Número de grados de libertad del problema
% Se muestran los desplazamientos
disp('Displacements')
jj=1:GDof; format
[jj' displacements]
% Se muestran las reacciones
F=stiffness*displacements;
reactions=F(prescribedDof);
disp('reactions')
[prescribedDof' reactions]