Sie sind auf Seite 1von 13

Universidad Nacional de San Cristóbal de Huamanga

Facultad de Ingeniería Minas, Geología y Civil


Escuela de Formación Profesional de Ingeniera Civil

CONCRETO ARMADO I [IC-442]


PROGRAMA MATLAB - DISEÑO DE UNA VIGA SOMETIDO A FLEXIÓN

DOCENTE : Ing. YACHAPA CONDEÑA Rubén Américo

ALUMNO : YUCRA URBANO Felix


CÓDIGO : 16133546

Ayacucho, octubre 2019


ÍNDICE GENERAL

Índice General i

1 Refuerzos en tracción
1.1 Comportamiento dúctil ................................................................................................................... 1
1

1.2 Falla balanceada o cuantía básica ...................................................................................... 2


1.3 Cuantía mínima de refuerzo ......................................................................................................... 3
1.4 Diseño....................................................................................................................................................... 3

2 Aplicaciones - Programa Matlab 4

A Código fuente 8

Ingeniería Civil ■i
Sección 1 ■ Refuerzos en tracción

DISEÑO DE VIGAS A FLEXIÓN


1 Refuerzos en tracción
Los elementos sometidos a flexión se diseñan para fallar por tension pues es el tipo de
colapso mas conveniente dada la ductibilidad que desarrolla. Por ello que el procedimiento
de análisis que se presenta es el que corresponde a este caso.

1.1 Comportamiento dúctil

Diseño por Falla por tension

Imagen 1.1: Distribución rectangular de esfuerzos, propuesta por Whitney

Donde :
b : Ancho de la sección de concreto.
a : Altura del bloque rectangular de esfuerzo de compresión en el concreto.
h : Peralte de la sección de conreto.
d : Peralte efectivo de la sección igual a la distancia de la fibra extrema en compresión al
centroide del área del esfuerzo en tension.

C = 0.85 f cJ · a · b (1.1)

T = As· fy (1.2)

Por equilibrio :

C=T
As· fy
a=
0.85 f cJ · b

CUANTÍA de Acero en tension


As
ρ= (1.3)
b·d
Indice de refuerzo
ρ · fy
ω= (1.4)
fcJ

Momento resistente NOMINAL


Mn = bd 2 ω f cJ (1 − 0.59ω) (1.5)

Ingeniería Civil ■1
Sección 1 ■ 1.2 Falla balanceada o cuantía básica

DESPEJANDO VARIABLES tendremos OTRAS ECUACIONES

ρ · d · fy
a=
0.85 f cJ

ω ·d
a=
0.85

a = β1 · c

.
fcJ < 280 kg/cm2 → β1 = 0.85
Si =
fcJ > 280 kg/cm2 → β1 = 0.85 − 0.005 · (n70)
β1 disminuye en 0.05 por cada incremento de 70 kg/cm 2 en la resistencia del concreto.

ω · fcJ
ρ=
fy

1.2 Falla balanceada o cuantía básica

Imagen 1.2: Esfuerzo y deformaciones en una sección rectangular con falla balanceada

C = 0.85 fcJ · ab · b (1.6)

C = 0.85 f cJ · β1 · cb · b

0.003d · Es
cb = (1.7)
fy + 0.003Es

T = As· fy (1.8)

Ingeniería Civil ■2
Sección 1 ■ 1.3 Cuantía mínima de refuerzo

CUANTÍA BALANCEADA BÁSICA del


ACERO 0.85 f cJ · β1 · cb
ρb = (1.9)
fy · d

0.85 f cJ · β1 6117
= ·
ρ
b fy fy + 6117

1.3 Cuantía mínima de refuerzo

Este procedimiento nos determinara la cantidad mínima de acero requerida en una


sección de concreto.
Momento ANTES del FISURAMIENTO

2h
Mcr = · Tcr
3

2 fr · d 2 · b
Mcr = · (1.10)
3 4
Momento después del FISURAMIENTO
Mn = As· fy · d (1.11)

Al producirse el AGRIETAMIENTO

Mcr = Mn

'
f
Asmin  0.33 c
b.d
fy

con un factor de seguridad de 2.5 sera:

'
f (1.12)
Asmin  0.83 c
b.d
fy
A LA VEZ este ACERO mínimo no debe ser menor que.
14.1
Asmin  bw d
fy

1.4 Diseño
  b
