Você está na página 1de 23

I.

INTRODUCCION

Generalmente las vigas usadas en los pisos y techos, no tienen forma


rectangular, sino que son en realidad vigas en forma T, desde que el vaciado
del alma y la losa se hace y se debe hacer monolticamente.

Por tanto el diseo hasta ahora desarrollado para vigas rectangulares no es


aparentemente valido, desde que deberamos considerar realmente secciones
en forma T.

Independiente al problema de cmo plantear las ecuaciones para el diseo de


una viga T, se debe primero cuantificar cual es el ancho de la losa
contribuyente en compresin para la viga, ya que a partir de ese valor definido,
se podr desarrollar las ecuaciones de equilibrio y de diseo.

Para determinar el ancho efectivo contribuyente, se puede hacer un anlisis de


elasticidad evaluando la distribucin de esfuerzos; como este camino suele ser
complicado para fines prcticos de diseo, se acude a las Normas (ACI), que
sugieren valores a considerar en la prctica usual.

II. OBJETIVOS
GENERAL

Ampliar nuestro conocimiento acerca del comportamiento de las vigas en forma


de T, al ser cometidas a esfuerzos flexin, su comportamiento y estudio.

ESPECFICOS

Conocer la clasificacin de las vigas en T.

III. MARCO TEORICO

VIGA DE SECCION T

En la norma peruana indica que en la construccin de vigas T, el ala y el alma


deberan ser construidas monolticamente o tener una conexin efectiva.

El ancho efectivo de las losas que acta como ala de una viga T, deber
evaluarse en base a los siguientes lmites:
- Menor o igual a la cuarta parte de la longitud de la viga.
- Menor o igual al ancho del alma ms ocho veces el espesor de la losa, a
cada lado del alma.
Menor o igual al ancho del alma ms la distancia libre a la siguiente
alma.

DISEO DE VIGAS T

Par ale diseo de vigas T se debe analizar las distintas posibilidades de


ubicacin del eje neutro. Se podrn tener cuatro opciones:

CASO 1: El eje neutro se encuentra dentro del espesor de la losa.


La viga puede considerarse como una viga rectangular de ancho b,
para fines de diseo, siendo validas las ecuaciones desarrolladas
para vigas rectangulares. No interesa el ancho de la zona
traccionada sino el ancho del bloque comprimido.

CASO 2: El eje neutro se encuentra en el lmite del espesor de la losa, y es


equivalente al caso uno, en cuanto que el diseo sigue siendo el de
una viga rectangular.

CASO 3: El eje neutro ha sobrepasado el espesor de la losa.


En este caso si tenemos una viga con forma T para el bloque
comprimido, que sin embargo, se puede descomponer en dos vigas
rectangulares.
La primera con las alas totalmente comprimidas, que forma una viga
rectangular de ancho (b-bw), y la segunda que es otra viga
rectangular de ancho bw.

CASO 4: La compresin est en la parte inferior y por tanto no interesa el


ancho de la losa contribuyente, pues est en traccin; para este
caso es evidente que el diseo es el de una viga rectangular de
ancho bw.
PROGRAMA: ANLISIS Y DISEO DE VIGA T

En el siguiente informe se muestra una descripcin de los pasos seguidos para


programar en visual C++, nuestro programa consiste que con los datos
ingresados nos resuelva una viga simplemente reforzada siguiendo el
procedimiento del Libro del ICG-CONCRETO ARMADO, del Ingeniero
Roberto Morales

PASOS DE LA PROGRAMACIN.

Para programar en Visual C++, damos doble clic en el cono de Microsoft


Visual C++ 2008.

Luego nos muestra la siguiente pantalla:


Para crear un C + + Application Console, haga clic en Archivo | Nuevo |
Proyecto.

El siguiente cuadro de dilogo aparece. Expanda el men de Visual C + + y


seleccione una de las plantillas a la izquierda el Aplicacin de consola
Win32.

En el nombre: cuadro de texto escriba un nombre para el proyecto


Haga clic en Aceptar. Se crear una carpeta con el nombre asignado en la
carpeta Mis documentos \ Visual Studio 2008 \ Projects.

Aparece el siguiente cuadro de dilogo:

