Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
INTRODUCCION
OBJETIVOS
MARCO TEORICO
Diseo de vigas de seccin T y L
En muchos casos las vigas rectangulares de Concreto no trabajan aisladamente sino
que se integran a losas de Concreto conformando vigas T y vigas L [ACI8.10]. En
otras ocasiones puede ser conveniente recurrir a vigas con una geometra en T o en
L por as convenir al diseo del elemento.
Los criterios expuestos en el diseo de vigas rectangulares deben ser incorporados para
disear vigas T y vigas L. Las diferencias de procedimiento con relacin a vigas
rectangulares se basan en el anlisis geomtrico de la zona que est comprimida, que en
algunos casos puede ser rectangular (slo en el ala o slo en el alma) y en otros una
seccin T o L (parte en el ala y parte en el alma). Entre las vigas T y las vigas L
no existe prcticamente ninguna diferencia en el diseo, excepto que las vigas T
poseen 2 alas y las vigas L tienen 1 ala.
b bw +16 h f
b bw +
Ln
4
( si1 +s i )
2
b bw +6 h f
b bw +
s
2
Ln
12
VIGA T AISALADA
Dnde:
L = Luz libre de la viga.
S = Separacin libre entre
vigas.
bw= Ancho del alma de la
viga.
b = Ancho del ala.
hf = Espesor del patn.
Adems:
c = Profundidad del eje neutro.
a = Profundidad del bloque rectangular en comprensin.
Anlisis de Vigas de Secciones T y L
Tenemos tres casos:
1.- Si
c hf
"b, es decir:
M u= M n = As f y (da/2)
a=
Dnde:
2.- Si
a hf
AS f y
0.85 f ' c b
c >h f
De la figura tenemos:
A S 1 =A S A S 2
Del primer estado tenemos
CC 1=T 1
0.85 f c a b w =A S 1 f y
a=
AS f y
0.85 f ' c bw
a=
( A S A S 2) f y
0.85 f ' c bw
CC 2= A S 2 f y
0.85 f c h f (bbw )= A S 2 f y
(0.85 f c h f ( bbw ) )/f y =A S 2
Si definimos:
2=
AS2
bw d
entonces:
As
bw
=(b + 2 )
bd
b
AS
bw d
AS
bd
, entonces:
b= b + 2
b=( b + 2)
, entonces:
bw
b
Dnde:
b= 1 0.85
f ' c 60000
(
)
f y 6000+ f y
A Smin =
14
bd
fy
A smin =0.8
f 'c bd
fy
Para el caso que se encuentre el ala en traccin, se tomar el valor mayor de las dos
siguientes expresiones:
EJERCICIOS DE APLICACION
10
11
12
Lmite de fluencia.(kg/cm2)
N de varillas
Dimetro de varillas y de estribos. (cm)
N de capas: se debe seleccionar
CONCRETO
13
14
ANALISIS DE VIGA T
INICIO
Introducir las libreras stdio.h, math.h
Declarar las variables necesarias:
float tab [4][10];
int elec, n[10], o, i, j, barra, barraest, c, f,nb,ek;
float k,y,num=0,adi=0, sb, emay,bmin,yg, espocup[10],Asu[10], As[10],Ass,
Asf,As1,a1, db[10], ds, rc, a, b, bw, d, h, hf, p, pmax, pmin, pmin1, pmin2,fc, fy, pb,
pv, pf, B1, Mu, Mu1, Mu2;
tab[1][1]=3;
tab[2][1]=4;
tab[3][1]=5;
tab[4][1]=6;
tab[5][1]=7;
tab[6][1]=8;
tab[7][1]=9;
tab[8][1]=10;
tab[9][1]=11;
tab[10][1]=12;
tab[1][2]=0.95; tab[1][3]=0.71;
tab[2][2]=1.27; tab[2][3]=1.27;
tab[3][2]=1.59; tab[3][3]=1.98;
tab[4][2]=1.91; tab[4][3]=2.85;
tab[5][2]=2.22; tab[5][3]=3.88;
tab[6][2]=2.54; tab[6][3]=5.07;
tab[7][2]=2.86; tab[7][3]=6.41;
tab[8][2]=3.18; tab[8][3]=7.92;
tab[9][2]=3.49; tab[9][3]=9.58;
tab[10][2]=3.81;tab[10][3]=11.4;
Ingresar bw y recubrimiento
Ass=0; i=0
i<c
no
si
Cantidad de barras de acero en la
capa(i+1): n[i]
Numero de barra de acero: (barra)
f=barra-2;
db[i]=tab[f][2];
Asu[i]=tab[f][3];
db[i]<=2.54
si
sb=2.54
no
sb=db[i]
Dimetro de acero y rea de acero
elegido
espocup[i]=(n[i]*db[i])+((n[i]-1)*sb)
As[i]=Asu[i]*n[i];
sumas=As[i]+sumas
16
y=adi+db[i]/2;
num=num+(As[i]*y)
adi=adi+db[i]+2.54
i=i+1
emay=espocup[0];i=0
no
no
i<c-1
emay<= espocup[i+1];
si
emay=espocup[i+1];
i=i+1
bmin>bw
no
si
b minimo es mayor al bw ingresado; ingresar nuevos
diametros de acero
Ingresar valores de: -b , h, hf, fc, fy, tipo de zona ssmica (ek)
17
no
ek==1
ek==2
si
si
K=0.
K=0.
yg=num/Ass;
d=h-(rc+ds+yg)
Valor de d, yg
p=Ass/(b*d)
pmin1=sqrt(fc)*(0.8/fy); pmin2=14/fy
pmin1
>pmin2
si
pmin=pmin1
no
pmin=pmin2
B1=0.85-(0.05*(fc-280)/70)
18
B1>0.85
no
B1<0.65
si
si
B1=0.65
B1=0.85
no
Valor de B1
-pv=B1*0.85*(fc/fy)*(6000/(6000+fy))
-Asf=0.85*fc*(b-bw)*hf/fy
-pf=Asf/(bw*d)
-pmax=k*(bw/b)*(pv+pf)
pmin<p
si
p<pmax
si
Cumple con las normas del ACI
a=Ass*fy/(0.85*fc*b)
Valor de a
19
no
a<hf
si
Analizar como seccin rectangular
Mu=0.9*Ass*(fy/1000)*((d
-(a/2))/100)
Momento ltimo: Mu
a>hf
si
Analizar como seccin T
As1=Ass-Asf
a1=As1*fy/(0.85*fc*bw)
Mu1=0.9*As1*(fy/1000)*((d-a1/2)/100)
Mu2=0.9*Asf*(fy/1000)*((d-hf/2)/100)
Mu=Mu1+Mu2
Momento ltimo: Mu
FIN
20
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
int _tmain(int argc, _TCHAR* argv[])
{
float tab [4][10];
int elec,opc, n[10], o, i, j, barra, barraest, c, f,nb,ek,
float k,y,num=0,adi=0, sb, emay,bmin,yg, espocup[10],Asu[10],
As[10],Ass, Asf,As1 ,a1, db[10], ds, rc, a, b, bw, d, h, hf, p, pmax,
pmin, pmin1, pmin2,fc, fy, pb, pv, pf, B1, Mu, Mu1, Mu2;
printf("\n\t\t\t DISEO Y ANALISIS DE VIGA T");
printf("\n\n Tabla de caracteristicas del acero");
printf("\n\n ");
printf("\nBARRA |DIAMETRO|
printf("\n
3 | 0.95cm |
printf("\n
4 | 1.27cm |
printf("\n
5 | 1.59cm |
printf("\n
6 | 1.91cm |
printf("\n
7 | 2.22cm |
printf("\n
8 | 2.54cm |
printf("\n
9 | 2.86cm |
printf("\n
10| 3.18cm |
printf("\n
11| 3.49cm |
printf("\n
12| 3.81cm |
tab[1][1]=3;
tab[2][1]=4;
tab[3][1]=5;
tab[4][1]=6;
tab[5][1]=7;
tab[6][1]=8;
tab[7][1]=9;
tab[8][1]=10;
tab[9][1]=11;
tab[10][1]=12;
AREA (cm2)
0.71
1.27
1.98
2.85
3.88
5.07
6.41
7.92
9.58
11.4
|");
|");
|");
|");
|");
|");
|");
|");
|");
|");
|");
tab[1][2]=0.95; tab[1][3]=0.71;
tab[2][2]=1.27; tab[2][3]=1.27;
tab[3][2]=1.59; tab[3][3]=1.98;
tab[4][2]=1.91; tab[4][3]=2.85;
tab[5][2]=2.22; tab[5][3]=3.88;
tab[6][2]=2.54; tab[6][3]=5.07;
tab[7][2]=2.86; tab[7][3]=6.41;
tab[8][2]=3.18; tab[8][3]=7.92;
tab[9][2]=3.49; tab[9][3]=9.58;
tab[10][2]=3.81; tab[10][3]=11.4;
do
{
printf("\n\n\t\t\t\t ANALISIS DE VIGAS T");
printf("\n\n\t\t\t\t ===================");
do
{
printf("\n\n Valor de 'numero de capas de acero': ");
scanf("%d",&c);
do
{
printf("\ Desea corregir el dato? oprima 1(si)/2(no):");
scanf("%d",&elec);
21
}while(elec>2 || elec<1);
}while(elec==1);
do
{
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
Ass=0;
y=0;
for(i=0;i<c;i++)
{
printf("\n\n CAPA %d",i+1);
",i+1);
");
f=barra-2;
db[i]=tab[f][2];//diametro de cada acero
Asu[i]=tab[f][3];//acero por unidad
printf("\n .Diametro del acero es %0.2f cm y su area es %0.2f
cm2",db[i],Asu[i]);
if(db[i]<=2.54)
{
sb=2.54;
}
else
{
sb=db[i];
22
}
espocup[i]=(n[i]*db[i])+((n[i]-1)*sb);
As[i]=Asu[i]*n[i];//acero por capa
Ass=As[i]+Ass;//acumulacion total de area de acero
y=adi+db[i]/2;
num=num+(As[i]*y);
adi=adi+db[i]+2.54;
}
emay=espocup[0];
nb=n[0];
for(i=0;i<c;i++)
{
if(emay<=espocup[i])
{
emay=espocup[i];
nb=n[i];
}
}
printf("\n\n Area total de acero a utilizar es As: %0.2f", Ass);
printf("\n\n Elija un numero de barra de la tabla para el
estribo: ");
scanf("%d",&barraest);
j=barraest-2;
ds=tab[j][2];
printf("\n\n Diametro del acero es %0.2f cm ",ds);
bmin=2*(rc+ds)+emay;
printf("\n El bmin es: %f",bmin);
if(bmin>bw)
{
printf("\n\a ##Dimension minimo de ancho minimo de viga
mayor que el introducido. \n *Ingrese nuevos diametros de acero");
printf("\n ...........................................................
.................................");
}
}while(bmin>bw);
printf("\n\n\t Ingrese los siguientes valores:");
do
{
printf("\n\n -Valor de 'b' (cm): ");
scanf("%f",&b);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
23
24
k=0.5;
}
if(ek==2)
{
k=0.75;
}
printf("\n\n el valor elegido de k es: %0.2f",k);
}while(elec==1);
yg=num/Ass;
printf("\n\n el centro de las capas de acero es %0.2f cm",yg);
d=h-(rc+ds+yg);
printf("\n\n El valor de 'd' es: %0.2f cm",d);
p=Ass/(b*d); //cuantia
printf("\n\n **El valor de la cuantia es 'p': %0.5f",p);
pmin1=sqrt(fc)*(0.8/fy);
printf("\n\n ..El valor de la cuantia min1 es : %0.5f",pmin1);
pmin2=14/fy;
printf("\n ..El valor de la cuantia min2 es : %0.5f",pmin2);
if(pmin1>pmin2)
{
pmin=pmin1;
}
else
{
pmin=pmin2;
}
printf("\n\n La *Cuantia minima es: %0.5f", pmin);
B1=0.85-(0.05*(fc-280)/70);
if(B1>0.85)
{
B1=0.85;
}
if(B1<0.65)
{
B1=0.65;
}
printf("\n\n\tEl valor de B1 es: %f",B1);
pv=B1*0.85*(fc/fy)*(6000/(6000+fy));
printf("\n\n El valor de r' es :%0.5f",pv);
Asf=0.85*fc*(b-bw)*hf/fy;
printf("\n\n El valor de Asf es :%0.2f cm2",Asf);
25
pf=Asf/(bw*d);
printf("\n\n El valor de rf es :%0.5f",pf);
pmax=k*(bw/b)*(pv+pf);
printf("\n\n El valor de Cuanta maxima es : %f",pmax);
if(pmin<p)
{
if(p<pmax)
{
printf("\n\n Conforme a las normas del ACI");
}
else
{
printf("\n\n No Conforme a las normas del ACI");
}
}
else
{
}
a=Ass*fy/(0.85*fc*b);
printf("\n\n El valor de 'a' es: %0.2f",a);
if(a<hf)
{
printf("\n\n /*\Usar seccion rectangular 'a' = %0.2f cm <
hf = %0.2f cm", a,hf);
Mu=0.9*Ass*(fy/1000)*((d-(a/2))/100);
printf("\n\n El Momento Ultimo es: %0.2f T-m", Mu);
}
if(a>hf)
{
printf("\n\n /*\Usar seccion T 'a' = %0.2f cm > hf = %0.2f
cm", a,hf);
As1=Ass-Asf;
printf("\n\n El valor de As1 es :%0.2f cm2",As1);
a1=As1*fy/(0.85*fc*bw);
printf("\n\n El valor del nnuevo 'a' es:%0.2f cm",a1);
Mu1=0.9*As1*(fy/1000)*((d-a1/2)/100);
Mu2=0.9*Asf*(fy/1000)*((d-hf/2)/100);
Mu=Mu1+Mu2;
printf("\n\n El Momento Ultimo es: %0.2f T-m", Mu);
}
printf(" \n\n :: DESEA CONTINUAR? 1(SI)/2(NO)::");
scanf("%d",&elec);
}while(elec==1);
26
return 0;
}
27
28
[4][10 ]
[10 ]
determinada capa.
o, i, j : Contadores.
barra : Nmero de barras del acero a elegir.
barraest : Variable del estribo.
c : Nmero de capas.
f : Nmero de filas de una matriz.
nb : Nmero de las barras.
ek : Eleccin de la zona ssmica.
k : Constante de sismo.
y : Centro de gravedad de las capas de acero.
num = 0 : Numerador de nuestro centro de gravedad.
adi : Valor de adicin que se le agrega a los centros de gravedad.
sb : Separacin de barra.
emay : Espacio mayor que ocupa una capa.
bmin : Ancho mnimo del alma de la viga T.
yg : Centro de gravedad de las capas de acero.
espocup[10] : Espacio ocupado por los aceros ocupados en una capa.
Asu[10] : rea de acero por unidad.
As[10] : rea total del acero en una capa.
Ass : rea total de cero en la seccin.
Asf : Acero propio de la viga T.
29
30