Si :
SOLUCIÓN:
1) Incrementar el peralte de la sección de concreto.
2) Mejorar la calidad del concreto.
3) Utilizar un refuerzo adicional en la zona de compresión de la sección del concreto.

Ingeniería Civil ■3
Sección 2 ■ Aplicaciones - Programa Matlab

1.4.1 Refuerzo en compresión

Imagen 1.3: Sección rectangular con refuerzo en compresión

2 Aplicaciones - Programa Matlab


Los datos para comprobar el programa lo obtuvimos el los ejemplos de la guia del presente
curso. Primero elegimos el caso que queramos resolver.

Ingeniería Civil ■4
Sección 2 ■ Aplicaciones - Programa Matlab

Caso I :

Programa conociendo los parámetros de : b; h; fc; fy; As.


Obtener el momento nominal y momento ultimo

Imagen 2.4: Progrma Caso I

Caso II :

Programa conociendo: b; h; fy; fc; Mu.


Obtenemos As.

Ingeniería Civil ■5
Sección 2 ■ Aplicaciones - Programa Matlab

Imagen 2.5: Progrma Caso II

Ingeniería Civil ■6
Sección A ■ Código fuente

A Código fuente
Código Matlab 1: Programa Diseño de Viga Rectangular
1 function varargout = D_VigaRectangular( varargin )
%−−−
− −−−−−
− −−
− −−
− −−
− −−
− −−
− −−
− −−− −−
− −−
− −−
− −−−−−
− −−
− −−
− −−
− −−
− −−− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −

3 % AUTOR : AYALA BIZARRO, ROCKY
% FECHA : 22/09/2015
5 % INGRESO : Datos de la viga Rectangular
% CURSO : Concreto Armado I
7 % SALIDA : Momento Ultimo o Area del Acero
%−−−
− −−−−−
− −−
− −−
− −−
− −−
− −−
− −−
− −−− −−
− −−
− −−
− −−−−−
− −−
− −−
− −−
− −−
− −−− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −−
− −

9 gui_Singleton = 1;
gui_State = struct ( 'gui_Name ' , mfilename , . . .
11 ' gui_Singleton ' , gui_Singleton , . . .
' gui_OpeningFcn ' , @D_VigaRectangular_OpeningFcn, . . .
13 ' gui_OutputFcn ' , @D_VigaRectangular_OutputFcn , . . .
' gui_LayoutFcn ' , [ ] , . . .
15 ' gui_Callback ' , [ ]) ;
if nargin && ischar ( varargin{1})
17 gui_State . gui_Callback = str2func ( varargin{1}) ;
end
19
if nargout
21 [ varargout{1:nargout}] = gui_mainfcn( gui_State , varargin{:}) ;
else
23 gui_mainfcn( gui_State , varargin{:}) ;
end
25
function D_VigaRectangular_OpeningFcn( hObject , eventdata , handles , varargin )
27 handles . output = hObject ;
guidata ( hObject , handles) ;
29
function varargout = D_VigaRectangular_OutputFcn( hObject , eventdata , handles)
31 varargout{1} = handles . output ;

33 function CondicionAM_Callback( hObject , eventdata , handles)


global v
35 v=1;
v=get ( handles . CondicionAM, ' value ' ) ;
37 if v==1
set ( handles . text5 , ' visible ' , 'on ' )
39 set ( handles . text12 , ' visi bl e ' , ' off ' )
set ( handles . text28 , ' string ' , 'Mu [ tn−m] =' )
41 else
set ( handles . text12 , ' v isi ble ' , 'on ' )
43 set ( handles . text5 , ' v isi bl e ' , ' off ' )
set ( handles . text28 , ' string ' , 'As [cm2] =' )
45 end

47 function Calcular_Callback ( hObject , eventdata , handles)


global v
49 %Captura de datos .
h=str2double ( get ( handles . h, ' string ' ) ) ;
51 b=str2double ( get ( handles . b, ' string ' ) ) ;
fc=str2double ( get ( handles . fc , ' string ' ) ) ;
53 fy=str2double ( get ( handles . fy , ' string ' ) ) ;
dp=str2double ( get ( handles . dp, ' string ' ) ) ;
55 Phi=str2double ( get ( handles . factor , ' string ' ) ) ;

Ingeniería Civil ■7
Sección A ■ Código fuente

