Академический Документы
Профессиональный Документы
Культура Документы
nacional"
Rímac, Lima
2018-2
PROBLEMA PROPUESTO
RESOLUCION
TRADUCCIÓN DE LA FUNCIÓN PRINCIPAL
%................................................................
%CALCULO DE ELEMENTOS FINITOS
clear all
% elementNodes: conecciones de eleentos
elementNodes=[1 3;3 4;4 2];
k=[1000;2000;3000];
% numberElements: numero de elementos
numberElements=size(elementNodes,1);
% numberNodes: numero de nodos
numberNodes=4;
% para la estructura del programa:
% displacements: desplazamiento del vector
% force : fuerza del vector
% stiffness: matriz de rigidez
displacements=zeros(numberNodes,1);
force=zeros(numberNodes,1);
stiffness=zeros(numberNodes);
% carga aplicada en el nodo 2
force(4)=5000;
% calculo de la matriz de rigidez el sistema
for e=1:numberElements
% elementDof: grado de libertad de los elementos (Dof)
elementDof=elementNodes(e,:) ;
stiffness(elementDof,elementDof)=...
stiffness(elementDof,elementDof)+[1 -1;-1 1]*k(e);
end
% soluciones
% informacion preescrita
prescribedDof=[1;2];
% free Dof : informacion libre
activeDof=setdiff(1:numberNodes,prescribedDof);
% solucion
displacements=stiffness(activeDof,activeDof)\force(activeDof);
% posicion de todos los desplazamientos
displacements1=zeros(numberNodes,1);
displacements1(activeDof)=displacements;
% desplazamientos / reacciones de salida
disp 'Desplazamiento De Los Nodos Y Fuerza De Reaccion En Los Nodos 1 Y
2'
outputDisplacementsReactions(displacements1,stiffness,numberNodes,prescri
bedDof)
forcesinsprings(numberElements,elementNodes,k,displacements1)
FUNCION 1
function outputDisplacementsReactions...
(displacements,stiffness,GDof,prescribedDof)
% Salida de desplazamientos y reacciones en
% forma tabulada
% GDof: Número total de grados de libertad del problema
% Desplazamientos
disp('Displacements')
%displacements=1er desplazamiento;
jj=1:GDof; format
[jj' displacements]
% reacciones
F=stiffness*displacements;
reactions=F(prescribedDof);
disp('reactions')
[prescribedDof reactions]
FUNCION 2
function forcesinsprings(numberElements,elementNodes,k,displacements1)
disp 'Fuerza En Cada Resorte'
for e=1:numberElements
fprintf("Resorte %i",e);
elementDof=elementNodes(e,:) ;
[elementDof' [1 -1;-1 1]*k(e)*displacements1(elementDof')]
end
end