Вы находитесь на странице: 1из 4

"Año del diálogo y reconciliación

nacional"

Tema: “Calculo de esfuerzos unidimensionales”

Curso: Cálculo por elementos finitos

Código del curso: MC516

Profesor: Jorge Vera Ermitaño

Fecha de entrega: 10 de octubre del 2018

Autor: Troncoso Chávez Jorge Luis 20152599G

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

disp 'MATRIZ DE RIGIDEZ'


stiffness

% 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

2DA FORMA DE RESOLUCIÓN


clc
clear all;
%Datos:
%F2=4163
%F3=0
%%F=[0 4163 0 0];
%modulo de elasticidad: E=30*10^6
%Area: A=1
%en cada segmento:L=30
%K1=K2=K3=E*A/L
K1=10^6; K2=10^6; K3=10^6;
%f1(1) = F1
%f2(1)+f2(2) = F2
%f3(2)+f3(3) =F3
%f4(3) = F4
syms d1 d2 d3 d4 f11 f21 f22 f32 f33 f43
phi=1/2*K1*(d2-d1)^2-f11*d1-f21*d2 + 1/2*K2*(d3-d2)^2-f22*d2-
f32*d3+1/2*K3*(d4-d2)^2-f33*d3-f43*d4;
%aplicando derivadas parciales respecto a cada desplazamiento innterno:
Ecua1=diff(phi,d1)
Ecua2=diff(phi,d2)
Ecua3=diff(phi,d3)
Ecua4=diff(phi,d4)
%calculando la matriz de rigidez
K=[jacobian(Ecua1,[d1 d2 d3 d4]);
jacobian(Ecua2,[d1 d2 d3 d4]);
jacobian(Ecua3,[d1 d2 d3 d4]);
jacobian(Ecua4,[d1 d2 d3 d4]);]

%gracias a las paredes sabemos que:d1=0 d4=0


d1=0; d4=0;
Fx=K*[d1 d2 d3 d4]';
[d2 d3]=solve(Fx(2)==4163,Fx(3)==0)

%hallando las reacciones en las paredes:


Fx=K*[d1 d2 d3 d4]';
F1=Fx(1)
F4=Fx(4)

Вам также может понравиться