Está en la página 1de 5

PROGRAMA PRINCIPAL

%................................................................

%CALCULO DE ELEMENTOS FINITOS


clear all
clc
% elementNodes: connections at elements
elementNodes=[1 3;3 4;4 2];
k=[1000;2000;3000];
% numberElements: number of Elements
numberElements=size(elementNodes,1);
% numberNodes: number of nodes
numberNodes=4;
% for structure:
% displacements: displacement vector
% force : force vector
% stiffness: stiffness matrix

displacements=zeros(numberNodes,1);
force=zeros(numberNodes,1);
stiffness=zeros(numberNodes);
% applied load at node 2
force(4)=5000;
% computation of the system stiffness matrix
for e=1:numberElements
% elementDof: element degrees of freedom (Dof)
elementDof=elementNodes(e,:) ;
stiffness(elementDof,elementDof)=...
stiffness(elementDof,elementDof)+[1 -1;-1 1]*k(e);
end

disp 'MATRIZ DE RIGIDEZ'


stiffness

% boundary conditions and solution


% prescribed dofs
prescribedDof=[1;2];
% free Dof : activeDof
activeDof=setdiff(1:numberNodes,prescribedDof);
% solution
displacements=stiffness(activeDof,activeDof)\force(activeDof);
% positioning all displacements
displacements1=zeros(numberNodes,1);
displacements1(activeDof)=displacements;
% output displacements/reactions
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)
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica

[TÍTULO DEL DOCUMENTO]

FUNCION 1
function outputDisplacementsReactions...
(displacements,stiffness,GDof,prescribedDof)
% output of displacements and reactions in
% tabular form
% GDof: total number of degrees of freedom of
% the problem
% displacements
disp('Displacements')
%displacements=displacements1;
jj=1:GDof; format
[jj' displacements]
% reactions
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

FUNCION 1
function outputDisplacementsReactions...
(displacements,stiffness,GDof,prescribedDof)
% output of displacements and reactions in
% tabular form
% GDof: total number of degrees of freedom of
% the problem
% displacements
disp('Displacements')
%displacements=displacements1;
jj=1:GDof; format
[jj' displacements]
% reactions
F=stiffness*displacements;
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica

[TÍTULO DEL DOCUMENTO]


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

FUNCION 1
function outputDisplacementsReactions...
(displacements,stiffness,GDof,prescribedDof)
% output of displacements and reactions in
% tabular form
% GDof: total number of degrees of freedom of
% the problem
% displacements
disp('Displacements')
%displacements=displacements1;
jj=1:GDof; format
[jj' displacements]
% reactions
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')]
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica

[TÍTULO DEL DOCUMENTO]


end
end

FUNCION 1
function outputDisplacementsReactions...
(displacements,stiffness,GDof,prescribedDof)
% output of displacements and reactions in
% tabular form
% GDof: total number of degrees of freedom of
% the problem
% displacements
disp('Displacements')
%displacements=displacements1;
jj=1:GDof; format
[jj' displacements]
% reactions
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

FUNCION 1
function outputDisplacementsReactions...
(displacements,stiffness,GDof,prescribedDof)
% output of displacements and reactions in
% tabular form
% GDof: total number of degrees of freedom of
% the problem
% displacements
disp('Displacements')
%displacements=displacements1;
jj=1:GDof; format
[jj' displacements]
Universidad Nacional de Ingeniería
Facultad de Ingeniería Mecánica

[TÍTULO DEL DOCUMENTO]


% reactions
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

También podría gustarte