if v==1
57 As=str2double ( get ( handles .AM, ' string ' ) ) ;
else
59 Mu=str2double ( get ( handles .AM, ' string ' ) ) ;
end
61
%Calculo del peralte efectivo
63 d=h−dp;
set ( handles . d, ' string ' ,d) ;
65
if v==1
67 %Cuantia de Acero en tension
[Rho]=FCuantiaacero( b, d, As) ;
69 [Rho_b]=FCuantiabasica( fc , fy ) ;
[Rho_a]=FCuantiabasicafactor ( fc , fy ) ;
71 [ a]=FAlturaesfuerzo ( As, fy , fc , b)
[Omega] = FIndicerefuerzo (Rho, fy , fc )
73 set ( handles . p, ' string ' ,Rho) ;
set ( handles . pa, ' string ' ,Rho_a) ;
75 set ( handles . pb, ' string ' ,Rho_b) ;
set ( handles . text25 , ' string ' , 'OK' ) ;
77 set ( handles . a, ' string ' ,a) ;
set ( handles .w, ' string ' ,Omega) ;
79
if Rho <= Rho_b
81 set ( handles . text25 , ' vis ible ' , 'on ' ) ;
set ( handles . text25 , ' string ' , 'OK' ) ;
83 set ( handles . Corregir , ' vi sibl e ' , ' off ' ) ;
%set ( handles . text24 , ' string ' , num2str(Rho) '<' num2str(Rho_b) ) ;
85 [Mn]=FMomentoresistente ( As, fy , d, fc , b) ;
[Mu]=FMomentoultimo(As, fy , d, Phi , fc , b) ;
87 set ( handles .Mn, ' string ' ,Mn) ;
set ( handles .Mu, ' string ' ,Mu) ;
89 else
set ( handles . text25 , ' visible ' , 'on ' ) ; set
91 ( handles . text25 , ' string ' , ' Corrija ' ) ; set
( handles . Corregir , ' visible ' , ' off ' )
93 end
else
95 [Omega]=FIndicerefuerzomu(Mu, b, d, fc , Phi ) ;
[Rho]=FCuantiaacero(Omega, fc , fy ) ;
97 [Rho_b]=FCuantiabasica( fc , fy ) ;
[Rho_a]=FCuantiabasicafactor ( fc , fy ) ;
99 [As]=FAs(Rho, b, d) ;
[a] ]=FAlturaesfuerzo ( As, fy , fc , b) ;
101 set ( handles . p, ' string ' ,Rho) ;
set ( handles . pa, ' string ' ,Rho_a) ;
103 set ( handles . pb, ' string ' ,Rho_b) ;
set ( handles . text25 , ' string ' , 'OK' ) ;
105 set ( handles . a, ' string ' ,a) ;
set ( handles .w, ' string ' ,Omega) ;
107 if Rho <= Rho_b
set ( handles . text25 , ' visible ' , 'on ' ) ;
109 set ( handles . text25 , ' string ' , 'OK' ) ;
set ( handles . Corregir , ' visible ' , ' off ' ) ;
111 %set ( handles . text24 , ' string ' , num2str(Rho) '<' num2str(Rho_b) ) ;
[Mn]=FMomentoresistente ( As, fy , d, fc , b) ;
113 [Mu]=FMomentoultimo(As, fy , d, Phi , fc , b) ;
set ( handles .Mn, ' string ' ,Mn) ;
115 set ( handles .Mu, ' string ' ,As) ;
else

Ingeniería Civil ■8
Sección A ■ Código fuente

117 set ( handles . text25 , ' visible ' , 'on ' ) ; set
( handles . text25 , ' string ' , ' Corrija ' ) ; set
119 ( handles . Corregir , ' visible ' , ' off ' )
end
121 end

123 %Funcion As
function [As] = FAs(Rho, b, d)
125 As=Rho*b*d ;

127 %Funcion Cuantia del Acero en falla a tension .


function [Rho] = FCuantiaacero( b, d, As)
129 global v
if v==1
131 Rho=As / ( b*d) ;
else
133 Rho=b*d / As;
end
135
%Funcion Beta
137 function [ Beta] = FBeta( fc )
if fc <= 280
139 Beta=0.85 ;
else
141 n=floor ( fc /70)−4;
Beta=0.85−0.05*n;
143 end

145 %Funcion Cuantia Basica del acero en falla ductil .


function [Rho_b] = FCuantiabasica( fc , fy )
147 Rho_b=0.85*fc*FBeta( fc ) * 6117/( fy * ( fy+6117)) ;

