In this post, I am going to present an extremely simplified MATLAB code for carrying out flexural design of reinforced concrete beams (rectangular or flanged) according to Eurocode 2. Before you can use this code, you must carry out your analysis and obtain your design forces and moments. You can just copy the code and paste on your MATLAB script. There are no external functions to be called for the program.
% ANALYSIS AND DESIGN OF RECTANGULAR AND FLANGED BEAMS PER EUROCODE 2
% THIS PROGRAM WILL CALCULATE THE AREA OF REINFORCEMENT REQUIRED, AND ALSO DO THE DEFLECTION VERIFICATION USING THE DEEMED TO SATISFY RULES OF EC2
clc
disp(‘THIS PROFORMA WAS WRITTEN BY O.U.R UBANI’)
disp(‘DOWNLOADED FROM WWW.STRUCTVILLE.COM’)
disp(‘ANALYSIS AND DESIGN OF BEAMS PER EUROCODE 2’)
% INPUT MATERIAL PROPERTIES
Fck = input(‘Enter the grade of concrete (N/mm^2)Fck = ‘);
Fyk = input(‘Enter the yield strength of steel (N/mm^2)Fyk = ‘);
% INPUT DESIGN MOMENT
MEd = input(‘Enter the ultimate design moment (KNm) MEd = ‘);
% INPUT SECTION AND DESIGN PROPERTIES
h = input(‘Enter the depth of beam (mm)h = ‘);
b = input(‘Enter the effective flange width of the beam (mm)b = ‘);
bw = input(‘Enter the beam width (mm)bw = ‘);
Cc = input(‘Enter concrete cover (mm) = ‘);
dr = input(‘Enter the diameter of reinforcement (mm) = ‘);
dl = input(‘Enter the diameter of links = ‘);
% CALCULATION OF EFFECTIVE DEPTH
disp(‘Effective depth d (mm)’)
d = h-Cc-(dr/2)-dl % Effective depth
disp(‘Depth of reinforcement from the face of concrete’)
do = Cc+dl+(dr/2)
% ANALYSIS FOR INTERNAL STRESSES
ko = 0.167;
k = (MEd*10^6)/(Fck*b*d^2)
if k>ko
disp(‘Since k > ko, Compression reinforcement is required’)
Mcd = (Fck*b*d^2*(k-ko))*10^(-6)
As2 = (Mcd*10^6)/(0.87*Fyk*(d-do))
z = 0.5*d*(1+sqrt(1-3.53*ko))
As1 = ((ko*Fck*b*d^2)/(0.87*Fyk*z))+ As2
else
disp(‘Since k < ko, No Compression reinforcement is required’)
disp(‘Lever arm (la)’)
la = 0.5+sqrt(0.25-0.882*k)
if la>0.95
disp(‘Since la > 0.95,’)
la = 0.95
else
la = 0.5+sqrt(0.25-0.882*k)
end
As1 =(MEd*10^6)/(0.87*Fyk*la*d)
end
% MINIMUM AREA OF STEEL REQUIRED
fctm = 0.3*(Fck^(2/3)) %MEAN TENSILE STRENGTH OF CONCRETE (TABLE 3.1 EC2)
ASmin = 0.26*(fctm/Fyk)*bw*d
if ASmin < 0.0013*bw*d
ASmin = 0.0013*bw*d
end
if As1<ASmin
As1 = ASmin
else
disp(‘Since As1 > Asmin, provide As1 which is the area of steel required’)
end
Asprov1 = input(‘Enter area of tension steel provided (mm^2) = ‘);
Asprov2 = input(‘Enter area of compression steel provided if any (mm^2) = ‘);
% CHECK FOR DEFLECTION
2.0 MATLAB CODE FOR SHEAR DESIGN ACCORDING TO EC2
% SHEAR DESIGN IN EUROCODE 2
clc
disp(‘SHEAR DESIGN ACCORDING TO EC2′)
disp(‘THIS PROFORMA WAS WRITTEN BY O.U.R. UBANI’)
% MATERIALS PROPERTIES
Fck = input(‘Enter the grade of concrete (N/mm^2) = ‘);
Fyk = input(‘Enter the yield strength of steel (N/mm^2) = ‘);
VEd = input(‘Enter the value of shear force at ULS (KN) = ‘);
% SECTION PROPERTIES
h = input(‘Enter the depth of beam (mm) = ‘);
bw = input(‘Enter the beam width (mm) = ‘);
Cc = input(‘Enter concrete cover (mm) = ‘);
dr = input(‘Enter the diameter of reinforcement (mm) = ‘);
dl = input(‘Enter the diameter of links = ‘)
d = h-Cc-(dr/2)-dl % Effective depth
do = Cc+dl+(dr/2)
% CALCULATION OF THE SHEAR CAPACITY OF THE SECTION WITH NO SHEAR REINFORCEMENT
Asprov1= input(‘Enter the area of steel provided in the shear zone (mm^2) = ‘) % The reinforcement must exceed the design anchorage length by at least the effective depth
Crd = 0.12
k1= 1+sqrt(200/d)
if k1>2
k1=2
end
disp(‘Reinforcement ratio’)
P1 = (Asprov1/(bw*d))
if P1>0.02
P1 = 0.02
end
% THIS SECTION IS TO BE CONSIDERED IF THERE IS AXIAL FORCE IN THE SECTION
disp(‘Axial force in the section’)
N = input(‘Enter the value of AXIAL FORCE IF ANY(+VE FOR COMP, AND -VE FOR TENSION)(kN) = ‘)
disp(‘Axial stress in the section (Ds)’)
Ds = (N*1000)/(bw*h)
if Ds > (0.2*0.85*Fck)/1.5
Ds = (0.2*0.85*Fck)/1.5
end
k2 = 0.15;
disp(‘Minimum shear stress in the section (N/mm^2)’)
Vmin = 0.035*k1^(1.5)*sqrt(Fck)
disp(‘Concrete resistance shear stress (VRd) (N/mm^2)’)
VRdQ = ((Crd*k1)*(100*P1*Fck)^(1/3)*(bw*d))/1000 % SHEAR FORCE CONTRIBUTION
VRdN = ((k2*Ds)*(bw*d))/1000 % AXIAL FORCE CONTRIBUTION
VRd = VRdQ + VRdN % TOTAL SHEAR RESISTANCE
if VRd < ((Vmin+(k2*Ds))*(b*d))/1000
VRd = ((Vmin+(k2*Ds))*(b*d))/1000
end
if VRd>VEd
disp(‘Since VRd > VEd’)
disp(‘NO SHEAR REINFORCEMENT REQUIRED, PROVIDE NOMINAL LINKS’)
else
if VRd<VEd
disp(‘Since VRd < VEd’)
disp(‘SHEAR REINFORCEMENT REQUIRED, CALCULATE COMPRESSION STRUT CAPACITY’)
disp(‘Assume strut angle (thetha) = 21.8 deg, cot(thetha)= 2.5’)
thetha = 21.8
V1 = 0.6*(1-(Fck/250))
disp(‘Design compressive strength of concrete (fcd) (N/mm^2)’)
fcd = 0.567*Fck
z = 0.9*d
disp(‘Maximum capacity of compression strut (KN)’)
VRDmax = ((b*z*V1*fcd)/(2.9))/1000
if VRDmax > VEd
disp(‘Since VRDmax > VEd’)
disp(‘OK! Calculate diameter and spacing of links’)
ASMINlinks_to_spacing = ((0.08*sqrt(Fck))/Fyk)*b
ASlinks_to_spacing = (VEd*1000)/(z*0.87*Fyk*2.5)
else
disp(‘Since VRDmax > VEd, it means we need a higher strut angle (beta)’)
disp(‘By calculating the strut angle’)
disp(‘Shear stress at the section (N/mm^2)’)
v = (VEd*1000)/(b*d)
beta = (0.5)*asind((v)/(0.153*Fck*(1-(Fck/250))))
if beta>45
disp(‘Since beta < 45 deg, SECTION INADEQUATE FOR SHEAR, INCREASE DEPTH !!!!!’)
else
disp(‘The ratio of Area of steel/spacing of links’)
ASlinks_to_spacing = (VEd*1000)/(z*0.87*Fyk*cotd(beta))
end
end
end
Area_of_legs = input(‘Enter the area of number of legs selected = ‘)
Spacing = input(‘Enter the spacing = ‘)
disp(‘CHECK’)
T = Area_of_legs/Spacing
if T > ASlinks_to_spacing
disp(‘Shear reinforcement is ok’)
else
disp(‘Increase area of steel, or reduce spacing’)
end
end
Like us on Facebook at www.facebook.com/structville
ALSO IN THIS BLOG
Analysis and Design of Continuous R.C. Raker Beam for Stadium using EC2
Two Approaches to the Calculation of Deflection in EC2; Choose a Faster Approach for Yourself
gud one engr Ranks
Thank you very much.
You are truly a good programmer Engr. Ranks 🙂
• Hi, i think that i saw you visited my weblog thus i got here to go back the want?.I am attempting to in finding issues to improve my web site! I assume its adequate to make use of some of your ideas!!
Fabrication Drawings preparation
MEP F modelling
COBie adaptation