File size: 3,556 Bytes
a8ced59
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
%Name: reference
%Course & Year: BSCE 3-D

%SINGLY REINFORCED BEAM

%inputs
b= input( 'Width of the beam in inches: '); %value of b
d= input('Effective depth of the beam in inches: '); %value of d
fc= input('Compressive strength of concrete in ksi: '); %value of fc
fy= input('Yield strength of steel in ksi:  '); %value of fy
Asq= input('The number of steel in the beam: '); %number of steel
Asd= input('The diameter of the steel:  '); %diameter of steel
B= input('The Length of Beam in ksf: '); %beamspan
DL= input("Dead Load in ksf: "); %value of dead load
LL= input("Live Load in ksf: "); %value of live load
ME= input ("Modulus of Elasticity, in ksi: "); %value of ME

%Calculation of As (cross sectional area of steel)
As= Asq*((pi*(Asd/8)^2)/4); %cross sectional area of steel
    fprintf('Value of As: %0.2f in^2\n',As)

%Equilibrium Equation T=Cc
T=As*fy; %Tensile Force in Steel

% Assigning the value of B based on fc
if fc<=4
    B= 0.85;
elseif (4<fc)&&(fc<=8)
    B= 0.85-0.05*(fc-4);
else
    B= 0.65;
end

%Compute depth of neutral axis 'c'
c=T/(0.85*fc*B*b); % Neutral axis depth
    fprintf('Value of c: %0.2f in\n',c) 

%Compute compression block depth 'a'
a=B*c; % Compression Block Depth
    fprintf('Value of a: %0.2f in^2\n',a)

%Compute compression force in concrete
Cc=0.85*fc*(b*a); % Compression Force in Concrete

%Check Assumption through Strain
    fprintf('Assume the steel bar is yeilding, Strain_s>=Strain_y\n')

Ecu=0.003;

Strain_y=fy/ME; %Vlaue of Ey
    fprintf ('Value of Strain_y is: %0.4f\n', Strain_y);

Strain_s=(Ecu*(d-c))/(c); %Value of Es
    fprintf ('Value of Strain_s is: %0.4f\n', Strain_s);

if Strain_s>Strain_y
    c=(As*Strain_s*ME)/(0.85*fc*B*b); 
end
     fprintf ('Value of Strain_s is: %0.4f\n', Strain_s);

if Strain_s>=Strain_y
    fprintf('Considering that Strain_s>=Strain_y. Therefore, the Steel Bars are Yielding. The assumption is correct.\n')
else
    fprintf('Considering that Strain_s<Strain_y. Therefore, the Steel Bars are not Yielding. The assumption is wrong.\n')
end

%Compute for Nominal Moment, Mn
Mn=(T)*(d-(a/2));
    fprintf('Value of Mn is: %0.2f kips-in\n', Mn);

%Compute for Reduction Factor, phi
if Strain_s<0.002
    phi=0.65;
elseif (Strain_s>=0.002)&&(Strain_s<0.005)
    phi=0.65+(Strain_s-0.002)*(250/3);
elseif Strain_s>=0.005
    phi=0.9;
end
    fprintf('Value of phi is: %0.2f kips-in\n', phi)
    
%Compute for Reduced Nominal Monent, M
M=phi*Mn; 
    fprintf('Value of M is: %0.2f kips-in\n', M)

%Check for Minimum Area of Steel Bars, As_min
As_m=3*(sqrt(fc));

if As_m>=200
    As_min=(3*(sqrt(fc)*b*d))/(fy);
elseif As_m<=200
    As_min=(200*b*d)/(fy*1000);
end

fprintf ('Value of As_min is: %0.2f in^2\n', As_min)
fprintf ('Value of As is: %0.2f in^2\n', As)

if As_min>As
    fprintf ('Considering that As_min>As, therefore the area of steel bars does not achieve the required area.\n');
elseif As_min <= As
    fprintf ('Considering that As_min<=As, therefore area of steel bars does achieve the required area.\n');
end

%Calculation for Required Maximum Nominal Moment, Mn_max
Mn_max=(((1.4*DL)+(1.6*LL))*(As)*(As)*12)/(8); 
    fprintf ('Value of Mn_max is: %.2f kips*in\n', Mn_max);

%General Design Strength Equation for Flexure
if M>=Mn_max
    fprintf('Since M>=Mn_max. Therefore, the flexural strength of the beam is achieved.\n');
else
    fprintf('Since M<Mn_max. Therefore, the flexural strength of the beam is not achieved.\n');
end