149 %Funcion Cuantia Basica con factor de seguridad de 0.75%


function [Rho_a] = FCuantiabasicafactor ( fc , fy )
151 Rho_a=.75 *FCuantiabasica( fc , fy ) ;

153 %Funcion altura del esfuerzo de compresion en el concreto .


function [ a] = FAlturaesfuerzo ( As, fy , fc , b)
155 a=As * fy /( . 8 5 * fc * b) ;

157 %Funcion Indice de Refuerzo con As.


function [Omega] = FIndicerefuerzo (Rho, fy , fc )
159 Omega=Rho* fy / fc ;

161 %Funcion Indice de Refuerzo con Mu.


function [Omegamu] = FIndicerefuerzomu(Mu, b, d, fc , Phi )
163 a=0.59*Phi*b*d^2*fc ;
b=−Phi*b*d^2*fc ;
165 c=Mu;
OmegaA=(−b+sqrt (b^2−4*a*c ) ) /( 2 * a) ;
167 OmegaB=(−b−sqrt (b^2−4*a*c ) ) /( 2 * a) ;
if OmegaA>OmegaB
169 Omegamu=OmegaB;
else
171 Omegamu=OmegaA;
end
173
%Funcion momento resistente
175 function [Mn] = FMomentoresistente( As, fy , d, fc , b)
Mn=As*fy * ( d− FAlturaesfuerzo ( As, fy , fc , b) / 2 ) /100000;
177

Ingeniería Civil ■9
Sección A ■ Código fuente

%Funcion momento ultimo


179 function [Mu] = FMomentoultimo( As, fy , d, Phi , fc , b)
Mu=Phi*FMomentoresistente ( As, fy , d, fc , b) ;
181
function CondicionAM_CreateFcn( hObject , eventdata , handles)
183 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
185 end

187 function b_Callback ( hObject , eventdata , handles)


function b_CreateFcn( hObject , eventdata , handles)
189 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
191 end

193 function h_Callback ( hObject , eventdata , handles)


function h_CreateFcn( hObject , eventdata , handles)
195 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
197 end

199 function fc_Callback ( hObject , eventdata , handles)


function fc_CreateFcn( hObject , eventdata , handles)
201 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
203 end

205 function fy_Callback ( hObject , eventdata , handles)


function fy_CreateFcn( hObject , eventdata , handles)
207 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
209 end

211 function AM_Callback( hObject , eventdata , handles)


function AM_CreateFcn( hObject , eventdata , handles)
213 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
215 end

217 function dp_Callback( hObject , eventdata , handles)


function dp_CreateFcn( hObject , eventdata , handles)
219 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
221 end

223 function factor_Callback ( hObject , eventdata , handles)


function factor_CreateFcn ( hObject , eventdata , handles)
225 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
227 end

229 function d_Callback ( hObject , eventdata , handles)


function d_CreateFcn( hObject , eventdata , handles)

Ingeniería Civil ■ 10
Sección A ■ Código fuente

231 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›


get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
233 end

235 function p_Callback ( hObject , eventdata , handles)


function p_CreateFcn( hObject , eventdata , handles)
237 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
239 end

241 function pb_Callback( hObject , eventdata , handles)


function pb_CreateFcn( hObject , eventdata , handles)
243 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
245 end

247 function pa_Callback ( hObject , eventdata , handles)


function pa_CreateFcn( hObject , eventdata , handles)
249 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
251 end

253 function Corregir_Callback ( hObject , eventdata , handles)

255 function Mn_Callback( hObject , eventdata , handles)


function Mn_CreateFcn( hObject , eventdata , handles)
257 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
259 end

261 function Mu_Callback( hObject , eventdata , handles)


function Mu_CreateFcn( hObject , eventdata , handles)
263 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
265 end

267 function w_Callback( hObject , eventdata , handles)


function w_CreateFcn( hObject , eventdata , handles)
269 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
271 end

273 function a_Callback ( hObject , eventdata , handles)


function a_CreateFcn( hObject , eventdata , handles)
275 if ispc && isequal ( get ( hObject , ' BackgroundColor ' ) , ←›
get( 0 , ' defaultUicontrolBackgroundColor ' ) )
set ( hObject , ' BackgroundColor ' , ' white ' ) ;
277 end

Ingeniería Civil ■ 11

Das könnte Ihnen auch gefallen