Uploaded by Yon Fran

Trabajo de ascenso Nelson Lopez

advertisement
Universidad Centroccidental Lisandro Alvarado.
Decanato de Ingeniería Civil.
Departamento de Ingeniería Estructural.
Análisis plano de estructuras mediante
Macros de Microsoft Excel
AUTOR
Ing. Nelson López
C.I.: 17.355.974
TUTOR
Ing. Juan Vielma
Octubre de 2012
Análisis plano de estructuras mediante Macros de Microsoft Excel
ÍNDICE DE CONTENIDO
INTRODUCCIÓN ....................................................................................................................... 7
PLANTEAMIENTO DEL PROBLEMA ......................................................................................... 8
JUSTIFICACIÓN ........................................................................................................................ 9
MARCO TEÓRICO ................................................................................................................... 10
1. ALGEBRA MATRICIAL: ..................................................................................................... 10
1.1. MATRIZ: ............................................................................................................................ 10
1.2. VECTOR COLUMNA O MATRIZ COLUMNA:..................................................................... 10
1.3. VECTOR FILA O MATRIZ FILA:......................................................................................... 11
1.4. TIPOS DE MATRICES: ...................................................................................................... 11
1.4.1.MATRIZ CUADRADA ...................................................................................................... 11
1.4.2.MATRIZ DIAGONAL ........................................................................................................ 11
1.4.3.MATRIZ IDENTIDAD [I] O UNITARIA: ............................................................................. 12
1.4.4.MATRIZ SIMÉTRICA: ...................................................................................................... 12
1.5. OPERACIONES MATRICIALES: ........................................................................................ 13
1.5.1.ADICIÓN Y SUBSTRACCIÓN DE MATRICES: ................................................................ 13
1.5.2.MULTIPLICACIÓN DE MATRICES: ................................................................................. 13
1.5.3.TRASPOSICIÓN DE MATRICES: .................................................................................... 14
1.5.4.INVERSA DE UNA MATRIZ: ........................................................................................... 15
2. FORMULACIÓN MATRICIAL POR EL MÉTODO DE RIGIDEZ DIRECTA: ......................... 15
2.1. SOLUCIÓN GENERAL POR EL MÉTODO DE LOS DESPLAZAMIENTOS: ....................... 16
2.2. MATRIZ DE RIGIDEZ DE UN ELEMENTO PÓRTICO PLANO, ARBITRARIAMENTE
ORIENTADO...................................................................................................................... 17
3. DESARROLLO DE LA PROGRAMACIÓN EN MICROSOFT EXCEL.................................. 23
3.1. PROGRAMACIÓN DEL MACRO EN MICROSOFT EXCEL ................................................ 24
3.1.1.PROGRAMACIÓN DE LA HOJA “MATRIZ DE RIGIDEZ” ................................................ 24
Página | 2
Análisis plano de estructuras mediante Macros de Microsoft Excel
3.1.2.PROGRAMACIÓN DEL MACRO PARA ENSAMBLAR LA MATRIZ DE RIGIDEZ DE LA
ESTRUCTURA: ................................................................................................................. 46
3.1.2.PROGRAMACIÓN DE LA HOJA “MATRIZ DE FUERZAS” .............................................. 57
3.1.3.PROGRAMACIÓN DE LA HOJA “CALCULOS”................................................................ 65
EJERCICIOS DE APLICACIÓN RESUELTOS CON EL MACRO .............................................. 75
CONCLUSIONES..................................................................................................................... 86
REFERENCIAS BIBLIOGRÁFICAS .......................................................................................... 95
Página | 3
Análisis plano de estructuras mediante Macros de Microsoft Excel
ÍNDICE DE FIGURAS
Figura Nº 1. Caso general de pórtico plano arbitrariamente orientado ............................ 17
Figura Nº 2. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
con desplazamiento vertical unitario en el nodo i......................................................... 18
Figura Nº 3. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
con desplazamiento vertical unitario en el nodo j......................................................... 19
Figura Nº 4. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
con rotación unitaria en el nodo i ................................................................................... 19
Figura Nº 5. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
con rotación unitaria en el nodo j ................................................................................... 20
Figura Nº 6. Superposición de efectos de fuerzas cortantes y momentos flectores con
fuerzas axiales................................................................................................................. 21
Figura Nº 7. Entrada de datos en la hoja de Excel............................................................. 24
Figura Nº 8. Ejercicio propuesto (fuerzas en Tf y distancias en m) .................................. 26
Figura Nº 9. Numeración y nomenclatura de elementos y nodos ..................................... 26
Figura Nº 10. Datos del pórtico en estudio.......................................................................... 27
Figura Nº 11. Activando formularios de Visual Basic en Excel ......................................... 28
Figura Nº 12. Activando formularios de Visual Basic en Excel ......................................... 28
Figura Nº 13. Activando formularios de Visual Basic en Excel ......................................... 29
Figura Nº 14. Insertando casillas de verificación ................................................................ 29
Figura Nº 15. Asignando macro a la casilla de verificación ............................................... 30
Figura Nº 16. Asignando macro a la casilla de verificación ............................................... 30
Figura Nº 17. Seleccionando en la pestaña “Vista-Macros-Grabar macro” ..................... 33
Figura Nº 18. Ventana auxiliar para grabar macros ........................................................... 33
Figura Nº 19. Selección de las celdas cuyo contenido será borrado ............................... 35
Figura Nº 20. Selección de número de nodos y barras del sistema ................................. 37
Figura Nº 21. Programación del comando “Contar()”......................................................... 38
Figura Nº 22. Insertando un botón para ser programado. ................................................. 43
Figura Nº 23. Asignando el macro al botón programado ................................................... 43
Página | 4
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 24. Asignando el macro al botón programado ................................................... 44
Figura Nº 25. Vista general de la hoja de Excel de datos.................................................. 44
Figura Nº 26. Resultados de la matriz de rigidez para los elementos evaluados............ 45
Figura Nº 27. Resultados de la matriz de rigidez para el elemento 1............................... 45
Figura Nº 28. Matriz de Rigidez del elemento 2. ................................................................ 46
Figura Nº 29. Matriz de rigidez de cada elemento. ............................................................ 47
Figura Nº 30. Valores de subíndices copiados de la matriz de cada elemento a la matriz
global de la estructura..................................................................................................... 48
Figura Nº 31. Subíndices de la matriz de rigidez de toda la estructura............................ 49
Figura Nº 32. Matriz de rigidez ensamblada ....................................................................... 57
Figura Nº 33. Fuerzas de empotramiento .......................................................................... 58
Figura Nº 34. Sentido de las fuerzas según cuadrante a donde apunte .......................... 58
Figura Nº 35. Celdas que deben llenarse con datos .......................................................... 59
Figura Nº 36. Vector de fuerzas de empotramiento y de desplazamientos en los nodos. ........ 64
Figura Nº 37. Matriz global de la estructura ........................................................................ 71
Figura Nº 38. En rojo los valores de la matriz a invertir ..................................................... 71
Figura Nº 39. Reacciones y desplazamientos calculados ................................................. 74
Figura Nº 40. Resultados del pórtico evaluado. Fuente J.U. Escamilla (año) ................. 74
Figura Nº 41. Pórtico para ejercicio de aplicación .............................................................. 75
Figura Nº 42. Numeración de los nodos.............................................................................. 76
Figura Nº 43. Datos geométricos para el pórtico evaluado ............................................... 76
Figura Nº 44. Matriz de rigidez de cada elemento. ............................................................ 77
Figura Nº 45. Matriz de rigidez de toda la estructura ......................................................... 77
Figura Nº 46. Matriz de fuerzas para el pórtico en estudio................................................ 78
Figura Nº 47. Matriz de fuerzas del pórtico en estudio ...................................................... 79
Figura Nº 48. Reacciones y desplazamientos calculados ................................................. 79
Figura Nº 49. Cercha para ejercicio de aplicación ............................................................. 80
Figura Nº 50. Datos de la cercha en estudio ...................................................................... 81
Figura Nº 51. Matriz de rigidez de cada elemento ............................................................. 82
Página | 5
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 52. Matriz de rigidez de toda la cercha .............................................................. 83
Figura Nº 53. Fuerzas aplicadas a la cercha. ..................................................................... 83
Figura Nº 54. Matriz de fuerzas y desplazamientos para la cercha en estudio ............... 84
Figura Nº 55. Reacciones y desplazamientos para la cercha en estudio ........................ 85
Figura Nº 56. Pórtico para ejercicio de aplicación .............................................................. 86
Figura Nº 57. Numeración de los nodos.............................................................................. 86
Figura Nº 58. Matriz de rigidez de cada elemento. ............................................................ 87
Figura Nº 59. Matriz de rigidez del elemento horizontal. (Fuente, J.U. Escamilla) ......... 88
Figura Nº 60. Matriz de rigidez de los elementos verticales. (Fuente, J.U. Escamilla) ... 88
Figura Nº 61. Matriz de rigidez global de la estructura ...................................................... 89
Figura Nº 62. Matriz de rigidez global de la estructura. (Fuente, J.U. Escamilla) ........... 89
Figura Nº 63. Fuerzas de empotramiento generadas con el macro. ................................ 90
Figura Nº 64. Fuerzas de empotramiento para el elemento horizontal. (Fuente, J.U.
Escamilla)......................................................................................................................... 90
Figura Nº 65. Ecuación de equilibrio de la estructura expresada en forma matricial ...... 91
Figura Nº 66. Ecuación de equilibrio de la estructura. (Fuente, J.U. Escamilla) ............. 92
Figura Nº 67. Reacciones y desplazamientos calculados con el macro .......................... 92
Figura Nº 68. Resultados de reacciones y desplazamientos (Fuente, J.U. Escamilla) .. 93
Página | 6
Análisis plano de estructuras mediante Macros de Microsoft Excel
INTRODUCCIÓN
Actualmente, el uso de las herramientas informáticas para resolución de
cálculos en cualquier área de estudio es esencial para reducir el tiempo en la
realización de los mismos, que se puede traducir en la inversión de ese
tiempo en realizar optimizaciones en los cálculos y en el análisis de un
número “n” de soluciones al problema planteado, pudiendo así, realizar
múltiples iteraciones hasta llegar a un resultado óptimo.
El presente trabajo de ascenso, tiene como finalidad, hacer uso de una de
las herramientas informáticas más sencillas en el mercado como lo es el
programa Microsoft Excel para crear un código en Visual Basic que permita
la resolución de pórticos en dos dimensiones, sometidos a fuerzas cortantes,
fuerzas axiales y momentos flectores, calculando así, las reacciones y
desplazamientos en los nodos de la estructura en estudio.
El macro que se desarrollara a lo largo del presente trabajo, se basó en el
análisis de estructuras con métodos matriciales, en donde se realizaran
códigos para obtener la matriz de rigidez de cada elemento, la matriz de
rigidez global de la estructura ensamblada a partir de la matriz de rigidez
cada elemento, la matriz de fuerzas de empotramiento, la matriz de fuerzas
nodales, y la matriz de desplazamientos de cada nodo, y cada una de las
matrices se mostrara en una hoja de cálculo, de manera que para fines
académicos, el alumno podrá visualizar cada una de las matrices.
Página | 7
Análisis plano de estructuras mediante Macros de Microsoft Excel
PLANTEAMIENTO DEL PROBLEMA
La resolución de estructuras planas por métodos matriciales, resulta ser
trabajosa conforme al número de elementos (barras y nodos) presentes en la
estructura, lo que representa un gran número de cálculos por elemento que
al trabajar de manera manual se pudiera incurrir en errores como el uso de
pocos decimales para el cálculo, trasponer valores, trasponer índices
matriciales que alterarían el orden de los coeficientes de la matriz de la
estructura y por ende el cálculo erróneo de los valores de rigidez. Por ello,
este trabajo de investigación se basa en la programación de macros en
Microsoft Excel para el cálculo de estructuras planas, con un enfoque
netamente académico basado en métodos matriciales, con la finalidad de
que el alumno invierta más tiempo en analizar el problema que en resolver el
problema, sin quitarle la importancia que tiene conocer y realizar los cálculos
de manera manual.
Página | 8
Análisis plano de estructuras mediante Macros de Microsoft Excel
JUSTIFICACIÓN
Es de conocer que los programas existentes utilizan los métodos de cálculo
matriciales para resolver estructuras. Sin embargo, las matrices generadas
por cada elemento no pueden ser visualizadas por el usuario, solo los
resultados obtenidos de la resolución final, de manera que académicamente
resulta difícil que el alumno posea un punto de comparación para chequear
sus ejercicios, y a esto se le agrega que los software que se encuentran en el
mercado poseen licencias de uso costosas y temporales, que probablemente
no todos los alumnos posean, y además se requiere que el alumno posea
conocimientos del uso del programas para poder manipularlo. Por ello, este
trabajo se basa en desarrollar un macro en Microsoft Excel, que es un
software de uso sencillo, que todos conocemos, y que se hará interactuar
con otro software como lo es el Visual Basic, que se dicta el la asignatura
Programación II en el 3er semestre del pensum actual (1994).
Página | 9
Análisis plano de estructuras mediante Macros de Microsoft Excel
MARCO TEÓRICO
Para poder desarrollar un programa en cualquier lenguaje de programación,
es necesario conocer la teoría de los métodos de cálculo a usar para la
resolución de los problemas planteados. A continuación se muestran los
basamentos teóricos para el cálculo de manera directa, ya que el enfoque del
trabajo es la elaboración del macro para la resolución de las estructuras.
1.
Algebra Matricial
1.1.
Matriz
Una matriz de orden mxn, o de dimensión m por n (escrita como m x n) es un
conjunto de m x n elementos ordenados en m filas y n columnas. Por tanto,
una matriz A de (m x n) puede expresarse como la Ecuación 1.1
Los elementos de la Matriz A pueden ser números reales o complejos, o bien
funciones.
1.2.
…
…
…
… … … … … … (Ecuación 1. 1)
Vector Columna o Matriz columna
Es una matriz que consta de n filas y una sola una columna, es decir que
tiene todos sus elementos colocados en una única columna (de orden nx1),
tal como se muestra en la Ecuación 1.2
Página | 10
Análisis plano de estructuras mediante Macros de Microsoft Excel
1.3.
(Ecuación 1. 2)
Vector fila o Matriz fila
Una matriz fila de orden 1xn, es una matriz que tiene solamente una fila y n
columnas, como se muestra en la Ecuación 1.3
1.4.
… (Ecuación 1. 3)
Tipos de matrices
1.4.1. Matriz cuadrada
Es una matriz con igual número de filas y columnas, es decir de orden nxn,
como se muestra en el ejemplo 1.
8
6
8
3 2
9 5$
7 4
(ejemplo 1)
1.4.2. Matriz diagonal
Es una matriz cuadrada con todos los elementos nulos o iguales a cero, con
excepción de los que se encuentran en la diagonal principal definida por los
elementos a11, a22, …, ann. Es decir que:
0, '( ) * +
* 0, '( ) +
Un ejemplo de matriz diagonal se muestra en la Ecuación 1.4
Página | 11
Análisis plano de estructuras mediante Macros de Microsoft Excel
0
0
0
0
0
0 $
(Ecuación 1. 4)
1.4.3. Matriz identidad [I] o unitaria
Es una matriz cuadrada en la cual los elementos en la diagonal principal son
iguales a 1, y aquellos que no pertenecen a ella son iguales a cero, es decir
que:
0, '( ) * +
1, '( ) +
Un ejemplo de una matriz identidad se muestra en la Ecuación 1.5
1 0 0
0 1 0$
0 0 1
(Ecuación 1. 5)
1.4.4. Matriz simétrica
Es una matriz cuadrada en la cual los elementos de una matriz A cumplen la
igualdad aij = aji, como se muestra en el ejemplo 2
2 1
1 2
7 3
7
3$
2
(ejemplo 2)
Página | 12
Análisis plano de estructuras mediante Macros de Microsoft Excel
1.5.
Operaciones matriciales
Las operaciones matriciales pueden ser:
1.5.1. Adición y substracción de matrices
Si A y B son matrices del mismo orden, se define la adición de matrices como
A + B = C, donde C es una matriz del mismo orden que las matrices A y B, y
C se define con la expresión mostrada en la Ecuación 1.6
-./ ./ 0 1./
Para ) 1,2, … , 2; + 1,2, … , (Ecuación 1. 6)
En el ejemplo 3 se muestra un ejemplo de la adición de matrices
2 3 4
34 5
6 7 8
134 5
1 0
72 0
5
6
9
71 3
6
1 5
(ejemplo 3)
3 3 3 8
-34 34 0 134 5
6
4 7 9 14
1.5.2. Multiplicación de matrices
La multiplicación de A por B, que se denota 8. :, 8;:, 8<:, o simplemente
AB, el resultado del producto es una nueva matriz C, como se muestra en la
Ecuación 1.7
- 1
(Ecuación 1. 7)
Donde cada elemento ci,j está definido como :
Página | 13
Análisis plano de estructuras mediante Macros de Microsoft Excel
= ∑?@ ? A?
(Ecuación 1. 8)
Y al desarrollar la Ecuación 1.8, se obtiene la Ecuación 1.9, que es el
producto de las matrices.
- 1 B A
C D
E.F C A
I A 0 C 0 I A
-F
I A 0 C 0 I A
C
D
C
C AG
D
H
C AG
I AG 0 C 0 I AG
H
I AG 0 C 0 I AG
(Ecuación 1. 9)
1.5.3. Trasposición de matrices
Consiste en la creación de una nueva
matriz a partir de una existente,
intercambiando las filas de la matriz existente por columna en la nueva matriz
traspuesta, es decir que el elemento aij será igual en la traspuesta al
elemento aji. Cabe destacar que si el orden de la matriz original es de mxn, el
orden de la matriz traspuesta será de mxn, como se muestra en el ejemplo 4.
8 3
3 6 9$
8 7
8
J3 5
3
6 8
6
9 7
(ejemplo 4)
Página | 14
Análisis plano de estructuras mediante Macros de Microsoft Excel
1.5.4. Inversa de una matriz
La inversa de una matriz A-1 de una matriz cuadrada A se define mediante la
Ecuación 1.10
. K L
(Ecuación 1. 10)
En donde I es la matriz identidad. Las condiciones necesarias para que la
matriz A tenga inversa son las siguientes:
•
A debe ser una matriz cuadrada
•
El determinante de A debe ser distinto de cero (0)
2. Formulación Matricial por el método de rigidez directa
Se basa en la relación de acción y respuesta de los elementos en base a sus
propiedades geométricas, cargas aplicadas y desplazamientos, asemejando
la estructura a un resorte con la siguiente expresión:
En donde:
{Q}
MNO P I MQO 0 MNRO
(Ecuación 2. 1)
es un vector de fuerzas nodales externas, ya que el método solo
considera fuerzas aplicadas en los nodos
[K] es la matriz de rigidez de la estructura
{D} es un vector de desplazamientos nodales
{Qe} es un vector de fuerzas de empotramiento debido a cargas aplicadas en
los miembros
Página | 15
Análisis plano de estructuras mediante Macros de Microsoft Excel
Análogamente, se puede expresar el cálculo de desplazamientos de manera
matricial como:
MQO PK I MNO 7 MNRO
(Ecuación 2. 2)
Donde [K-1] es la inversa de la matriz de rigidez o matriz de flexibilidad
2.1.
Solución general por el método de los desplazamientos:
Partiendo del planteamiento anterior, se realiza un ordenamiento de la matriz
en base a fuerzas y desplazamientos conocidos y desconocidos, guardando
la relación de que con fuerzas conocidas, se obtienen desplazamientos
desconocidos y viceversa. El ordenamiento es el siguiente:
Donde
S
N
P
UV
NT
PT
PT Q
WV W
PTT QT
(Ecuación 2. 3)
Qn son las fuerzas externas nodales conocidas (cargas aplicadas a la
estructura)
Qa son las fuerzas externas nodales desconocidas (reacciones en apoyos)
Dn Desplazamientos nodales desconocidos
Da Desplazamientos nodales conocidos (generalmente desplazamientos en
apoyos)
Página | 16
Análisis plano de estructuras mediante Macros de Microsoft Excel
2.2.
Matriz de rigidez de un elemento pórtico plano, arbitrariamente
orientado
En general, un elemento de pórtico plano está sometido en sus extremos a
fuerzas
axiales,
cortantes
y
momentos
flectores,
y
se
encuentra
arbitrariamente
itrariamente orientado con respecto al eje x de la estructura. En ella, los
ejes del elemento son ejes locales, mientras que los ejes de la estructura son
ejes globales, y son ellos con respecto a los cuales se presentan los
resultados finales.
Figura Nº 1.. Caso general de pórtico plano arbitrariamente orientado
La relación entre las fuerzas axiales y cortantes de ambos sistemas se puede
expresar con la Ecuación 2.4:
2.4
Página | 17
Análisis plano de estructuras mediante Macros de Microsoft Excel
Para poder deducir la matriz de rigidez de un elemento arbitrariamente
orientado, es necesario obtener la matriz de rigidez de un elemento
horizontal, sometido a fuerzas cortantes y momentos flectores, la cual se
produce al generar los siguientes desplazamientos y rotaciones
rotac
en los
extremos del mismo:
•
Desplazamiento vertical unitario en el nodo i del elemento y
reacciones debido a ello,
ello, representando la primera columna de la Matriz de
Rigidez:
Figura Nº 2.. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
flectore
con desplazamiento vertical unitario en el nodo i
•
Desplazamiento vertical unitario en el nodo j del elemento y
reacciones debido a ello,
ello, representando la tercera columna de la Matriz de
Rigidez:
Página | 18
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 3.. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
con desplazamiento vertical unitario en el nodo j
•
Rotación unitaria en el nodo i del elemento y reacciones debido a ello,
ello
representando la segunda columna de la Matriz de Rigidez:
6EI
L²
4EI
L
1.00
2EI
L
6EI
L²
Figura Nº 4.. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
con rotación unitaria en el nodo i
•
Rotación unitaria en el nodo i del elemento y reacciones debido a ello,
ello
representando la cuarta columna de la Matriz de
d Rigidez:
Página | 19
Análisis plano de estructuras mediante Macros de Microsoft Excel
6EI
L²
1.00
2EI
L
4EI
L
6EI
L²
Figura Nº 5.. Elemento horizontal sometido a fuerzas cortantes y momentos flectores,
con rotación unitaria en el nodo j
Al unir estas ecuaciones, se obtiene
tiene la matriz de rigidez de un elemento
horizontal, sometido a fuerzas cortantes y momentos flectores,
flectores como se
muestra
tra en la Ecuación 2.5
En esta matriz, se ha colocado en cada fila, las fuerzas cortantes y
momentos flectores en cada nodo debido a la acción de desplazamientos
unitarios como se muestra en las figuras N°2 a la N°5.
Sin embargo, todos los cuerpos también están sometidos a fuerzas axiales, y
es importante añadir
adir a la matriz deducida anteriormente, este efecto
efecto, como
se aprecia en la Figura Nº 6.
Página | 20
Análisis plano de estructuras mediante Macros de Microsoft Excel
Mi
Xi
Mi
Mj
Xj
Yi
Mj
=
+
Yi
Yj
Xj
Xi
Yj
Figura Nº 6. Superposición de efectos de fuerzas cortantes y momentos flectores con
fuerzas axiales
La matriz de rigidez para un elemento sometido solo a cargas axiales se
muestra en la Ecuación 2.6
X
X
Z Z 7
Z
Y
Y
Z Z Z
Z Z
Z Z Z
Z
Z
P X
X
7
Z Z
Z
Y
Y
Z
Z Z
Z Z
Z
Z Z
Z Z
Z Z Z Z Z Z (Ecuación 2.6)
Al superponer estos efectos, se obtiene la Ecuación 2.7, que se define como
la Matriz de rigidez para un elemento horizontal sometido a fuerzas cortantes,
fuerzas axiales y momentos flectores.
P X
Y
Z
Z
X
7
Y
Z
Z
Z
3XL
Y
[XL
Y3
7
Z
Z
[XL
Y3
4XL
Y
Z
3XL
[XL
7 3
Y
Y
[XL
3XL
Y3
Y
7
X
Y
Z
Z
X
Y
Z
Z
Z
3XL
Y
[XL
7 3
Y
7
Z
3XL
Y
[XL
7 3
Y
Z
[XL
Y3
3XL
Y
7
Z
[XL
Y3
4XL
Y
(Ecuación 2.7)
Página | 21
Análisis plano de estructuras mediante Macros de Microsoft Excel
Para obtener la matriz de rigidez de un elemento arbitrariamente orientado se
aplica la Ecuación 2.8.
P J
J
\ J
P
(Ecuación 2.8)
\ es
Donde T es la matriz de transformación deducida en la Ecuación 2.4, y P
la matriz de la Ecuación 2.7.
La Ecuación 2.8 al operarse matricialmente se convierte en la Matriz de
rigidez para un elemento arbitrariamente orientado con respecto al eje x
mostrada en la Ecuación 2.9.
3
3
X]3 3XL^3
X 3XL
X 3XL
[XL
X] 0 3XL^
7b
0
7_
7 ` ]μ
c
_
7
`
]μ
7
μ
Y
Y
Y
Y
Y
Y
Y
Y
Y3
3
3
3
X 3XL
X^
3XL]
[XL
X 3XL
X^
3XL]3
_
7 ` ]μ
0
]
7_
7 ` ]μ 7 b
0
c
Y
Y
Y
Y
Y3
Y
Y
Y
Y
[XL
[XL
4XL
[XL
[XL
7 3 μ
]
μ
7 3 ]
3
Y3
Y
Y
Y
Y
P X 3XL
X]3 3XL^3
[XL
X]3 3XL^3
X 3XL
7
_
7b
0
7
`
]μ
μ
c
0
_
7 ` ]μ
Y
Y
Y
Y
Y3
Y
Y
Y
Y
3
3
3
X^
3XL]
X 3XL
X^
3XL]3
X 3XL
[XL
7 ` ]μ 7 b
0
7 ` ]μ
0
7_
c 7 3 ] _
Y
Y
Y
Y
Y
Y
Y
Y
Y
[XL
[XL
[XL
[XL
3XL
μ
7 3 ]
7 3 μ
]
Y3
Y
Y
Y3
Y
[XL
μ
Y3
[XL
]
Y3
3XL
Y
[XL
μ
Y3
[XL
7 3 ]
Y
4XL
Y
7
(Ecuación 2.9)
Donde:
A = área de la sección transversal
E = Módulo de Elasticidad del material
I = Inercia de la figura que contrarresta a la flexión
L = Longitud del elemento
λ= Cos φχ
µ=Sen φχ
Página | 22
Análisis plano de estructuras mediante Macros de Microsoft Excel
3. DESARROLLO DE LA PROGRAMACIÓN EN MICROSOFT EXCEL
La programación de la hoja de cálculo se realizó con macros en Microsoft
Excel. Un macro en Microsoft Excel se define como la interacción entre
Microsoft Excel y Visual Basic en una misma hoja de cálculo, pudiendo
realizar operaciones complejas en la hoja de cálculo de manera rápida y
sencilla. Entre las ventajas de la utilización de macros en Microsoft Excel,
podemos destacar las siguientes:
•
En el entorno de Visual Basic no se requiere la declaración de ninguna
variable.
•
Se pueden utilizar botones desde la hoja de cálculo para ejecutar
códigos escritos en Visual Basic.
•
Los programas realizados con macros en las hojas de Excel
consumen poca memoria.
•
Se pueden tomar datos de celdas en Microsoft Excel, ejecutar un
código en Visual Basic y devolver resultados a otras celdas, estáticas o
dinámicas.
•
Permite realizar códigos con una programación sencilla en Visual
Basic, que en Microsoft Excel seria compleja, como lo es el ensamble de la
matriz de rigidez de una estructura, ya que el mismo requiere de ciclos
iterativos de búsqueda que Microsoft Excel por sí mismo posee pero no con
la complejidad requerida.
•
Se puede presentar los resultados de los cálculos en la hoja de
Microsoft Excel de forma sencilla, que en el entorno Visual Basic resultaría
compleja como lo es la impresión de resultados sin necesidad del comando
“print” y sus extensiones.
Página | 23
Análisis plano de estructuras mediante Macros de Microsoft Excel
3.1.
PROGRAMACIÓN DEL MACRO EN MICROSOFT EXCEL
El programa de ensamblaje consta de 4 hojas de Excel entrelazadas una con
otras, en donde la primera se nombrará como “Matriz de rigidez”, y en ella se
introducen los datos de geometría del pórtico en estudio para generar la
matriz de rigidez de cada elemento y posteriormente ensamblar la matriz de
rigidez del pórtico o estructura completa; otra hoja llamada “Matriz de
Fuerzas”, en donde se calculan las fuerzas de empotramiento de los
elementos, se introducen las fuerzas nodales y desplazamientos nodales
conocidos; una hoja llamada “cálculos”, en donde se realizan las operaciones
matriciales necesarias para calcular reacciones y desplazamientos.
3.1.1. PROGRAMACIÓN DE LA HOJA “MATRIZ DE RIGIDEZ”
Para la resolución de las estructuras con el método matricial, se realizó
códigos en Visual Basic desde el entorno de Microsoft Excel. Para ello es
necesario conocer comandos de entradas de datos de visual Basic desde
Excel; los valores de las celdas en Excel pueden ser llamados como
entradas en visual Basic, pero antes se debe definir una hoja de Excel como
hoja de entrada de datos, como la que se muestra a continuación:
Figura Nº 7. Entrada de datos en la hoja de Excel
Página | 24
Análisis plano de estructuras mediante Macros de Microsoft Excel
En la hoja de entrada de datos, se solicitaran los datos de geometría y
topología de la estructura en estudio, y los datos de entrada serán como se
indica a continuación:
Elemento: Es la identificación numérica del elemento en estudio
Nodo i: Es el nodo inicial del elemento en estudio
Nodo j: Es el nodo final del elemento en estudio
L = Es la longitud del elemento en estudio
Θ = Es el ángulo de inclinación del elemento con respecto a la horizontal, en
sentido horario de valor negativo, y en sentido anti horario de valor positivo.
Módulo de elasticidad: es el módulo de elasticidad del material del cual este
compuesto el elemento en estudio.
Para la sección del elemento, se consideró para la hoja de datos una sección
rectangular de base y altura conocidas, esto para facilitar la programación en
la hoja de Excel de la inercia de la figura y el área de la misma, sin embargo,
de existir otro tipo de sección, bastara con introducir directamente el área y la
inercia de la figura en sus respectivas celdas.
3.1.2. EJEMPLO
Para mostrar el funcionamiento del macro en Excel, se realizó un ejercicio de
aplicación, que se muestra en la Figura Nº 8
Página | 25
Análisis plano de estructuras mediante Macros de Microsoft Excel
120 Tf
40 Tf
0.30x0.30 m
0.30x0.40 m
4.00
20Tf/m
3.00
1.50
1.50
Figura Nº 8. Ejercicio propuesto (fuerzas en Tf y distancias en m)
Para el pórtico mostrado, se pide calcular las reacciones en los apoyos y los
desplazamientos en todos nodos.
Para comenzar a calcular la estructura, es necesario indicar los datos en la
hoja de Excel y colocar la numeración de los nodos y elementos. La
nomenclatura de la estructura será como se muestra en la Figura Nº 9
1
2
3
Figura Nº 9. Numeración y nomenclatura de elementos y nodos
Página | 26
Análisis plano de estructuras mediante Macros de Microsoft Excel
En la hoja de Excel de datos, se introducen de la siguiente manera:
Figura Nº 10. Datos del pórtico en estudio
Nótese que en la tabla de datos se colocó la identificación del elemento, en
este caso existen dos, el Nº1 y el Nº2; en la celda Nodo i, se colocó el nodo
de inicio de cada elemento, en este caso, el elemento 1 (horizontal) tiene
como nodo inicial (nodo i) al nodo 1, y el elemento 2 (inclinado) tiene como
nodo inicial (nodo i) al nodo 3; en la celda nodo j, se colocó el nodo final de
cada elemento, en este caso, para el elemento 1, el nodo final es el nodo 2, y
para el elemento 2, el nodo final es el nodo 3. En esta etapa del macro en
Excel, solo se ha programado el sistema de unidades a utilizar con
elementos de checkbox. La programación de estos elementos consistió en
crear un código que permitiera activar el sistema de unidades según la
preferencia del usuario. La programación se realizó de la siguiente forma:
•
Se activan los formularios de Visual Basic haciendo click en el icono
de Windows en la esquina superior derecha como se muestra en la .
Página | 27
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 11.. Activando formularios de Visual Basic en Excel
•
Se desplega
splega una ventana en donde se seleccionara el botón
“Personalizar cinta de opciones”, y seleccionar “Programador” en el checkbox
del mismo, y luego presionar aceptar.
Figura Nº 12.. Activando formularios de Visual Basic en Excel
Página | 28
Análisis plano de estructuras mediante Macros de Microsoft Excel
•
Después de realizar el procedimiento descrito, en la barra de
herramientas de Excel, aparece la herramienta “Programador”.
Figura Nº 13.. Activando formularios de Visual Basic en Excel
•
Entre las celdas A
A1:A3,C1:C3 se colocaron tres (3) checkbox para
seleccionar las unidades con las que se trabajará,
trabajar , y se programaron de tal
manera, que al seleccionar la casilla de verificación, las celdas E4, G4, H4,
I4, J4, y K4 modifiquen su texto de acuerdo al sistema seleccionado. P
Para
ello, desde la barra de herramientas, se selecciona “programador”, y se
selecciona el icono “insertar controles”, allí se desplegaran todas las
herramientas como botones, checkbox, checklist, etc., que se utilizan en los
formularios de Visual Basic.
Figura Nº 14.. Insertando casillas de verificación
Página | 29
Análisis plano de estructuras mediante Macros de Microsoft Excel
•
Una vez agregadas las 3 casillas de verificación con sus respectivos
nombres, se procede a programa su selección de la siguiente manera
manera:
Seleccionar la casilla de verificación, hacer click con el botón derecho
del ratón y seleccionar “asignar macro”
Figura Nº 15.. Asignando macro a la casilla de verificación
Al hacer click en “asignar macro”, se desplegara la ventana en donde
se selecciona el nombre de la casilla con la cual se está programando, y al
seleccionarla, presionar aceptar.
Figura Nº 16.. Asignando macro a la casilla de verificación
Página | 30
Análisis plano de estructuras mediante Macros de Microsoft Excel
Al presionar “aceptar”, aparecerá el editor de Visual Basic en donde se
escribirán los códigos para que se ejecute lo deseado al seleccionar la casilla
de verificación
Sub Casilladeverificación10_Haga_clic_en()
Cells (4, 7) = "Modulo de elasticidad (Kg/m2)"
Cells (4, 5) = "Longitud(m)"
Cells (4, 8) = "Base (m)"
Cells (4, 9) = "Altura (m)"
Cells (4, 10) = "Area (m2)"
Cells (4, 11) = "Inercia en x (m4)"
End Sub
Sub Casilladeverificación9_Haga_clic_en()
‘Casilladeverificación9_Haga_clic_en Macro
Cells (4, 7) = "Modulo de elasticidad (N/m2)"
Cells (4, 5) = "Longitud(m)"
Cells (4, 8) = "Base (m)"
Cells (4, 9) = "Altura (m)"
Cells (4, 10) = "Area (m2)"
Cells (4, 11) = "Inercia en x (m4)"
End Sub
Sub Casilladeverificación8_Haga_clic_en()
‘Casilladeverificación8_Haga_clic_en Macro
Cells (4, 7) = "Modulo de elasticidad (Lb/ft2)"
Cells (4, 5) = "Longitud (Ft)"
Cells (4, 8) = "Base (ft)"
Cells (4, 9) = "Altura (ft)"
Cells (4, 10) = "Area (ft2)"
Cells (4, 11) = "Inercia en x (ft4)"
End Sub
En el editor de Visual Basic aparecen los módulos la casilla de
verificación (checkbox) seleccionada, y en ella, entre el inicio y final del “Sub
- End Sub”, se colocará lo que se quiere que realice el macro al seleccionar
la casilla; en este caso, se programará que al seleccionarla, cambien la
unidades. Para ello es necesario indicar al macro, que al seleccionar la
casilla, coloque los textos de entrada según el sistema. Para colocar valores
numéricos o de tipo string, o alfa-numéricos, basta con escribir en el módulo
que la celda en la posición (x,y), sea igual a lo que se quiere que aparezca
Página | 31
Análisis plano de estructuras mediante Macros de Microsoft Excel
en ella. La sintaxis para colocar valores en celdas desde Visual Basic a Excel
es la siguiente:
Cells (fila, columna) = valor (si es texto, se debe colocar comillas al
inicio y al final del mismo)
Dónde:
Fila: Número de la fila en donde se desea colocar el valor
Columna: Número de la columna se desea colocar el valor
Las columnas en Excel están identificadas en letras, sin embargo, para poder
utilizar el comando, es necesario llevar las letras de las columnas a números,
esto es, la columna A, es la columna 1, la columna B, es la columna 2, y así
sucesivamente. Se debe tener cuidado de no insertar ni eliminar filas o
columnas nuevas, ya que el macro seguirá colocando los valores en donde
se escribió inicialmente sin adicionar filas o columnas nuevas.
Una vez introducidos los datos de geometría del pórtico o estructura, se
procede a crear la matriz de rigidez de cada elemento por separado, de
manera que desde el punto de vista académico, el usuario pueda comparar
sus resultados con los del macro por cada elemento. La programación de la
matriz de rigidez se hizo de la siguiente manera:
1.
Se destinaron un grupo de celdas para la impresión de la matriz de
cada elemento, que van desde la celda (6,O), hasta la celda (6,U), siempre
las columnas serán estáticas, es decir, para esta matriz no se excederá de la
letra “O” o la letra “U”, mientras que las filas si serán dinámicas, y
dependerán del número de miembros que existan en el pórtico.
2.
Para colocar los valores en estos rangos de celdas, es necesario
asignar a las celdas en cuestión, los valores de la matriz de rigidez mostrada
en la Figura Nº 17, y se debe llenar utilizando ciclos en Visual Basic, pero
Página | 32
Análisis plano de estructuras mediante Macros de Microsoft Excel
para ello se debe definir el número de iteraciones a realizar. En este caso, el
número de matrices, corresponderá al número de barras o elementos
existentes, mientras que las dimensiones de cada matriz
matriz de cada elemento
será de 6x6.
3.
Para crear los códigos en Visual Basic, ir a la barra de herramientas y
seleccionar “Vista-Macros
Macros-Grabar macro”
Figura Nº 17.
17 Seleccionando en la pestaña “Vista-Macros
Macros-Grabar macro”
Al seleccionar
ionar grabar macro aparecerá la siguiente ventana
Figura Nº 18.. Ventana auxiliar para grabar macros
Página | 33
Análisis plano de estructuras mediante Macros de Microsoft Excel
En la casilla “Nombre de la macro” colocar el nombre que se desea, en este
caso se denomina “rigidezporticos”; en la casilla “Método abreviado”, se
coloca una letra, de manera que se pueda ejecutar el macro presionando
CTRL+”letra”, y esto es opcional, no es necesario colocarlo; en la casilla
“Descripción”, se coloca una breve descripción de lo que realiza el macro,
que también es opcional, se puede dejar en blanco.
4.
Al seleccionar “Aceptar”, desaparecerá la ventana y se debe ir de
nuevo a la herramienta “Vista-Macros-Detener grabación”
5.
Al detener la grabación, se debe ir a “Vista-Macros-Ver macros”, y se
desplegara el módulo en visual Basic, en donde se programaran los códigos
para el cálculo de la matriz.
En un inicio, se deben borrar todos los datos que puedan existir de matrices
de otros elementos de otras corridas y para ello se usa el comando mostrado
a continuación:
Range("O6:U211").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Dónde:
Range("O6:U211").Select: es
Selection.ClearContents:
el rango de filas y columnas que se desea borrar
es el comando que borra el contenido de las celdas
selecionadas anteriormente
Página | 34
Análisis plano de estructuras mediante Macros de Microsoft Excel
Selection.Borders(xlDiagonalDown).LineStyle
=
xlNone:
son
comandos
que
eliminan cualquier remarco de borde existentes en la selección.
selección
La obtención de este comando es muy sencilla, basta con grabar un macro
adicional y luego copiar y pegar el código en el módulo de la generación de
la matriz de rigidez. Para obtener este código hacer los siguientes pasos:
6. Ir a “Vista-Macros
Macros-Grabar macro”
7. En la casilla “nombre de la macro” colocar cualquier nombre, en este caso
“borrar”, y seleccionar en la hoja de datos, todos los datos entre las
celdas (6,O) y (6,U) hasta las filas hacia abajo que desee
desee.
Figura Nº 19.. Selección de las celdas cuyo contenido será borrado
Página | 35
Análisis plano de estructuras mediante Macros de Microsoft Excel
•
Una vez seleccionadas todas las celdas deseadas, presionar la tecla
“Supr”, y colocar las celdas sin remarcado. Después de haber hecho esto, las
celdas seleccionadas deben estar vacías y sin recuadros. Luego, ir a “VistaMacros-Detener grabación”, y aparecerá en el módulo de Visual Basic, todos
y cada uno de los comando realizados para borrar celdas y quitar los
recuadros de las mismas, ya que el macro automáticamente tradujo todo lo
que se hizo en Excel en código de Visual Basic. Este código aparecerá en un
módulo aparte, por lo que se copiara el mismo y se pegara en el módulo de
“rigidezporticos” para que se ejecute cuando se corra dicho modulo.
•
Para el llenado de la Matriz de Rigidez desde Visual Basic hasta
Excel, se establece entonces las dimensiones de la matriz, y la posición de
cada elemento en las celdas de Excel con el siguiente código:
For i = 1 To q
Sheets("matriz coordenadas").Select
cc = Cells(i + 4, 4)
ss = Cells(i + 4, 5)
coscos = Cells(i + 4, 6)
sensen = Cells(i + 4, 7)
cossen = Cells(i + 4, 8)
Sheets("Matriz de Rigidez").Select
'Valores de la matriz de cada elemento
E = Cells(i + 4, 7)
l = Cells(i + 4, 5)
G = Cells(i + 4, 11)
a = Cells(i + 4, 10)
Ñ = (12 * E * G / l / l / l)
Z = (6 * E * G / l / l)
n = (4 * E * G / l)
m = (2 * E * G / l)
x=x+7
w = 16
'Identificacion de nodo inicial y final
nodoi = Cells(i + 4, 3)
nodoj = Cells(i + 4, 4)
'Indices de la matriz
Cells(x - 1, 15) = "Elemento " & i
Cells(x - 1, 16) = "u" & nodoi
Cells(x - 1, 17) = "v" & nodoi
Cells(x - 1, 18) = "theta" & nodoi
Cells(x - 1, 19) = "u" & nodoj
Página | 36
Análisis plano de estructuras mediante Macros de Microsoft Excel
Cells(x - 1, 20) = "v" & nodoj
Cells(x - 1, 21) = "theta" & nodoj
Cells(x, 15) = "Q" & nodoi & "x"
Cells(x + 1, 15) = "Q" & nodoi & "y"
Cells(x + 2, 15) = "M" & nodoi
Cells(x + 3, 15) = "Q" & nodoj & "x"
Cells(x + 4, 15) = "Q" & nodoj & "y"
Cells(x + 5, 15) = "M" & nodoj
Dónde:
q: es la celda en la posición (5,14) de la hoja de datos “Matriz de rigidez”
(Nº de barras),, que corresponde al número de veces que se realizara la
matriz,, como se muestra en la Figura Nº 20
Figura Nº 20.
20 Selección de número de nodos y barras del sistema
El comando para determinar el número de barras es el comando en Excel
Contar()
Página | 37
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 21.. Programación del comando “Contar()”
El comando lee directamente los valores de la celda, si la celda está en
blanco, toma el valor de cero (0), sino, toma el valor de uno (1) y va sumando
de manera acumulativa de uno en uno hasta determinar el número de celdas
que no están vacías; en este caso, son dos barras y esta celda asumirá el
valor de 2, que a su vez, será el valor de la variable q.
Definida ya la dimensión de la matriz de rigidez, se procede a realizar el
llenado mediante ciclos For-Next.
For
Es necesario leer por cada elemento, los
lo
valores
ores de inercia, área, longitud, módulo de elasticidad y ángulo de
inclinación, los cuales se deben extraer dentro del ciclo a realizar. El ciclo
será For i =1 to q,, y dentro de él se trabaja con dos hojas de Excel, la hoja
“Matriz de Rigidez” y la hoja “Matriz
“Matriz coordenadas”, y para hacer el llamado se
utiliza el comando sheets (“nombre de la hoja”).select
hoja”).select,, y debajo lo que se
quiere extraer o imprimir de esa hoja. En este caso se extraen los valores de
los cosenos y senos del ángulo de inclinación de las barras
rras, para usarlas en
los cálculos de la matriz.
Las variables utilizadas:
Página | 38
Análisis plano de estructuras mediante Macros de Microsoft Excel
cc: Coseno del ángulo de inclinación de la barra con respecto a la horizontal
ss: Seno del ángulo de inclinación de la barra con respecto a la horizontal
coscos: Coseno cuadrado del ángulo de inclinación de la barra con respecto
a la horizontal
sensen: Seno cuadrado del ángulo de inclinación de la barra con respecto a
la horizontal
cossen: Coseno*seno del ángulo de inclinación de la barra con respecto a la
horizontal
x: es el valor de inicio para el llenado de las filas de las celdas, y aumentara
de 7 en 7 su valor para el incremento del número de filas de la matriz
w: es el valor de inicio para el llenado de las columnas de las celdas, y su
valor es fijo, al cual se referirán los valores de las columnas de la matriz
E: Módulo de elasticidad
L: longitud de la barra
G: Inercia de la sección de la barra
a: Área de la sección de la barra
Los índices de la matriz se colocan para poder identificar en la matriz global
cada uno de los elementos que la formaran. Para concatenar valores
variables, se utiliza el comando en Visual Basic “&”, para crear los
subíndices de fuerzas ui, vi, θi, uj, vj, θj, Qxi, Qyi, Mi, Qxj, Qyj, Mj.
Finalmente, se utilizan los valores de los elementos para crear la matriz de
rigidez de cada uno de ellos, con los comando mostrados a continuación:
'Colocando indices en negrita
Página | 39
Análisis plano de estructuras mediante Macros de Microsoft Excel
Range(Cells(x - 1, 15), Cells(x - 1, 21)).Select
Selection.Font.Bold = True
Cells(x, 15).Select
Selection.Font.Bold = True
Cells(x + 1, 15).Select
Selection.Font.Bold = True
Range(Cells(x + 2, 15), Cells(x + 5, 15)).Select
Selection.Font.Bold = True
Cells(x, w) = E * a / l * coscos + 12 * E * G / l / l / l * sensen
Cells(x, w + 1) = (E * a / l - 12 * E * G / l / l / l) * cossen
Cells(x, w + 2) = -6 * E * G / l / l * ss
Cells(x, w + 3) = -(E * a / l * coscos + 12 * E * G / l / l / l * sensen)
Cells(x, w + 4) = -Cells(x, w + 1)
Cells(x, w + 5) = Cells(x, w + 2)
Cells(x + 1, w) = (E * a / l - 12 * E * G / l / l / l) * cossen
Cells(x + 1, w + 1) = a * E / l * sensen + 12 * E * G / l / l / l * coscos
Cells(x + 1, w + 2) = 6 * E * G / l / l * cc
Cells(x + 1, w + 3) = -Cells(x + 1, w)
Cells(x + 1, w + 4) = -Cells(x + 1, w + 1)
Cells(x + 1, w + 5) = Cells(x + 1, w + 2)
Cells(x + 2, w) = -6 * E * G / l / l * ss
Cells(x + 2, w + 1) = 6 * E * G / l / l * cc
Cells(x + 2, w + 2) = 4 * E * G / l
Cells(x + 2, w + 3) = -Cells(x + 2, w)
Cells(x + 2, w + 4) = -Cells(x + 2, w + 1)
Cells(x + 2, w + 5) = 2 * E * G / l
Cells(x + 3, w) = -(a * E / l * coscos + 12 * E * G / l / l / l * sensen)
Cells(x + 3, w + 1) = -(a * E / l - 12 * E * G / l / l / l) * cossen
Cells(x + 3, w + 2) = 6 * E * G / l / l * ss
Cells(x + 3, w + 3) = -Cells(x + 3, w)
Cells(x + 3, w + 4) = -Cells(x + 3, w + 1)
Cells(x + 3, w + 5) = 6 * E * G / l / l * ss
Cells(x + 4, w) = -Cells(x + 1, w)
Cells(x + 4, w + 1) = -Cells(x + 1, w + 1)
Cells(x + 4, w + 2) = -Cells(x + 1, w + 2)
Cells(x + 4, w + 3) = -Cells(x + 1, w + 3)
Cells(x + 4, w + 4) = a * E / l * sensen + 12 * E * G / l / l / l * coscos
Cells(x + 4, w + 5) = -Cells(x + 1, w + 5)
Cells(x + 5, w) = Cells(x, w + 5)
Cells(x + 5, w + 1) = Cells(x + 2, w + 1)
Cells(x + 5, w + 2) = 2 * E * G / l
Cells(x + 5, w + 3) = Cells(x + 2, w + 3)
Cells(x + 5, w + 4) = Cells(x + 2, w + 4)
Cells(x + 5, w + 5) = 4 * E * G / l
Se puede observar, que el ciclo usado, solo determina el número de veces
que será realizado el cálculo de la matriz, por lo que las variables X y W son
las que indican la posición del llenado de la misma.
Página | 40
Análisis plano de estructuras mediante Macros de Microsoft Excel
Una vez creados los códigos para el llenado de la matriz, se crearon los
códigos para remarcar las celdas con recuadros y darle más vistosidad a la
misma. Para seleccionar las celdas, se utilizó el comando en Excel llamado
“Range”, que permite la selección de un rango de celdas con dos celdas
límites, y su sintaxis es la siguiente:
Range ( cells(xi,yi), cells(xj,yj) )
Donde:
Xi: Fila de inicio
Yi: Columna de inicio
Xj: Fila final
Yj: Columna final
Para remarcar las celdas, se utiliza el código mostrado a continuación:
'remarcando celdas
Range(Cells(x - 1, w - 1), Cells(x + 5, w + 5)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
Página | 41
Análisis plano de estructuras mediante Macros de Microsoft Excel
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Next i.
Después del ciclo, se colocó una advertencia o “Msgbox”, de manera de
indicar como se deben llenar las celdas destinadas a la matriz de rigidez
global de la estructura, de la siguiente forma:
MsgBox ("Coloque en la columna X, a partir de la celda 6,X las fuerzas como las desee en
su matriz, y en la fila 5, a partir de la celda 5,Y los desplazamientos como los desee")
End Sub
Esta advertencia es para indicar al usuario en donde se ubicara la matriz de
rigidez de toda la estructura.
Una vez terminada la programación de la matriz, se asignó este macro a un
botón para que al presionarlo, se ejecute. Esto se realizó de la siguiente
manera:
•
Ir a “programador-insertar-Boton”
Página | 42
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 22. Insertando un botón para ser programado.
•
Una vez seleccionado el botón, desplegarlo dejando el botón izquierdo
del ratón presionado, y soltarlo hasta lograr el tamaño deseado. Luego hacer
click con el botón derecho del ratón, y en el menú contextual, modificar el
nombre del botón; en este caso “Crear Matriz de Rigidez de cada
elemento”
Figura Nº 23. Asignando el macro al botón programado
•
Una vez modificado el texto, se procede a asignar el macro creado
para que se ejecute al presionar el botón. Para ello se hace click con el botón
derecho del ratón sobre el botón, y en el menú contextual seleccionar
“Asignar macro”, y aparecerá una ventana en donde aparecen los macros
programados, y allí seleccionar el macro “rigidezporticos”
Página | 43
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 24. Asignando el macro al botón programado
•
Una vez hecho lo anterior, la hoja de datos debe verse de la forma
siguiente:
Figura Nº 25. Vista general de la hoja de Excel de datos
Página | 44
Análisis plano de estructuras mediante Macros de Microsoft Excel
Y al presionar el botón creado, la matriz de rigidez de cada elemento en
estudio debe aparecer entre las celdas O6 y U19, y a su vez, el Msgbox
creado con las indicaciones de llenado de la matriz de rigidez global.
Figura Nº 26.. Resultados de la matriz de rigidez para los elementos evaluados
Según el texto de autor J.U
J.U. Escamilla, la matriz de rigidez para el elemento 1
es:
Figura Nº 27. Resultados de la matriz de rigidez para el elemento 1
Página | 45
Análisis plano de estructuras mediante Macros de Microsoft Excel
Y la matriz de rigidez del elemento 2 es:
Figura Nº 28. Matriz de Rigidez del elemento 2.
Lo que indica que el macro se ejecuta con éxito, con discrepancias en
decimales.
Una vez creada la matriz de rigidez de cada elemento, es necesario realizar
el ensamblaje para obtener la matriz de rigidez total de la e
estructura.
structura.
3.1.2. Programación del macro para ensamblar la matriz de rigidez de la
estructura
Una vez obtenida la matriz de rigidez de cada elemento, se procede a
realizar el ensamble para la obtención de la matriz global de la estructura.
Esto se realiza de manera sencilla sumando algebr
algebraicamente
aicamente los valores que
tengan los mismos subíndices en la matriz de rigidez de cada elemento.
Obsérvese la matriz siguiente:
Página | 46
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 29. Matriz de rigidez de cada elemento.
Nótese que el subíndice Q1x-U1 se encuentra repetido en los dos
elementos, lo que indica que en la matriz de rigidez global, los valores de
este subíndice deben sumarse algebraicamente, mientras que los valores
que no estén con subíndices repetidos, conservaran su valor, y en este
análisis se basa el macro para ensamblar la matriz global, en realizar un
buscador para los subíndices y comparar valores repetidos.
Al igual que la matriz de rigidez de cada elemento posee un espacio de
celdas definido en su comienzo, y se incrementa de acuerdo al número de
elementos, la matriz global tendrá un celda de inicio, y tendrá dimensiones
de acuerdo a los grados de libertad de cada nodo, es decir, si la estructura
posee dos nodos, entonces se tienen 6 grados de libertad, si es de 3 nodos,
entonces de 9 grados de libertad, es decir, que la dimensión de la matriz será
de numero de nodos x 3.
La celda de inicio en este caso, será la celda (6,Y), a partir de ella se
incrementaran las posiciones de las filas y columnas para el llenado de la
Página | 47
Análisis plano de estructuras mediante Macros de Microsoft Excel
matriz. Es necesario entonces crear otro macro de la forma que ya se
mostró, e indicar su nombre como “matrizglobal”. Para poder ensamblar la
matriz, se generaron múltiples ciclos dentro de un ciclo general For-Next, es
decir, se realizó un ciclo que examinó los subíndices de cada barra y los
valores de cada elemento de la matriz de cada elemento, y otro que recorre
todos los subíndices de la matriz global y coloca los valores en ella.
Para poder realizar estos ciclos, es necesario organizar los subíndices de la
matriz de rigidez global, esto es, copiar los subíndices de la matriz de cada
elemento en las celdas destinadas a ser los subíndices de la misma. En las
figuras siguientes se muestra lo anteriormente planteado
•
Copiar los subíndices de la matriz de cada elemento en el orden que
se desee, no necesariamente deben llevar orden correlativo, de esta forma
se puede crear una matriz de acuerdo a la necesidad de cada usuario. Es
recomendable colocar los subíndices de desplazamientos desconocidos
primero, y luego los de desplazamientos conocidos.
Figura Nº 30. Valores de subíndices copiados de la matriz de cada elemento a la
matriz global de la estructura
Página | 48
Análisis plano de estructuras mediante Macros de Microsoft Excel
•
Pegar los valores copiados a partir de la celda (X,6) hacia abajo para
subíndices de fuerzas, y para subíndices de desplazamientos, a partir de la
celda (Y,5) hacia la derecha.
Figura Nº 31. Subíndices de la matriz de rigidez de toda la estructura
Una vez organizados los subíndices, se puede comenzar la programación del
macro. En el módulo del macro correspondiente, se escribe un ciclo (For i=1
to q), donde q es el número de barras extraído de la celda correspondiente, y
dentro de este ciclo, se realizaran dos ciclos más de manera de recorrer la
matriz de cada elemento y ensamblarla con la existente. Para facilitar la
búsqueda, se debe copiar todo el macro para la matriz de cada elemento en
este macro, y justo debajo de la línea que realiza el cálculo del elemento
último, comenzar la programación, tal como se ve en los siguientes códigos:
'1
For t = 1 To r
Página | 49
Análisis plano de estructuras mediante Macros de Microsoft Excel
For j = 1 To r
If Cells(x - 1, 16) = Cells(5, t + 24) And Cells(x, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x, w)
End If
Next j
Next t
'2
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 17) = Cells(5, t + 24) And Cells(x, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x, w + 1)
End If
Next j
Next t
'3
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 18) = Cells(5, t + 24) And Cells(x, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x, w + 2)
End If
Next j
Next t
'4
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 19) = Cells(5, t + 24) And Cells(x, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x, w + 3)
End If
Next j
Next t
'5
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 20) = Cells(5, t + 24) And Cells(x, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x, w + 4)
End If
Next j
Next t
'6
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 21) = Cells(5, t + 24) And Cells(x, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x, w + 5)
End If
Next j
Next t
'7
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 16) = Cells(5, t + 24) And Cells(x + 1, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 1, w)
Página | 50
Análisis plano de estructuras mediante Macros de Microsoft Excel
End If
Next j
Next t
'8
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 17) = Cells(5, t + 24) And Cells(x + 1, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 1, w + 1)
End If
Next j
Next t
'9
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 18) = Cells(5, t + 24) And Cells(x + 1, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 1, w + 2)
End If
Next j
Next t
'10
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 19) = Cells(5, t + 24) And Cells(x + 1, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 1, w + 3)
End If
Next j
Next t
'11
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 20) = Cells(5, t + 24) And Cells(x + 1, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 1, w + 4)
End If
Next j
Next t
'12
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 21) = Cells(5, t + 24) And Cells(x + 1, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 1, w + 5)
End If
Next j
Next t
'13
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 16) = Cells(5, t + 24) And Cells(x + 2, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 2, w)
End If
Next j
Next t
Página | 51
Análisis plano de estructuras mediante Macros de Microsoft Excel
'14
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 17) = Cells(5, t + 24) And Cells(x + 2, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 2, w + 1)
End If
Next j
Next t
'15
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 18) = Cells(5, t + 24) And Cells(x + 2, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 2, w + 2)
End If
Next j
Next t
'16
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 19) = Cells(5, t + 24) And Cells(x + 2, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 2, w + 3)
End If
Next j
Next t
'17
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 20) = Cells(5, t + 24) And Cells(x + 2, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 2, w + 4)
End If
Next j
Next t
'18
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 21) = Cells(5, t + 24) And Cells(x + 2, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 2, w + 5)
End If
Next j
Next t
'19
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 16) = Cells(5, t + 24) And Cells(x + 3, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 3, w)
End If
Next j
Next t
'20
For t = 1 To r
For j = 1 To r
Página | 52
Análisis plano de estructuras mediante Macros de Microsoft Excel
If Cells(x - 1, 17) = Cells(5, t + 24) And Cells(x + 3, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 3, w + 1)
End If
Next j
Next t
'21
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 18) = Cells(5, t + 24) And Cells(x + 3, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 3, w + 2)
End If
Next j
Next t
'22
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 19) = Cells(5, t + 24) And Cells(x + 3, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 3, w + 3)
End If
Next j
Next t
'23
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 20) = Cells(5, t + 24) And Cells(x + 3, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 3, w + 4)
End If
Next j
Next t
'24
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 21) = Cells(5, t + 24) And Cells(x + 3, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 3, w + 5)
End If
Next j
Next t
'25
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 16) = Cells(5, t + 24) And Cells(x + 4, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 4, w)
End If
Next j
Next t
'26
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 17) = Cells(5, t + 24) And Cells(x + 4, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 4, w + 1)
End If
Página | 53
Análisis plano de estructuras mediante Macros de Microsoft Excel
Next j
Next t
'27
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 18) = Cells(5, t + 24) And Cells(x + 4, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 4, w + 2)
End If
Next j
Next t
'28
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 19) = Cells(5, t + 24) And Cells(x + 4, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 4, w + 3)
End If
Next j
Next t
'29
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 20) = Cells(5, t + 24) And Cells(x + 4, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 4, w + 4)
End If
Next j
Next t
'30
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 21) = Cells(5, t + 24) And Cells(x + 4, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 4, w + 5)
End If
Next j
Next t
'31
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 16) = Cells(5, t + 24) And Cells(x + 5, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 5, w)
End If
Next j
Next t
'32
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 17) = Cells(5, t + 24) And Cells(x + 5, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 5, w + 1)
End If
Next j
Next t
'33
Página | 54
Análisis plano de estructuras mediante Macros de Microsoft Excel
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 18) = Cells(5, t + 24) And Cells(x + 5, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 5, w + 2)
End If
Next j
Next t
'34
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 19) = Cells(5, t + 24) And Cells(x + 5, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 5, w + 3)
End If
Next j
Next t
'35
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 20) = Cells(5, t + 24) And Cells(x + 5, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 5, w + 4)
End If
Next j
Next t
'36
For t = 1 To r
For j = 1 To r
If Cells(x - 1, 21) = Cells(5, t + 24) And Cells(x + 5, 15) = Cells(j + 5, 24) Then
Cells(j + 5, t + 24) = Cells(j + 5, t + 24) + Cells(x + 5, w + 5)
End If
Next j
Next t
Next i
For t = 1 To r
For j = 1 To r
If Cells(j + 5, t + 24) = "" Then
Cells(j + 5, t + 24) = 0
End If
Next j
Next t
Para realizar el ensamble, se realizaron 2 ciclos más, uno dentro de otro, y
se realizó una corrida para verificar su funcionamiento:
r es el número de grados de libertad, extraído de las celdas correspondientes al multiplicar el
número de nodos por 3.
X=7, valor de inicio de filas
W=16, valor de inicio de columnas
For t = 1 To r
Página | 55
Análisis plano de estructuras mediante Macros de Microsoft Excel
For j = 1 To r
If Cells(x - 1, 16) = Cells (5, t + 24) And Cells(x, 15) = Cells(j + 5, 24) Then
Cells (j + 5, t + 24) = Cells (j + 5, t + 24) + Cells (x, w)
End If
Next j
Next t
Obsérvese que si x = 7, w = 16, t = 1, y j = 1, se tiene que:
Cells ( x - 1,16 ) = u1
Cells ( 5 , t + 24 ) = u1
Cells ( x , 15 ) = Q1x
Cells ( j + 5 , 24 ) = Q1x
Cells ( j + 5, t + 24 ) = “”
Cells ( x , w ) = 570000
Sustituyendo los valores el ciclo:
If U1=U1 And Q1x = Q1x then
“” = ”” + 570000
End if
De manera que en la celda Cells (j + 5, t + 24), se ha introducido el valor de
570000. El ciclo se realizó para cada elemento de la matriz, desde Cells ( x ,
w ) hasta Cells ( x + 5 , w + 5 ).
Realizado el macro, se creó un botón para su ejecución, de la forma
anteriormente explicada, solo que se le coloco el nombre “Crear Matriz
Global”, y al presionar dicho botón, se genera la matriz de rigidez de toda la
estructura, que debe imprimirse en las celdas como se muestra en la Figura
Nº 32
Página | 56
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 32. Matriz de rigidez ensamblada
3.1.2. PROGRAMACIÓN DE LA HOJA “MATRIZ DE FUERZAS”
Esta hoja está destinada solo al cálculo de las fuerzas de empotramiento
presentes en el elemento de acuerdo a sus solicitaciones y para indicar al
macro cuales son las fuerzas incógnitas y cuáles son los desplazamientos
incógnitas. Para ello se programó en la hoja de Excel, un menú que permite
escoger el tipo de solicitación a la cual está sometido el elemento, como se
muestra en la Figura Nº 33.
Página | 57
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 33. Fuerzas de empotramiento
En
la
columna
denominada
“Solicitación”,
se
ingresa
el
número
correspondiente a la misma, y en las celdas siguientes, los
l
valores
requeridos para el cálculo, solo los que aparecen en la imagen.
3.1.2.1.
Consideraciones de signos para las cargas:
Si la fuerza es inclinada, se debe colocar el cuadrante hacia donde apunta el
sentido de la misma, como se muestra en la Figura Nº 34.
2do
cuadrante
3er
cuadrante
1er
cuadrante
4to
cuadrante
Figura Nº 34.. Sentido de las fuerzas según cuadrante a donde apunte
Página | 58
Análisis plano de estructuras mediante Macros de Microsoft Excel
Si la fuerza es vertical hacia arriba, se puede colocar 1 o 4, sino, 2 o 3; si es
horizontal a la derecha, se puede colocar 1 o 2, sino, 3 o 4. Los valores de
los cuadrantes, de las cargas y datos de longitudes, se colocan en las
celdas más oscuras de la hoja, las demás se llenan automáticamente (ver
Figura Nº 35)
Figura Nº 35. Celdas que deben completarse con datos
Una vez ingresadas las fuerzas y longitudes, automáticamente se calculan
las reacciones de empotramiento correspondientes en sus componentes
horizontal y vertical. (Ver Figura Nº 35). Es necesario entonces crear el
vector de fuerzas de empotramiento, que sólo organizará los valores de cada
fuerza de empotramiento desde la celda actual hasta una nueva celda,
colocándola en una sola columna y de acuerdo a los subíndices de cada
elemento, y por supuesto, indicando en el código que para un mismo nodo,
sume algebraicamente las fuerzas presentes en el a través de un macro. En
este macro también se llenara el vector de fuerzas de empotramiento por
elemento y el vector de desplazamientos para la matriz global. El código
escrito en Visual Basic se muestra a continuación:
Página | 59
Análisis plano de estructuras mediante Macros de Microsoft Excel
Sub Matrizfuerzas()
' Matrizfuerzas Macro
Sheets("Matriz de Rigidez").Select
'Nodos
t = Cells(5, 13)
'Barras
u = Cells(5, 14)
m=u*7
'GDL
r = 3 * Cells(5, 13)
Sheets("Matriz de fuerzas").Select
For i = 1 To r
Sheets("Matriz de Rigidez").Select
a = Cells(i + 5, 24)
Sheets("Matriz de fuerzas").Select
Cells(i + 17, 28) = a
Next i
'llenando ID de desplazamientos
Sheets("Matriz de fuerzas").Select
For i = 1 To r
Sheets("Matriz de Rigidez").Select
a = Cells(5, i + 24)
Sheets("Matriz de fuerzas").Select
Cells(i + 17, 32) = a
Next i
Sheets("Matriz de fuerzas").Select
x=1
For i = 1 To u
nodoi = Cells(i + 18, 6)
nodoj = Cells(i + 18, 7)
Mnodoi = Cells(i + 18, 16)
Qnodoix = Cells(i + 18, 20)
Qnodoiy = Cells(i + 18, 21)
Mnodoj = Cells(i + 18, 17)
Qnodojx = Cells(i + 18, 22)
Qnodojy = Cells(i + 18, 23)
'ID de fuerzas
Cells(x + 16, 25) = "Elemento " & i
Cells(x + 19, 25) = "M" & nodoi
Cells(x + 17, 25) = "Q" & nodoi & "x"
Cells(x + 18, 25) = "Q" & nodoi & "y"
Cells(x + 20, 25) = "Q" & nodoj & "x"
Cells(x + 21, 25) = "Q" & nodoj & "y"
Cells(x + 22, 25) = "M" & nodoj
'Valores de fuerzas
Cells(x + 19, 26) = Mnodoi
Cells(x + 17, 26) = Qnodoix
Cells(x + 18, 26) = Qnodoiy
Cells(x + 20, 26) = Qnodojx
Página | 60
Análisis plano de estructuras mediante Macros de Microsoft Excel
Cells(x + 21, 26) = Qnodojy
Cells(x + 22, 26) = Mnodoj
x=x+7
Next i
For i = 1 To r
For j = 1 To m
Cells(i + 17, 29) = 0
Next j
Next i
For i = 1 To r
For j = 1 To m
If Cells(i + 17, 28) = Cells(j + 16, 25) Then
Cells(i + 17, 29) = Cells(i + 17, 29) + Cells(j + 16, 26)
End If
Next j
Next i
'remarcando celdas
Range(Cells(17, 25), Cells(16 + m, 26)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
Página | 61
Análisis plano de estructuras mediante Macros de Microsoft Excel
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Range(Cells(18, 32), Cells(17 + t * 3, 33)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Range(Cells(18, 28), Cells(17 + t * 3, 30)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
Página | 62
Análisis plano de estructuras mediante Macros de Microsoft Excel
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
End Sub
Al realizar el código, es necesario, asignar el macro a un botón para que se
ejecute. Para ello, se crea un botón denominado “Generar Matriz de Fuerzas
y Desplazamientos” y se le asigna el macro creado para estas operaciones.
Al presionar el botón, se debe crear el vector de fuerzas y desplazamientos
desde la celda (17,Y), como se muestra en la Figura Nº 36
Página | 63
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 36. Vector de fuerzas de empotramiento y de desplazamientos en los nodos.
En la Figura Nº 36 se observa que existen 3 vectores; el vector de fuerzas de
empotramiento por cada elemento (remarcado en rojo) en donde se colocan
las fuerzas de empotramiento por cada elemento; un vector de fuerzas de
empotramiento ya con valores nodales superpuestos (remarcado en azul),
que también se genera con el macro; un vector de fuerzas nodales que se
encuentran aplicadas en la estructura (remarcada en amarillo) las cuales
deben ser ingresadas de acuerdo a las fuerzas que estén aplicadas
directamente en los nodos con su signo. Para este caso, existe una fuerza de
100000 N en la dirección x, 0 en la dirección y, y 0 para momento en el nodo
1. Si las fuerzas en el nodo correspondiente son desconocidas, se debe dejar
en blanco la casilla, de manera de que en la hoja de Excel esto se lea como
una incógnita; un vector para los desplazamientos, en donde al igual que el
vector de fuerzas, se debe colocar el valor del desplazamiento conocido (en
Página | 64
Análisis plano de estructuras mediante Macros de Microsoft Excel
este caso 0 para los nodos 2 y 3 por ser empotrados) y se deja en blanco el
desplazamiento desconocido. De esta forma se concluye la programación de
esta hoja.
3.1.3. PROGRAMACIÓN DE LA HOJA “CALCULOS”
La programación de esta hoja es necesaria para determinar los valores de
reacciones y desplazamientos en nodos.
Primeramente, se colocaron en esta hoja, los valores de la matriz de rigidez y
los vectores de fuerzas y desplazamientos a través de un macro. El macro se
debe crear con el nombre de “Generar Matriz de la estructura”, y en este se
realizaran todas las operaciones necesarias para los cálculos.
Para organizar las matrices en esta hoja, se realizó el código mostrado a
continuación:
Sub matrizestructura()
'
' matrizestructura Macro
'
Sheets("Calculos").Select
Range("A7:AT1220").Select
Selection.ClearContents
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
Sheets("Matriz de Rigidez").Select
'Nodos
t = Cells(5, 13)
'Barras
u = Cells(5, 14)
m=u*7
'GDL
r = 3 * Cells(5, 13)
Página | 65
Análisis plano de estructuras mediante Macros de Microsoft Excel
'llenando matriz de rigidez
Sheets("Calculos").Select
Cells(9, 5) = "Matriz de Rigidez"
Cells(9, 5).Select
Selection.Font.Bold = True
For i = 1 To r
For j = 1 To r
Sheets("Matriz de Rigidez").Select
a = Cells(i + 5, 24 + j)
Sheets("Calculos").Select
Cells(i + 10, j + 4) = a
Next j
Next i
'Remarcando celdas
Range(Cells(11, 5), Cells(10 + r, 4 + r)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
Página | 66
Análisis plano de estructuras mediante Macros de Microsoft Excel
.Weight = xlThin
End With
'llenando matriz de fuerzas
o=0
Sheets("Calculos").Select
Cells(9, 3) = "Matriz de Fuerzas"
Cells(9, 3).Select
Selection.Font.Bold = True
For i = 1 To t * 3
Sheets("Matriz de fuerzas").Select
a = Cells(i + 17, 30)
If a = "" Then
a = Cells(i + 17, 28) & "?"
o=o+1
End If
Sheets("Calculos").Select
Cells(i + 10, 3) = a
Next i
'Remarcando celdas
Range(Cells(11, 3), Cells(10 + r, 3)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
Página | 67
Análisis plano de estructuras mediante Macros de Microsoft Excel
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Sheets("Calculos").Select
'numero de reacciones desconocidas
Cells(3, 10) = o
'numero de desplazamientos desconocidos
Cells(4, 10) = t * 3 - o
v = Cells(4, 10)
'llenando matriz de desplazamientos
Sheets("Calculos").Select
Cells(9, r + 6) = "Matriz de desplazamientos"
Cells(9, r + 6).Select
Selection.Font.Bold = True
For i = 1 To t * 3
Sheets("Matriz de fuerzas").Select
a = Cells(i + 17, 33)
If a = "" Then
a = Cells(i + 17, 32) & "?"
End If
Sheets("Calculos").Select
Cells(i + 10, r + 6) = a
Next i
'remarcando celdas
Range(Cells(11, r + 6), Cells(10 + r, r + 6)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
Página | 68
Análisis plano de estructuras mediante Macros de Microsoft Excel
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
'Indices de la matriz
Sheets("Calculos").Select
For i = 1 To r
Sheets("Matriz de Rigidez").Select
a = Cells(5, i + 24)
Sheets("Calculos").Select
Cells(10, i + 4) = a
Cells(10, i + 4).Select
Selection.Font.Bold = True
Next i
Sheets("Calculos").Select
For i = 1 To r
Sheets("Matriz de Rigidez").Select
a = Cells(5 + i, 24)
Sheets("Calculos").Select
Cells(i + 10, 2) = a
Cells(i + 10, 2).Select
Selection.Font.Bold = True
Next i
'Matriz de fuerzas de empotramiento
Sheets("Calculos").Select
Cells(9, r + 8) = "Matriz de Fuerzas de empotramiento"
Cells(9, r + 8).Select
Selection.Font.Bold = True
For i = 1 To t * 3
Sheets("Matriz de fuerzas").Select
a = Cells(i + 17, 29)
Sheets("Calculos").Select
Página | 69
Análisis plano de estructuras mediante Macros de Microsoft Excel
Cells(i + 10, r + 8) = a
Next i
'remarcando celdas
Range(Cells(11, r + 8), Cells(10 + r, r + 8)).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
w=v-1
'inversion de matriz
Cells(r + 13, 5) = "Matriz de rigidez inversa"
Range(Cells(r + 14, 5), Cells(13 + r + v, v + 4)).Select
Selection.FormulaArray = "=MINVERSE(R[" & (-3 - r) & "]C:R[" & (-3 - r + w) & "]C[" & (w) &
"])"
Página | 70
Análisis plano de estructuras mediante Macros de Microsoft Excel
Con este código, la matriz total de la estructura, se debe ver así:
Figura Nº 37. Matriz global de la estructura
Se observa en la Figura Nº 37 que los valores calculados en las hojas
anteriormente expuestas, han sido trasladados a esta hoja, esto para facilitar
los cálculos en el macro.
Lo primero que se debe hacer es calcular los desplazamientos desconocidos,
en este caso son los del nodo 1, en el cual se conocen las fuerzas actuantes.
Para ello debe invertirse la matriz correspondiente a este cálculo según la
teoría. (Ver Figura Nº 38).
Figura Nº 38. En rojo los valores de la matriz a invertir
Página | 71
Análisis plano de estructuras mediante Macros de Microsoft Excel
Debido a que la dimensión de la matriz inversa es dinámica, es necesario
añadir esta operación al macro creado. El comando en visual Basic para
invertir matrices es el siguiente:
Selection.FormulaArray = "=MINVERSE(R C:R-n C-n)"
Donde:
Selection.FormulaArray: es la selección del espacio vectorial de la matriz
inversa
MINVERSE(R C:-R -C): es el comando que invierte la matriz para el espacio
vectorial seleccionado, el cual se define por posiciones de filas y columnas.
En este caso, las dos primeras celdas R C, corresponden a la celda de inicio
en donde se colocara el primer elemento de la inversa, la cual será 3 filas por
debajo del último elemento de la matriz de rigidez, para dejar un espacio
entre ellas, mientras que R-i C-j, indican en cuantas filas y en cuantas
columnas se resta a la celda inicial para encontrar el primer valor de la matriz
a invertir. El código escrito en visual Basic para la inversión de la matriz es:
'inversion de matriz
Cells(r + 13, 5) = "Matriz de rigidez inversa"
Range(Cells(r + 14, 5), Cells(13 + r + v, v + 4)).Select
Selection.FormulaArray = "=MINVERSE(R[" & (-3 - r) & "]C:R[" & (-3 - r + w) & "]C[" & (w) &
"])"
Donde
r = número de filas o columnas presentes en la matriz de rigidez
v = número de desplazamientos incógnita
w = número de reacciones incógnita
Luego de invertir la matriz, se multiplica la misma por el vector de fuerzas
nodales y se obtienen los desplazamientos desconocidos, y al multiplicar
Página | 72
Análisis plano de estructuras mediante Macros de Microsoft Excel
estos desplazamientos, por la matriz de rigidez
global se obtienen las
reacciones.
El código para operar matricialmente se muestra a continuación:
Cells(r + 13, 3) = "Matriz de fuerzas nodales"
For i = 1 To v
Cells(i + r + 13, 3) = Cells(i + 10, 3) - Cells(i + 10, 4 + r + 4)
Next i
'Multiplicando matriz inversa por la matriz de fuerza para obtener desplazamientos
Cells(r + 13, v + 6) = "Desplazamientos calculados"
For i = 1 To v
u=0
p=1
For j = 1 To v
u = Cells(j + r + 12 + p, 3) * Cells(i + r + 13, 4 + j) + u
Next j
Cells(i + r + 13, v + 6) = u
p=p+1
Cells(i + r + 13, v + 7) = Cells(i + 10, r + 6)
Next i
'multiplicando matriz de rigidez por los deplazamientos para encontrar reacciones
Cells(r + 13, v + 6) = "Reacciones calculadas"
For i = 1 To o
u=0
p=1
For j = 1 To v
u = Cells(10 + v + i, j + 4) * Cells(j + r + 13, v + 6) + u
Next j
Cells(i + r + v + 3 + 10, v + 6) = u + Cells(i + 10 + v, r + 8)
p=p+1
Cells(i + r + v + 3 + 10, v + 7) = Cells(i + 10 + v, 3)
Next i
'simbolos
Cells(9, 4) = "="
Cells(9, 4 + r + 1) = "X"
Cells(9, 4 + r + 3) = "+"
End Sub
Página | 73
Análisis plano de estructuras mediante Macros de Microsoft Excel
Al presionar el botón previamente programado, se debe ver las reacciones y
desplazamientos calculados,
calculados como se muestra en la Figura Nº 39.
Figura Nº 39.. Reacciones y desplazamientos calculados
Si se compara con los resultados con los del libro J.U. Escamilla, se observa
que los resultados del macro en Excel corresponden con los mismos.
Figura Nº 40. Resultados del pórtico evaluado. Fuente J.U. Escamilla
Escamill
Página | 74
Análisis plano de estructuras mediante Macros de Microsoft Excel
EJERCICIOS DE APLICACIÓN RESUELTOS CON EL MACRO
Ejercicio Nº 1:
Resolver el pórtico mostrado a continuación sabiendo que la viga posee
dimensiones de 30x35 cm y la columna de 30x40 cm (E=19 Ton/mm2)
30 T/m
10 T/m
Figura Nº 41. Pórtico para ejercicio de aplicación
Solución:
Se enumeran los nodos como se muestra en la Figura Nº 42
Página | 75
Análisis plano de estructuras mediante Macros de Microsoft Excel
1
3
2
Figura Nº 42. Numeración de los nodos
Una vez enumerados los nodos, se introducen sus datos en la hoja de Excel,
como se muestra en Figura Nº 43.
Figura Nº 43.. Datos geométricos para el pórtico evaluado
Al ingresar los datos, se presiona el botón “Crear
“Crear Matriz de Rigidez de cada
elemento”,
”, y se obtiene la matriz de rigidez de cada barra, como se muestra
en la Figura Nº 44.
Página | 76
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 44.. Matriz de rigidez de cada elemento.
Una vez obtenida la matriz de rigidez de cada elemento, se procede a
colocar los subíndices de la matriz de rigidez global para proceder al llenado
de la misma, y se presiona el botón ““Crear Matriz Global”,
”, como se muestra
en la Figura Nº 45
Figura Nº 45.. Matriz de rigidez de toda la estructura
Página | 77
Análisis plano de estructuras mediante Macros de Microsoft Excel
Una vez creada la matriz de rigidez de la estructura, se procede a introducir
las cargas actuantes. Para ello es necesario ir a la hoja “Matriz de fuerzas” y
completar los datos como se muestra en la Figura Nº 46.
Figura Nº 46. Matriz de fuerzas para el pórtico en estudio
Una vez completados los datos, se presiona el botón “Generar Matriz de
Fuerzas y Desplazamientos”, y se obtiene la matriz de fuerzas de la
estructura. En ella se coloca el valor de cero para las fuerzas actuantes en el
nodo 1, ya que no existen fuerzas aplicadas en el mismo, y se deja en blanco
las reacciones en los apoyos 2 y 3, mientras que para los nodos 2 y 3, se
coloca cero a sus desplazamientos que son conocidos, y se dejan en blanco
los desplazamientos del nodo 1, que son los que se calcularán, como se
muestra en la Figura Nº 47
Página | 78
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 47. Matriz de fuerzas del pórtico en estudio
Determinadas las fuerzas de empotramiento, las fuerzas actuantes, y
establecidas las incógnitas, es necesario ir a la hoja “Cálculos”, la cual estará
en
blanco
en
inicio,
con
solo
el
botón
“Calcular
reacciones
y
desplazamientos”, y al presionar este botón se obtienen las reacciones en los
apoyos 2 y 3 y los desplazamientos en el nodo 1, como se muestra en la
Figura Nº 48.
Figura Nº 48. Reacciones y desplazamientos calculados
Página | 79
Análisis plano de estructuras mediante Macros de Microsoft Excel
Si se quiere comprobar los resultados, basta con realizar las sumatorias de
fuerzas pertinentes y verificar que las mismas sean iguales a cero (0). Por
ejemplo, en el eje x, la carga distribuida posee un valor de 40 Ton, y se
suman las fuerzas en x arrojadas por los cálculos del macro en Excel, se
verifica que ambas apuntan hacia la izquierda, y suman 40 Ton.
Ejercicio Nº 2:
Calcular los desplazamientos y las reacciones de la cercha mostrada en la
Figura N° 49. (E = 200 T/mm2)
100 Ton
50 Ton
²
m
m
A=
50
00
m
m
²
0
00
10
A=
A=6000 mm²
50 Ton
Figura Nº 49. Cercha para ejercicio de aplicación
Página | 80
Análisis plano de estructuras mediante Macros de Microsoft Excel
En este caso, a pesar de que es una estructura que funciona solo con cargas
axiales, también es posible utilizar el macro para realizar los cálculos, solo se
debe introducir la inercia de la sección igual a cero en todos los elementos
para evitar que funcionen como elementos sometidos a flexión.
Al igual que en el ejercicio anterior, se deben completar los datos de la
cercha, como en la Figura Nº 50.
Figura Nº 50. Datos de la cercha en estudio
Una vez obtenida la matriz de rigidez de cada elemento, se procede a
colocar los subíndices de la matriz de rigidez global para proceder al llenado
de la misma, y se presiona el botón “Crear Matriz Global”, como se muestra
en la Figura Nº 51
Página | 81
Análisis plano de estructuras mediante Macros de Microsoft Excel
Nº de nodos Nº de barras
3
3
Crear Matriz de Rigidez
de cada elemento
Elemento 1
Q1x
Q1y
M1
Q2x
Q2y
M2
Elemento 2
Q2x
Q2y
M2
Q3x
Q3y
M3
Elemento 3
Q1x
Q1y
M1
Q3x
Q3y
M3
u1
144000
-192000
0
-144000
192000
0
u2
200000.00
0.00
0.00
-200000.00
0.00
0.00
u1
72000
96000
0
-72000
-96000
0
v1
-192000
256000
0
192000
-256000
0
v2
0.00
0.00
0.00
0.00
0.00
0.00
v1
96000
128000
0
-96000
-128000
0
theta1
0
0
0
0
0
0
theta2
0.00
0.00
0.00
0.00
0.00
0.00
theta1
0
0
0
0
0
0
u2
-144000
192000
0
144000
-192000
0
u3
-200000.00
0.00
0.00
200000.00
0.00
0.00
u3
-72000
-96000
0
72000
96000
0
v2
192000
-256000
0
-192000
256000
0
v3
0.00
0.00
0.00
0.00
0.00
0.00
v3
-96000
-128000
0
96000
128000
0
theta2
0
0
0
0
0
0
theta3
0.00
0.00
0.00
0.00
0.00
0.00
theta3
0
0
0
0
0.000E+00
0
Figura Nº 51. Matriz de rigidez de cada elemento
Una vez obtenida la matriz de rigidez de cada elemento, se procede a
colocar los subíndices de la matriz de rigidez global para proceder al llenado
de la misma, y se presiona el botón “Crear Matriz Global”, como se muestra
en la Figura Nº 52
Página | 82
Análisis plano de estructuras mediante Macros de Microsoft Excel
Matriz global
Crear Matriz
Global
u1
216000
-96000
-144000
192000
-72000
-96000
0
0
0
Q1x
Q1y
Q2x
Q2y
Q3x
Q3y
M1
M2
M3
v1
-96000
384000
192000
-256000
-96000
-128000
0
0
0
u2
-144000
192000
344000
-192000
-200000
0
0
0
0
v2
192000
-256000
-192000
256000
0
0
0
0
0
u3
-72000
-96000
-200000
0
272000
96000
0
0
0
v3
-96000
-128000
0
0
96000
128000
0
0
0
theta1
0
0
0
0
0
0
0
0
0
theta2
0
0
0
0
0
0
0
0
0
theta3
0
0
0
0
0
0
0
0
0
Figura Nº 52. Matriz de rigidez de toda la cercha
Una vez creada la matriz de rigidez de la estructura, se procede a introducir
las cargas actuantes, que son solo nodales, ya que las cerchas no funcionan
como elementos sometidos a más de 2 fuerzas. Para ello es necesario ir a la
hoja “Matriz de fuerzas” y completar los datos como se muestra en la Figura
Nº 53
Solicitaciones
Tipos de solicitaciones (momentos de empotramiento)
1
2
3
4
5
6
Reacciones de empotramiento (coordenadas locales) Reacciones de empotramiento (coordenadas globales)
Cuadrante
4
1
Elemento
Nodo i
Nodo j
L (m)
θ (º) =
Solicitación q (Kg/m)
1
2
1
2
2
3
5
6
306.87
180
5
5
c (m)
0
0
L/2 (m)
2
1
2.5
3
a (m)
b (m)
3
1
3
1
M i (Kg.m)
M j (Kg.m)
Ri (kg)
Rj (Kg)
Rix (kg)
Riy (Kg)
Rjx (kg)
Rjy (Kg)
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Figura Nº 53. Fuerzas aplicadas a la cercha.
Página | 83
Análisis plano de estructuras mediante Macros de Microsoft Excel
Una vez completados los datos, se presiona el botón “Generar Matriz de
Fuerzas y Desplazamientos”, y se obtiene la matriz de fuerzas de la
estructura como se muestra en la Figura Nº 54
Generar Matriz de Fuerzas y
Desplazamientos
Elemento 1
Q1x
Q1y
M1
Q2x
Q2y
M2
Elemento 2
Q2x
Q2y
M2
Q3x
Q3y
M3
Elemento 3
Q1x
Q1y
M1
Q3x
Q3y
M3
Matriz de desplazamientos
Matriz de fuerzas aplicadas en la estructura
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Ingrese las fuerzas actuantes en
Fuerzas de empotramiento nodos, si la fuerza es incognita,
no rellene la celda
No rellene la celda si el desplazamiento
en el nodo es incognita. Si no lo es,
ingrese su valor
Q1x
Q1y
Q2x
Q2y
Q3x
Q3y
M1
M2
M3
u1
v1
u2
v2
u3
v3
theta1
theta2
theta3
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
50000
-100000
20000
0
0
0
0.00
0.00
0.00
0.00
0.00
0.00
Figura Nº 54. Matriz de fuerzas y desplazamientos para la cercha en estudio
Determinadas las fuerzas de empotramiento, las fuerzas actuantes, y
establecidas las incógnitas, es necesario ir a la hoja “Cálculos”, la cual estará
en
blanco
en
desplazamientos”,
inicio,
y
con
como
solo
el
resultado
botón
se
“Calcular
obtienen
reacciones
las
fuerzas
y
y
desplazamientos mostrados en la Figura Nº 55
Página | 84
Análisis plano de estructuras mediante Macros de Microsoft Excel
Reacciones desconocidas
Desplazamientos desconocidos
Calcular reacciones y desplazamientos
Matriz de Fuerzas
Q1x
Q1y
Q2x
Q2y
Q3x
Q3y
M1
M2
M3
=
u1
216000.00
-96000.00
-144000.00
192000.00
-72000.00
-96000.00
0.00
0.00
0.00
50000
-100000
20000
Q2y?
Q3x?
Q3y?
M1?
M2?
M3?
Matriz de fuerzas nodales
50000.00
-100000
20000
v1
-96000.00
384000.00
192000.00
-256000.00
-96000.00
-128000.00
0.00
0.00
0.00
u2
-144000.00
192000.00
344000.00
-192000.00
-200000.00
0.00
0.00
0.00
0.00
Matriz de rigidez inversa
6.45833E-06 3.64583E-07
0.0000025
3.64583E-07 3.63281E-06 -0.000001875
0.0000025
-0.000001875
0.000005
v2
192000.00
-256000.00
-192000.00
256000.00
0.00
0.00
0.00
0.00
0.00
Matriz de Rigidez
u3
-72000.00
-96000.00
-200000.00
0.00
272000.00
96000.00
0.00
0.00
0.00
6
3
X
v3
-96000.00
-128000.00
0.00
0.00
96000.00
128000.00
0.00
0.00
0.00
theta1
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
theta2
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
theta3
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Matriz de desplazamientos
+
u1?
v1?
u2?
0
0
0
theta1?
theta2?
theta3?
Matriz de Fuerzas de empotramiento
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
Reacciones calculadas
0.336458
u1?
-0.382552
v1?
0.412500
u2?
83333.33
Q2y?
-70000.00
Q3x?
16666.67
Q3y?
0.00
M1?
0.00
M2?
0.00
M3?
Figura Nº 55. Reacciones y desplazamientos para la cercha en estudio
Página | 85
Análisis plano de estructuras mediante Macros de Microsoft Excel
Ejercicio Nº 3 (extraído del libro J.U. Escamilla. Ejercicio N° 11.19, pág.
501)
Calcular los desplazamientos y las reacciones del pórtico mostrado en la
Figura Nº 56. (E = 19 KN/mm2)
50 KN
4.00
3.00
2.00
Figura Nº 56. Pórtico para ejercicio de aplicación
Solución:
Se enumeran los nodos como se muestra en la Figura Nº 57
1
2
3
4
Figura Nº 57. Numeración de los nodos
Página | 86
Análisis plano de estructuras mediante Macros de Microsoft Excel
Se procede de igual manera que los ejercicios 1 y 2, obteniendo los
siguientes resultados:
Elemento 1
Q3x
Q3y
M3
Q1x
Q1y
M1
Elemento 2
Q1x
Q1y
M1
Q2x
Q2y
M2
Elemento 3
Q2x
Q2y
M2
Q4x
Q4y
M4
u3
5700
0
-8550
-5700
0
-8550
u1
475000.00
0.00
0.00
-475000.00
0.00
0.00
u2
5700
0
8550
-5700
0
8550
v3
0
570000
0
0
-570000
0
v1
0.00
3298.61
9895.83
0.00
-3298.61
9895.83
v2
0
570000
0
0
-570000
0
theta3
-8550
0
17100
8550
0
8550
theta1
0.00
9895.83
39583.33
0.00
-9895.83
19791.67
theta2
8550
0
17100
-8550
0
8550
u1
-5700
0
8550
5700
0
8550
u2
-475000.00
0.00
0.00
475000.00
0.00
0.00
u4
-5700
0
-8550
5700
0
-8550
v1
0
-570000
0
0
570000
0
v2
0.00
-3298.61
-9895.83
0.00
3298.61
-9895.83
v4
0
-570000
0
0
570000
0
theta1
-8550
0
8550
8550
0
17100
theta2
0.00
9895.83
19791.67
0.00
-9895.83
39583.33
theta4
8550
0
8550
-8550
0.000E+00
17100
Figura Nº 58. Matriz de rigidez de cada elemento.
La matriz de rigidez de cada elemento según el texto mencionado
anteriormente, es la que se muestra en las figuras N° 59 y N° 60.
Página | 87
Análisis plano de estructuras mediante Macros de Microsoft Excel
Para ell elemento horizontal:
Figura Nº 59.. Matriz de rigidez del elemento horizontal. (Fuente, J.U. Escamilla)
Para los elementos verticales
Figura Nº 60.. Matriz de rigidez de los elementos verticales. (Fuente, J.U. Escamilla)
Página | 88
Análisis plano de estructuras mediante Macros de Microsoft Excel
La matriz de rigidez de la estructura completa obteni
obtenida
da con el macro es la
mostrada en la Figura N° 61
Q1x
Q1y
M1
Q2x
Q2y
M2
Q3x
Q3y
M3
Q4x
Q4y
M4
u1
v1
theta1
u2
v2
480700.00
0.00
8550.00 -475000.00
0.00
0.00
573298.61 9895.83
0.00
-3298.61
8550.00
9895.83 56683.33
0.00
-9895.83
-475000.00
0.00
0.00
480700.00
0.00
0.00
-3298.61 -9895.83
0.00
573298.61
0.00
9895.83 19791.67 8550.00
-9895.83
-5700.00
0.00
-8550.00
0.00
0.00
0.00
-570000.00
0.00
0.00
0.00
8550.00
0.00
8550.00
0.00
0.00
0.00
0.00
0.00
-5700.00
0.00
0.00
0.00
0.00
0.00
-570000.00
0.00
0.00
0.00
8550.00
0.00
theta2
0.00
9895.83
19791.67
8550.00
-9895.83
56683.33
0.00
0.00
0.00
-8550.00
0.00
8550.00
u3
-5700.00
0.00
-8550.00
0.00
0.00
0.00
5700.00
0.00
-8550.00
0.00
0.00
0.00
v3
0.00
-570000.00
0.00
0.00
0.00
0.00
0.00
570000.00
0.00
0.00
0.00
0.00
theta3
8550.00
0.00
8550.00
0.00
0.00
0.00
-8550.00
0.00
17100.00
0.00
0.00
0.00
u4
0.00
0.00
0.00
-5700.00
0.00
-8550.00
0.00
0.00
0.00
5700.00
0.00
-8550.00
v4
0.00
0.00
0.00
0.00
-570000.00
0.00
0.00
0.00
0.00
0.00
570000.00
0.00
Figura Nº 61.. Matriz de rigidez global de la estructura
La matriz de rigidez global de la estructura, solo en los nodos 1 y 2 que son
los que se repiten en cada elemento, según el texto anteriormente
mencionado es la mostrada en la Figura N° 62
Figura Nº 62.. Matriz de rigidez global de la estructura. (Fuente, J.U. Escamilla)
Se puede observar que los valores obtenidos con el macro comparados con
los del texto discrepan en pequeñas cantidades, esto es debido a que
Página | 89
theta4
0.00
0.00
0.00
8550.00
0.00
8550.00
0.00
0.00
0.00
-8550.00
0.00
17100.00
Análisis plano de estructuras mediante Macros de Microsoft Excel
Microsoft Excel trabaja internamente con muchos más decimales que los que
pudieron haber sido usados en el ejercicio
ejercici del texto.
Las reacciones de empotramiento para el elemento horizontal se muestran
en la Figura N° 63.
Cuadrante Elemento
Nodo i
Nodo j
L (m)
θ (º) =
Solicitación q (Kg/m)
4
4
3
3
1
2
1
2
4
3
6
3
90
0
270
5
6
5
1
2
3
Reacciones de empotramiento (coordenadas locales)
c (m)
0
50
0
L/2 (m)
2
1
1
1.5
3
1.5
a (m)
b (m)
3
2
1
3
4
1
Reacciones de empotramiento (coordenadas globales)
M i (Kg.m)
M j (Kg.m)
Ri (kg)
Rj (Kg)
Rix (kg)
Riy (Kg)
Rjx (kg)
Rjy (Kg)
0.00
44.44
0.00
0.00
-22.22
0.00
0.00
37.04
0.00
0.00
12.96
0.00
0.00
0.00
0.00
0.00
37.04
0.00
0.00
0.00
0.00
0.00
12.96
0.00
Figura Nº 63. Fuerzas de empotramiento generadas con el macro.
macro
Las fuerzas de empotramiento para el elemento horizontal según el texto se
muestran en la Figura N° 64
Figura Nº 64.. Fuerzas de empotramiento para el elemento
elemento horizontal. (Fuente, J.U.
Escamilla)
Página | 90
Análisis plano de estructuras mediante Macros de Microsoft Excel
Nótese que según el texto, la reacción vertical en el nodo 2 es de 1.30 KN,
que no concuerda con la sumatoria 37+1.30=50, debería ser 13.00 KN la
fuerza vertical en el nodo 2 para que se cumpla el equilibrio.
Las ecuaciones de equilibrio obtenidas con el macro expresadas en forma
matricial, se muestran en la Figura N° 65
Figura Nº 65. Ecuación de equilibrio de la estructura expresada en forma matricial
La ecuación de equilibrio de la estructura según el texto citado, es la
mostrada en la Figura Nº 66
Página | 91
Análisis plano de estructuras mediante Macros de Microsoft Excel
Figura Nº 66. Ecuación de equilibrio de la estructura. (Fuente, J.U. Escamilla)
Al operar matricialmente la ecuación planteada en la Figura Nº 66, se
obtienen los resultados con el macro, mostrados en la siguiente figura
Figura Nº 67. Reacciones y desplazamientos calculados con el macro
Página | 92
Análisis plano de estructuras mediante Macros de Microsoft Excel
Las reacciones y desplazamientos según el texto citado, son las que
muestran en la siguiente figura
Figura Nº 68. Resultados de reacciones y desplazamientos (Fuente, J.U. Escamilla)
Se observa que el macro funciona al ejecutarse y resolver la estructura, con
pequeñas discrepancias en valores decimales que como se expreso
anteriormente, puede ser debido a la cantidad de decimales que utiliza
Microsoft Excel internamente.
Página | 93
Análisis plano de estructuras mediante Macros de Microsoft Excel
CONCLUSIONES
Como conclusión se puede establecer según lo observado, que el macro en
Excel funciona y se ejecuta de manera sencilla y didáctica para la resolución
de estructuras por el método matricial y con una programación sencilla en un
software conocido por la masa estudiantil, de manera que puede ser usado
para fines académicos pudiéndose observar la generación de todas las
matrices inmersas en los cálculos.
Se puede utilizar esta herramienta informática como complemento a las
actividades académicas del alumno y a la resolución de ejercicios, pudiendo
invertirse más tiempo en analizar el problema que realizando gran número de
cálculos.
La programación de la hoja no se bloqueó, de manera de que se pueda
seguir desarrollando en un futuro y realizar un macro que realice cálculos
más complejos con este tipo de programación y así incentivar al uso de
herramientas informáticas para la resolución de problemas.
Página | 94
Análisis plano de estructuras mediante Macros de Microsoft Excel
Referencias bibliográficas
•
Escamilla, J. (2000). Análisis de estructuras. ECOE ediciones, Bogotá.
•
Tena Colunga, A. (2007). Análisis de estructuras con métodos
matriciales. Limusa ediciones. D.F.
•
González Cuevas, O. (2009). Análisis estructura. Limusa ediciones.
D.F.
•
Grossman, S. (1994). Algebra Lineal, Thomson Learning. Washington.
•
Barbat, A. y Canet, J. (1994). Estructuras sometidas a acciones
sísmicas. CIMNE. Barcelona
Página | 95
Download