Análisis de armaduras MEF-MatLab (1 cuerpo principal)..

A continuación les anexo un código de MatLab para el análisis de armaduras en dos dimensiones fue extraído del libro de Ferreira:

Una advertencia tiene un error pequeño pero viene así desde el libro, pero arreglándolo el código da la misma precisión que el SAP2000:

% MATLAB codes for Finite Element Analysis
% problem4.m
% antonio ferreira 2008
% clear memory
clear all
% E; modulus of elasticity
% A: area of cross section
% L: length of bar
E=30e6; A=2; EA=E*A;
% generation of coordinates and connectivities
numberElements=3;
numberNodes=4;
elementNodes=[1 2;1 3;1 4];
nodeCoordinates=[ 0 0;0 120;120 120;120 0];
xx=nodeCoordinates(:,1);
yy=nodeCoordinates(:,2);
% for structure:
% displacements: displacement vector
% force : force vector
% stiffness: stiffness matrix
GDof=2*numberNodes; % GDof: total number of degrees of freedom
displacements=zeros(GDof,1);
force=zeros(GDof,1);
% applied load at node 2
force(2)=-10000.0;
% computation of the system stiffness matrix
[stiffness]=...
formStiffness2Dtruss(GDof,numberElements,...
elementNodes,numberNodes,nodeCoordinates,xx,yy,EA);
% boundary conditions and solution
prescribedDof=[3:8]’;
% solution
displacements=solution(GDof,prescribedDof,stiffness,force);
% drawing displacements
us=1:2:2*numberNodes-1;
vs=2:2:2*numberNodes;
figure
L=xx(2)-xx(1);
%L=node(2,1)-node(1,1);
XX=displacements(us);YY=displacements(vs);
dispNorm=max(sqrt(XX.^2+YY.^2));
scaleFact=15000*dispNorm;
clf
hold on
drawingMesh(nodeCoordinates+scaleFact*[XX YY],elementNodes,’L2’,
’k.-’);
drawingMesh(nodeCoordinates,elementNodes,’L2’,’k.--’);
% stresses at elements
stresses2Dtruss(numberElements,elementNodes,...
xx,yy,displacements,E)
% output displacements/reactions
outputDisplacementsReactions(displacements,stiffness,...
GDof,prescribedDof)

Sigue function stiffness…

Foto del avatar

Ingeniero Civil por parte del Instituto Tecnológico de Tepic, México. Doctor en Ingeniería en el área Optimización de Estructuras con Computación Evolutiva por parte de la Universidad Autónoma de Querétaro.

Comments (2)

  • Reply Juan Antonio Arízaga - 22 octubre, 2012

    Claro que el Dr. podría hacer favor de indicar el Libro de donde sacó la información e indicar las funciones que se están utilizando.

    Buen día.

    PD: Por cierto el libro es: MATLAB Codes for Finite Element Analysis: Solids and Structures Escrito por A. J. M. Ferreira

  • Reply Manolo Noriega - 12 diciembre, 2013

    Buen día. Podría indicar cuál es el pequeño error por favor? Yo estoy usando el Matlab R2013a y me marca error en el comando drawingMesh, alguna recomendación que pudiera hacerme?

Leave a Reply

Your email address will not be published. Required fields are marked*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad