You are on page 1of 10

Diseo de columnas usando MathCAD

Para poder realizar el diseo apropiado de una columna es necesario construir un diagrama de
interaccion para cada propuesta de columna, y buscar aquella que logre satisfacer las necesidades
estructurales de la manera mas economica.
Para esto construiremos una hoja electronica que servira para poder realizar sin mayor esfuerzo el
diagrama de interaccion para columnas de distintas propiedades.
Lo primero que necesitamos hacer es declarar las caracteristicas de los materiales a ser utilizados:
f'c 3000psi := esfuerzo de rotura a compresion del concreto
fy 60ksi := esfuerzo de fluencia en el acero

u
0.003 := deformacion de rotura en el concreto
Es 200GPa := modulo de elasticidad del acero
definimos las propiedades geometricas de la seccion de concreto
b 60cm := rec 7cm :=
h 80cm :=
d' rec :=
d h rec 73cm = :=
7 varillas numero 9 de cada lado
Luego declaramos las caracteristicas del acero en la seccion a ser utilizada
Determinando asi la cantidad de acero
No
Barra
9 :=
Cant
Barras
11 :=
tanto a tension...
As
No
Barra
8
in
|

\
|
|
.
2

4
Cant
Barras
70.543 cm
2
= :=
como a compresion.
A's As 70.543 cm
2
= :=
calculamos el 1 por aparte, tal y como lo hemos hecho siempre.

