Saturday, August 31, 2013

Shear force and Bending Moment diagrams using Matlab


Matlab program prob6_3 below shows how to generate
shear force and bending moment diagrams for a beam.
Problem 6.3 of Hibbeler’s textbook,
‘Mechanics of Materials’, 8th. edition,
using US system of customary units.


% prob6_3.m
% Daniel A. Landeros Rojas / Ricardo E. Avila Montoya  
% Mechanics of Materials / August 30, 2013
% ricardo_avila@hotmail.com
% Chihuahua, Mexico

clc
clear
disp(' ')
disp('Problem 6.3, Hibbeler, 8th. edition')

% Data input section
% The units of the problem are US customary, not SI
% A crane lifts a 1200 Lb load applied at its end, with the 
% power of a hydraulic cylinder. Length of beam is 8 feet.

delta_x = .5;           % Increment for discretization of x axis.
x = (0: delta_x: 96)';  % Generate column array for x-axis. 

FAy = -2000;    % Vertical force at point A
FBy = 3200;     % Vertical force at point B
FCy = -1200;    % Applied load at point C

N = size(x, 1); % Size of the x-axis discretization

V = zeros(N, 1);    % Shear force function of x.
M = V;              % Bending moment function of x.

% Data processing section

for index = 1: N;   % For every discrete point along x.

   % First portion of the beam, 0 < x < 36 (inch)
   V(index) = FAy;
   M(index) = FAy*x(index);

   % Second portion of the beam, 36 < x < 96 (inch)
   if(x(index)>=36)
        V(index) = V(index) + FBy;
        M(index) = M(index) + FBy*(x(index)-36);
   end

end

V(N) = V(N) + FCy;  % Shear force for last point of diagram

% Data post-processing section

% Shear force diagram
figure(1)
plot(x,V, 'b', 'linewidth', 2.5)
grid
xlabel('x, inch')
ylabel('Shear force, Lb')
title('Shear force diagram')
axis tight

% Bending moment diagram
figure(2)
plot(x,M, 'r', 'linewidth', 2.5)
grid
xlabel('x, inch')
ylabel('Bending moment, Lb-in')
title('Bending Moment diagram')
axis tight

disp(' ')
disp('*** Successful execution of program ***')
% end of Matlab program


figure(1)



figure(2)


________________________________________________________________________


Tuesday, August 27, 2013

Mohr circle using Matlab


This is a proposed solution to problem 1-33 of the textbook
"Mechanics of Materials", 8th. edition, by R. C. Hibbeler,
using a simple Matlab program. The program solves a system
of two linear equations, for each value of the angle, in order to
calculate the values of normal and shear stress; these values are
functions of the angle 'theta'. The angle 'theta' is formed between
a vector, perpendicular to the area on which the stresses are being
observed or calculated, and a horizontal or longitudinal axis in
the material.

Mohr's circle for values of stress is generated by the solution of the problem,
since the normal stress acts as a sine function, and the shear stress
like a cosine function.

The program can be run with unity input values, for lack of other information:
base = 1
height = 1
applied load = 1


% prob1_33.m
% Ricardo E. Avila / University of Ciudad Juarez / Aug. 28, 2013
% ricardo_avila@hotmail.com
% Chihuahua, Mexico

% Problem 1.33, Hibbeler, 'Mechanics of Materials', 8th. ed.

% 'theta' is the angle in radians of a vector normal to
% the inclined area = base * height, A = b * h;
% the 'theta' angle is measured with respect to the longitudinal
% axis of the loaded material.  

clc
clear

disp(' ')
disp('Problem 1.33, Hibbeler, Mechanics of Materials, 8th. ed.')
disp('________________________________________________________')

% Data input
b = input('Base of material dimension: ');
h = input('Height of material dimension: ');
P = input('Applied load: ');

% Data processing
delta_theta = pi/180; % Generate data every 1 degree of angle
theta = (0: delta_theta : pi)';     % Generate column array: theta
sigma = zeros(size(theta,1), 1);    % sigma: normal stress
tau = sigma;                        % tau: shear stress
A = zeros(2, 2);                    % 2x2 matrix
RHS = zeros(2, 1);                  % Right-hand side of linear system
RHS(1,1) = P;                       % Applied load
bh = b * h;                         % Material: base * height

% Solve linear system for solution of equations
for index = 1: size(theta,1)
  A(1, 1) = bh ;
  A(1, 2) = bh * tan(theta(index));
  A(2, 1) = tan(theta(index));
  A(2, 2) = -1;
  stress = A \ RHS;             % Solve linear system of equations
  sigma(index) = stress(1, 1);  % normal stress
  tau(index) = stress(2, 1);    % shear stress
end

% Post-processing of data
figure(1)
plot(theta, sigma)  % Plot variation of normal stress with angle theta
grid
xlabel('theta, radians')
ylabel('sigma, normal stress')

figure(2)
plot(theta, tau)    % Plot variation of shear stress with angle theta
grid
xlabel('theta, radians')
ylabel('tau, shear stress')

figure(3)
% Generate Mohr's circle with values of (sigma, tau)
line(sigma, tau)
axis equal
grid on
xlabel('sigma, normal stress')
ylabel('tau, shear stress')

disp(' ')
disp('*** Successful program execution ***')
disp('____________________________________')

figure(1)
 figure(2)
 figure(3)