Haga click en siguiente para continuar. Luego en el siguiente cuadro que


aparece seleccionar la opcin Aplicacin de consola y luego click en
finalizar.
A continuacin se presenta la ventana de trabajo.

Introducimos las libreras y variables a utilizar en el programa.

Elaboramos un pequeo grafico de comandos.

Seguimos los pasos segn el diagrama de flujo.


APLICACIN Y LIMITACIONES DEL PROGRAMA ANALISIS DE VIGA T

El program, es aplicable al anlisis de vigas con seccin tipo T, de concreto


armado con dimensiones y composicin de concreto armado establecidos.

Las DIMENSIONES estarn determinadas en el Sistema Internacional de


Unidades, con unidad de longitud determinada en el cm.

Los valores correspondientes al CONCRETO, en relacin a la resistencia a la


compresin estarn definidos en Kg/cm2.

El valor de 1, ser un valor calculado por el programa.

Los valores correspondientes al ACERO de la viga, estarn definidos de la


siguiente manera:

- Lmite de fluencia.(kg/cm2)
- N de varillas
- Dimetro de varillas y de estribos. (cm)
- N de capas: se debe seleccionar

Los clculos permitirn identificar:

- Peralte efectivo (d)


- rea de acero (As)
- Cuanta, Cuanta mnima, Cuanta mxima
- Profundidad del bloque rectangular en compresin (a)
- Momento ltimo.

El programa est limitado a un nmero de 3 capas en la zona que trabaja a


flexin y a dimetros iguales para todas las varillas de las capas.

CONSIDERACIONES PARA EL INGRESO DE DATOS Y PARA EL CLCULO


DE LOS PARMETROS DE ANALISIS DE VIGAS CON SECCIN T

A continuacin se describen algunos parmetros a considerarse tanto en el


ingreso de datos, como en el clculo del programa VT, para el diseo de vigas
con seccin T.

DATOS

DIMENSIONES

Para el ingreso de valores correspondientes a las dimensiones de la viga T,


se tomar como medida de longitud el cm.

CONCRETO
El valor de la resistencia del concreto, se ingresa en las unidades descritas
en el programa (kg/cm2).

ACERO

Varillas

N de Varillas: El nmero de varillas se ingresa como valores


numricos adimensionales, de acuerdo a la viga en anlisis.

N de capas: ESTE VALOR SE DEBE SELECCIONAR AL INICIAR


EL INGRESO DE DATOS. Se debe escoger entre 1, 2 o 3 capas
como mximo en la viga.

REVISION DE CUANTA SEGN EL CODIGO ACI

CALCULO

TIPO DE SECCIN

Se calcula el valor de a en cm. Luego, mediante la comparacin con el


peralte efectivo, se comprobar si la viga trabaja como viga T o
simplemente como viga rectangular.
DIAGRAMA DE FLUJO DE PROGRAMA:
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;

Muestra tabla de caractersticas de


acero

tab[1][1]=3; tab[1][2]=0.95; tab[1][3]=0.71;


tab[2][1]=4; tab[2][2]=1.27; tab[2][3]=1.27;
tab[3][1]=5; tab[3][2]=1.59; tab[3][3]=1.98;
tab[4][1]=6; tab[4][2]=1.91; tab[4][3]=2.85;
tab[5][1]=7; tab[5][2]=2.22; tab[5][3]=3.88;
tab[6][1]=8; tab[6][2]=2.54; tab[6][3]=5.07;
tab[7][1]=9; tab[7][2]=2.86; tab[7][3]=6.41;
tab[8][1]=10; tab[8][2]=3.18; tab[8][3]=7.92;
tab[9][1]=11; tab[9][2]=3.49; tab[9][3]=9.58;
tab[10][1]=12; tab[10][2]=3.81;tab[10][3]=11.4;
Numero de capas de acero (c)

Ingresar bw y recubrimiento

Ass=0; i=0

no
i<c

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
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
i<c-1

no
emay<= espocup[i+1];

si
emay=espocup[i+1];

i=i+1

-rea total de acero (Ass) -Ingresar numero de


barra par estribo (barraest)

j=barraest-2; dsest=tab[j][3]; bmin=2*(rc+ds)+emay

no
bmin>bw

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)