1
0.85 :=
ahora, para continuar la hoja de calculo es necesario definir cada una de las deformaciones segun
lo da el diagrama de compatibilidad de deformaciones
Al saber las dimensiones de u, d y
d`; y al hacer uso del teorema de
triangulos similares podemos
determinar las dimensiones de `s y
s.
d'
s
's
u
Pero cuidado con un pequeo
detalle, en el despeje para `s y s
estas resultan en funcion de c, en
MathCAD si una variable no esta
definida, este la marcara en rojo y
muestra un mensaje de error
c
b
d
's
c
c
d'
c
c
|

\
|
|
.

u
:=
c
c
h
Para solucionar este problema, debemos escribir la formula en funcion de la variable desconocida,
asi el MathCAD sabra que de ese valor depende la respuesta y que puede ser desconocido. Para
lograr esto se usa la siguiente notacion:
's c
c
( )
c
c
d'
c
c
|

\
|
|
.

u
:=
s c
c
( )
d c
c

c
c
|

\
|
|
.

u
:=
*Notese que `s y s estan escritas en funcion de c
c
. Ahora el programa no tira error, porque sabe
que ese valor ser variable y que de el depende la respuesta.
*En este ejemplo se utilizara la notacion c
c
en lugar de c ya que la variable c tiene un valor
preestablecido en MathCAD equivalente a la velocidad de la luz.
Ahora, podemos seguir con el resto de la hoja de calculo.
Segun la ley de hooke, existe una correspondencia entre esfuerzo y deformacion, en este caso,
donde trabajamos con el rango lineal, la correspondencia es directa, de tal manera
f's c
c
( )
's c
c
( )
Es :=
Sin embargo, esto puede provocar problemas ya que para ciertos valores de cc el valor de f`s se
sale de la logica como ejemplo tenemos:
f's 200cm ( ) 5904.157
kgf
cm
2
=
y como sabemos de parciales anteriores, el valor maximo de f`s o de fs es el de fy. Asi que ser
necesario usar un poco de programacion para resolver la situacion.
Enprimer lugar se debe entender que la programacion en MathCAD es un poco diferente a la
programacion en otros programas.
Para programar en MathCAD es necesario hacer uso del comando "Add Line" en la barra de
herramientas de "Programming", asi lo primero que obtenemos es lo siguiente
f's c
c
( )
:=
Cada uno de los cursores indica una linea de programacion, en este caso la segunda linea aparece
en rojo, esto es porque el programa me esta indicando que no puede resolver la formula mientras
existan espacios en blanco
Ahora, es necesario colocar condiciones. Para esto usaremos el operador "if", tambien de la barra
de herramientas de "Programming". Colocaremos el if en la primera fila.
f's c
c
( )
if :=
claro, ahora nada mas resta dar las indicaciones de que se debe hacer con este operador "if", el
primer espacio en blanco en el if es lo que se hara, y el segundo espacio en blanco es la condicion.
Asi nuestra programacion quedaria:
f's c
c
( )
's c
c
( )
Es 's c
c
( )
Es fy < if :=
lo cual, puesto en palabras quiere decir:
"f`s(cc) ser `s*Es si `s*Es es mayor que fy"
pero aun falta colocar lo que suceder cuando no se cumple la condicion mostrada. Ahora, se debe
tener un poco de cuidado aca, puesto que es facil cometer el error de escribirlo de la siguiente
manera
f's c
c
( )
's c
c
( )
Es 's c
c
( )
Es fy < if
fy
:=
Esto esta malo ya que puesto en palabras la programacion dice lo siguiente:
"f`s(cc) ser `s*Es si `s*Es es mayor que fy"
"f`s(cc) ser fy"
Esto no es correcto ya que esto indica que aunque se analiza la condicion en el primer renglon, el
segundo asigna el valor de fy sin importar el resultado del primer renglon, asi para la funcion
escrita de esa manera, f`s siempre seria igual a fy, lo cual sin duda es un error.
la forma correcta deberia ser haciendo uso del operador "otherwise" de la barra de herramienta de
"Programming" en el segundo renglon.
f's c
c
( )
's c
c
( )
Es 's c
c
( )
Es fy < if
otherwise
:=
y luego incluyendo el valor de fy
f's c
c
( )
's c
c
( )
Es 's c
c
( )
Es fy < if
fy otherwise
:=
Puesto en palabras la programacion dice lo siguiente:
"f`s(cc) ser `s*Es si `s*Es es mayor que fy"
"f`s(cc) ser fy de lo contrario"
Esto lo que implica es que f`s solo ser igual a fy en caso que no se cumpla la condicion anterior.
Siempre que se utilice el operador "Otherwise" este debe acompaar a un "if".
Realizamos la misma operacion para calcular fs
fs c
c
( )
s c
c
( )
Es s c
c
( )
Es fy < if
fy otherwise
:=
definimos el valor de "a" en funcion de c
a c
c
( )
c
c
0.85 :=
Luego calculamos Pn y Mn tambien en funcion de c
Pn c
c
( )
0.85f'c b a c
c
( )
A's f's c
c
( )
+ Asfs c
c
( )
:=
Mn c
c
( )
0.85f'c b a c
c
( )

h
2
a c
c
( )
2

\
|
|
.
A's f's c
c
( )

h
2
d'
|

\
|
|
.
+ As fs c
c
( )

h
2
rec
|

\
|
|
.
+ :=
El problema existente con estas funciones es que adoptan valores de c desde -infinito hasta
+infinito. Por esto es necesario determinar los limites de nuestra funcion.
En primer lugar determinamos el valor maximo de carga axial que puede recibir la columna.
P
o
0.85 0.85f'c b h As A's ( ) As fy + A's fy + [ ] :=
Luego determinamos el valor de Pn y Mn, estos dependeran de su comparacion con los valores
limites. Podemos lograr esto haciendo uso de operadores "if" tal como hicimos en los casos
anteriores. Esto es especialmente cierto para el Mn el cual cambia el utilizado cuando el valor
de Pn es menor a P*
Pn c
c
( )
0.65Pn c
c
( )
0.65Pn c
c
( )
P
o
< if
P
o
otherwise
:=
Mn c
c
( )
0.9 Mn c
c
( )
Pn c
c
( )
0.1 b h f'c < if
0.65Mn c
c
( )
otherwise
:=
al final lo unico que resta es dibujar los diagramas.
En MathCAD logramos esto incluyendo un grafico con la herramienta "X-Y plot" en la barra de
herramientas de graficos, o con el uso del shortcut al escribir @ en cualquier parte de la hoja
En este grafico coloco las funciones en los lugares correspondientes, primero el Pn(c) en el cursor
correspondiente al eje y, y luego Mn(c) en el cursor correspondiente al eje x
5 10
8
3 10
8
1 10
8
1 10
8

1 10
8

0
1 10
8

2 10
8

Pn c
c
( )
Mn c
c
( )
La forma irregular del grafico es debido a los limites escogidos automaticamente por el programa,
por lo cual sera necesario corregirlos para partir desde la posicion (0,0). Esto lo logramos dando
clic al grafico y cambiando el limite inferior tanto del eje-y como en el eje-x a 0
0 1 10
6
2 10
6

0
5 10
7

1 10
8

1.5 10
8

Pn c
c
( )
Mn c
c
( )
Corregimos el limite superior del eje-y a un valor q permita visualizar de forma adecuada el grafico,
en este caso alrededor de 15000kN.
0 1 10
6
2 10
6

0
5 10
6

1 10
7

1.5 10
7

Pn c
c
( )
Mn c
c
( )
Finalmente incluimos el grafico de diseo adicionando Pn(c) y Mn(c). Logramos esto
agregando una "," (comma) despues de cada una de las funciones ya graficadas (Pn(c) y Mn(c))
15000kN
0
Pn c
c
( )
2.76 10
6

0 Mn c
c
( )
,
Esto puede causar que momentaneamente desaparezca el grafico porque el MathCAD espera el
ingreso de las nuevas funciones a graficar. En estos espacios en blanco incluimos Pn(c) y
Mn(c) respectivamente, y obtenemos lo siguiente
0 1 10
6
2 10
6

0
5 10
6

1 10
7

1.5 10
7

Pn c
c
( )
Pn c
c
( )
Mn c
c
( )
Mn c
c
( )
,
Este primer diagrama muestra un cambio repentino entre el de compresion y el de flexion, sin
embargo el ACI recomienda un cambio gradual. Para lograr graficar de esta manera en el MathCAD
es necesario determinar el valor de en funcion de c. Esta expresion se puede lograr al determinar
la ecuacion lineal mediante la cual el valor de se ve afectado por Pn, cambiando desde 0.65
hasta 0.9 gradualmente a medida disminuya el Pn.
c
c
( )
0.9
0.9 0.65
0 0.1 b h f'c
Pn c
c
( )
+ Pn c
c
( )
0.1 b h f'c s if
0.65 otherwise
:=
Mn2 c
c
( )
Mn c
c
( )
c
c
( )
:=
Una vez que se obtiene este valor se puede graficar y obtenemos lo siguiente
0 1 10
6
2 10
6

0
2 10
6

4 10
6

6 10
6

8 10
6

1 10
7

Pn c
c
( )
Pn c
c
( )
Mn c
c
( )
Mn2 c
c
( )
,
Finalmente incluimos los valores de las solicitaciones sacados de nuestras combinaciones de
carga para verificar el rendimiento de nuestra columna. Para esto declaramos los valores
correspondientes de Mu y Pu sacados de nuestras combinaciones
Mu
comb1
360kN m := Pu
comb1
8000kN :=
Mu
comb2
600kN m := Pu
comb2
5000kN :=
Mu
comb3
980kN m := Pu
comb3
3000kN :=
Mu
comb4
1570kN m := Pu
comb4
1500kN :=
Y los incluimos en el grafico, uno por uno, usando "," (comma)
Lo cual resulta en el siguiente grafico:
0 1 10
6
2 10
6

0
2 10
6

4 10
6

6 10
6

8 10
6

1 10
7

Pn c
c
( )
Pn c
c
( )
Pu
comb1
Pu
comb2
Pu
comb3
Pu
comb4
Mn c
c
( )
Mn2 c
c
( )
, Mu
comb1
, Mu
comb2
, Mu
comb3
, Mu
comb4
,
Notese que los valores ingresados no son funciones de c sino valores puntuales, para hacerlos
visibles se le debe indicar al grafico que estos son puntos y no lineas. Esto se hace desde la
ventana de propiedades del grafico (doble clic en el grafico), y luego en la vieta de traces,
cambiar la seleccion en la columna de "symbol" a algo que pueda ser visualizado.
Este diagrama de interaccion nos servir para poder verificar si cumplen o no las caracteristicas de
nuestra seccion con los requisitos de resistencia impuestos por las solicitaciones que recibe la
columna. Como se puede ver, para el caso particular analizado en este ejemplo, la columna
propuesta logra resistir las cargas sin problema. Cabe destacar que los valores de carga utilizados
en este caso son solo de fines academicos, lo cual puede ser ilustrado por lo irracional que resultan
sus magnitudes.
En caso de no resistir, habria que hacer un reajuste de las propiedades geometricas (iluminadas
previamente en amarillo), cantidades de acero (iluminadas en verde), o caracteristicas de materiales
(iluminadas en azul) hasta lograr cumplir con lo requerido por parte de las solicitaciones y
recomendaciones estructurales.