Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

7.

% Create figure
figure1 = figure;

% Create axes
axes1 = axes('Parent',figure1,'FontSize',15);
box(axes1,'on');
hold(axes1,'all');

% Create plot
plot(nodeCoordinates,U,'MarkerSize',15,'Marker','.','LineStyle','none')

------------------------------------------------

6.

% desplazamiento maximo
U=displacements(1:2:2*numberNodes); %llamado de las deflexiones en la
viga (no las rotaciones)
abs_disp=abs(U);
maximum_displacement=max(abs_disp)

% reacciones
F=stiffness*displacements; %vector fuerza
reactions=F(prescribedDof); %reacciones (de los nodos restringidos)
reacciones=[prescribedDof reactions]

--------------------------------------------

5.
activeDof=setdiff((1:GDof)',prescribedDof); %vector de grados de libertad
libres
U=stiffness(activeDof,activeDof)\force(activeDof); %solucion del sistema
lineal en Dof libres
displacements=zeros(GDof,1); %inicializacion del desplazamiento
displacements(activeDof)=U; %vector desplazamiento

----------------------------------------------

3.

for e=1:numberElements;

% generacion de indices de los grados de libertad de cada elemento en


% el sistema global
indice=elementNodes(e,:); %vector variable de nodos en cada elemento
elementDof=[ 2*(indice(1)-1)+1 2*(indice(2)-1) 2*(indice(2)-1)+1
2*(indice(2)-1)+2];
% vector variable de grados de libertad en cada elemento

% longitud de cada elemento


LElem=xx(indice(2))-xx(indice(1)) ;
ll=LElem;

%matriz de rigidez del elemento


k1=EI/(LElem)^3*[12 6*LElem -12 6*LElem;
6*LElem 4*LElem^2 -6*LElem 2*LElem^2;
-12 -6*LElem 12 -6*LElem ;
6*LElem 2*LElem^2 -6*LElem 4*LElem^2];

%vector fuerza del elemento


f1=[P*LElem/2 P*LElem*LElem/12 P*LElem/2 ...
-P*LElem*LElem/12]';

% ensamble del vector fuerza en el sistema global


force(elementDof)=force(elementDof)+f1;
% ensamble de la matriz de rigidez en el sistema global
stiffness(elementDof,elementDof)=stiffness(elementDof,elementDof)+k1;

end

----------------------------------------------------------------------------------------

2.
numberElements=80; %nmero de elementos
nodeCoordinates=linspace(0,L,numberElements+1)'; %vector coordenadas de
los nodos
numberNodes=size(nodeCoordinates,1); %nmero de nodos
xx=nodeCoordinates(:,1); %cambio de nombre de variable

GDof=2*numberNodes; %nmero de grados de libertad en toda la viga

% Inicializacion de la matriz de rigidez y el vector fuerza


force=zeros(GDof,1);
stiffness=zeros(GDof);

elementNodes=zeros(numberElements,2);
for i=1:numberElements;
elementNodes(i,1)=i;
elementNodes(i,2)=i+1;
end

---------------------------------------------------

4.

if strcmp(bc,'cc')
% clamped-clamped
fixedNodeU =[1 2*numberElements+1]';
fixedNodeV =[2 2*numberElements+2]';

elseif strcmp(bc,'ss')
% simply supported-simply supported
fixedNodeU =[1 2*numberElements+1]'; fixedNodeV =[]';

elseif strcmp(bc,'cf')
% clamped at x=0
fixedNodeU =1;
fixedNodeV =2;
end

prescribedDof=[fixedNodeU;fixedNodeV]; %vector de grados de libertad


restringidos a priori

--------------------------------------------------------------------------------

1.
E=1; %E; mdulo de elasticidad
I=1; %I: segundo momento de inercia
EI=E*I;
L=1; %L: longitud de la viga
P=-1; %P: carga distribuida
bc='cf';

---------------------------------------------------------------------------------

You might also like