1( alto riesgo ssmico) 2( bajo riesgo ssmico)


[ek]
no
ek==1 ek==2

si si
K=0.5 K=0.755

yg=num/Ass; d=h-(rc+ds+yg)

Valor de d, yg

p=Ass/(b*d)

Valor de cuantia (p)

pmin1=sqrt(fc)*(0.8/fy); pmin2=14/fy

Valor de cuantia minima 1 y minima 2

si
pmin1 pmin=pmin1
>pmin2

no

pmin=pmin2

Valor de cuantia minima

B1=0.85-(0.05*(fc-280)/70)
no
B1>0.85 B1<0.65

si si

B1=0.85 B1=0.65

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)

Mostrar los valores de:


pv, Asf, pf, pmax.

no No cumple con las


pmin<p normas del ACI

si

no
p<pmax No cumple con las
normas del ACI
si

Cumple con las normas del


ACI

a=Ass*fy/(0.85*fc*b)

Valor de a
no
a<hf

si

Analizar como seccin rectangular

Mu=0.9*Ass*(fy/1000)*((d-
(a/2))/100)

Momento ultimo: 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 ultimo: Mu

FIN
CODIFICACION DEL PROGRAMA
#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| AREA (cm2) |");


printf("\n 3 | 0.95cm | 0.71 |");
printf("\n 4 | 1.27cm | 1.27 |");
printf("\n 5 | 1.59cm | 1.98 |");
printf("\n 6 | 1.91cm | 2.85 |");
printf("\n 7 | 2.22cm | 3.88 |");
printf("\n 8 | 2.54cm | 5.07 |");
printf("\n 9 | 2.86cm | 6.41 |");
printf("\n 10| 3.18cm | 7.92 |");
printf("\n 11| 3.49cm | 9.58 |");
printf("\n 12| 3.81cm | 11.4 |");

tab[1][1]=3; tab[1][2]=0.95; tab[1][3]=0.71;


tab[2][1]=4; tab[2][2]=1.27; tab[2][3]=1.27;
tab[3][1]=5; tab[3][2]=1.59; tab[3][3]=1.98;
tab[4][1]=6; tab[4][2]=1.91; tab[4][3]=2.85;
tab[5][1]=7; tab[5][2]=2.22; tab[5][3]=3.88;
tab[6][1]=8; tab[6][2]=2.54; tab[6][3]=5.07;
tab[7][1]=9; tab[7][2]=2.86; tab[7][3]=6.41;
tab[8][1]=10; tab[8][2]=3.18; tab[8][3]=7.92;
tab[9][1]=11; tab[9][2]=3.49; tab[9][3]=9.58;
tab[10][1]=12; 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);
}while(elec>2 || elec<1);

}while(elec==1);

do
{
printf("\n -Valor de 'bw'(cm): ");
scanf("%f",&bw);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);

do
{
printf("\n -Valor de 'recubrimiento'(cm): ");
scanf("%f",&rc);
do
{
printf("\ Desea corregir el dato? oprima
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);

printf("\n *Cantidad de barras de acero para la capa %d:


",i+1);
scanf("%d",&n[i]);

printf("\n -Elija un numero de barra de la tabla para el acero:


");
scanf("%d",&barra);

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];
}
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
{
printf("\n -Valor de 'h'(cm): ");
scanf("%f",&h);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
printf("\n -Valor de 'hf'(cm): ");
scanf("%f",&hf);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);

do
{
printf("\n -Valor de f'c(kg/cm2): ");
scanf("%f",&fc);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);
do
{
printf("\n -Valor de fy (kg/cm2): ");
scanf("%f",&fy);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
}while(elec==1);

do
{
printf("\n -Tipo de zona(elija una de las opciones");
printf("\n\n 1=Alto riesgo sismico \t\t 2=Bajo riesgo
sismico \n\n la opcion que usted elige es:");
scanf("%d",&ek);
do
{
printf("\ Desea corregir el dato? oprima
1(si)/2(no):");
scanf("%d",&elec);
}while(elec>2 || elec<1);
if(ek==1)
{
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);

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
{
printf("\n\n No Conforme a las normas del ACI");
}

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);
return 0;
}

Você também pode gostar