Logo Studenta

334085628-Programacion-en-La-Ingenieria-Civil

¡Este material tiene más páginas!

Vista previa del material en texto

Importancia de la Programación en el 
Campo de La Ingeniería Civil y sus 
Ventajas en la Comprensión de 
Problemas
Por : Herbert Williams Carlos C.
Años atrás… 
La Ingeniería tenia procesos complicados y engorrosos propios del 
calculo de diseños que se solicitaban diariamente, Aunque no 
faltaban nuevos métodos o nuevas herramientas que facilitaban 
esta labor en cierta medida, pero no fue hasta la invención de las 
computadoras que hubo un progreso sustancial gracias a que 
ellas podían realizar una mayor cantidad de cálculos en un menor 
tiempo, despojando de las tareas mas difíciles a los ingenieros 
eliminando así la parte engorrosa y dejando tiempo para 
evocarnos en otras partes de la ingeniería como por ejemplo 
presentar mas de dos posibles proyectos o como probar mas 
estados de carga para una misma estructura.
Entonces partiendo de esto la programación forma parte 
importante de nuestra carrera ya que con ella podemos realizar 
cálculos o labores de diseño casi inimaginables que hace tiempo 
atrás no hubiésemos podido realizar, es por ello que nace el 
software aplicado a la ingeniería civil
Es parte también importante 
conocer la teoría que esta 
inmersa dentro de este software 
como parte de un buen manejo 
de estos programas ya que 
muchas veces en nuestros centros 
de estudios se empieza de la 
parte teórica, siendo nuestra 
responsabilidad entenderla y 
aplicarla en nuestro campo
Pero muchas veces los nuevos métodos y 
tecnologías no van de la mano con la enseñanza 
que se nos brinda ya sea por diversos factores:
Por El Tiempo, Los Recursos Y La Falta De 
Capacitación Etc.
dejando una desconexión entre lo que se nos 
enseña y lo que se aplica provocando que el 
estudiante investigue por cuenta propia, no 
encontrando respuestas en muchas de las 
ocasiones, siendo este un problema muy común 
entre los nuestros que no se corrige si no después 
de haber ganado cierta experiencia (derecho 
de piso).
Podemos mencionar algunos ejemplos
EN EL CALCULO DE ESTRUCTURAS
Métodos de TakabeyaMétodos de KaniMétodos de Cross
METODOS ITERATIVOS
Muchas veces no existe compatibilidad en los resultados generando 
dudas en los estudiantes que casi nunca son corregidas
Método De Elementos Finitos
• PLANOS
• Dibujo manual
• Dibujo asistido por computadora
• Muchas veces no se mejora para una mayor productividad ya 
que se sigue teniendo el mismo concepto que en el dibujo 
manual.
ESTRUCTURAS SISMO RESISTENTES
Tecnologías convencionales (Aporticadas y Sistema dual)
Nuevas tecnologías (aisladores y disipadores)
En este caso se aplican las nuevas tecnologías pero sin un estudio 
de respuesta ante la aplicación de la misma.
• Ahora si tomamos el primer ejemplo 
• y realizamos un ejercicio cualquiera y lo sometemos a ambos métodos.
• Teniendo en cuenta que en el cálculo manual nos valemos del método de Hardy cross
• Tenemos los siguientes resultados
• CALCULO MANUAL POR CROSS
Y suponiendo que no tenemos dudas en el 
método de Hardy Cross 
• CALCULO POR EL PROGRAMA ETABS
• Comparando ambos resultados 
NI NF NI NF NI NF
programa Etabs 656.58 656.58 -2173.28 3773.17 23.43.42 2343.42
Cross 656.25 656.25 -2200 3800 2343.75 2343.75
CALCULADO POR
FUERZAS CORTANTES
barra1 barra 2 barra 3
NI NF NI NF NI NF
programa Etabs 4952.2 -230.11 417.53 -9096.16 -9047.95 9448.45
Cross 4949.97 -300 300 -9300 -9300 9449.98
CALCULADO POR
MOMENTOS FLECTORES
barra1 barra2 barra3
Claramente podemos observar que no existe compatibilidad 
entre algunos de sus resultados.
La pregunta que cae por su propio peso seria:
• ¿ Por Que Los Resultados No Son Iguales Si Hablamos De La 
Misma Estructura ?
•
Ahora si consideramos que nuestro calculo manual es correcto, 
tendríamos que corregir los datos ingresados en el programa 
Etabs ya que son varios los datos de entrada y no sabemos como 
estos afectan a nuestros resultados
Investigando por cuenta propia sobre la teoría del método de 
elementos finos y realizando el mismo ejercicio por el este 
método mediante un calculo manual se llega a los siguientes 
resultados.
• Método Matricial Manual:
• Entonces ahora podemos ver que este resultado si tiene un 
mejor acercamiento con el método de Cross pero aun así sigue 
variando con respecto a los resultados del programa Etabs, por 
lo tanto la única forma de que esto suceda es que estemos 
obviando algún dato o no estemos eliminando alguna 
consideración que el programa lo hace por defecto
• Es por ello que seguimos investigando sobre este programa y 
vemos que considera la aplicación de los brazos rígidos siendo 
este una variable que afecta a nuestros resultados.
• Ahora hacemos la modificación en el programa para ver si 
estos resultados se acercan a los calculados manualmente por 
ambos métodos
• Calculo por el Programa Etabs (Corregido)
• Eliminamos la aplicación de los brazos rígidos solo para el ejemplo ya que con lo 
investiga se demuestra que su aplicación es necesaria por que se apega a la 
realidad
• Comparando ambos resultados 
NI NF NI NF NI NF
programa Etabs 656.58 656.58 -2200.05 3799.93 2343.42 2343.42
Cross 656.25 656.25 -2200 3800 2343.75 2343.75
CALCULADO POR
FUERZAS CORTANTES
barra1 barra 2 barra 3
NI NF NI NF NI NF
programa Etabs 4952.2 -300.43 300.43 -9298.93 -9298.93 9448.45
Cross 4949.97 -300 300 -9300 -9300 9449.98
CALCULADO POR
MOMENTOS FLECTORES
barra1 barra2 barra3
• Ahora si existe una mejor aproximación aunque no del todo 
acertada, consideramos que es por otras posibles causas ya que el 
programa Etabs utiliza mas parámetros para poder obtener estos 
resultados mas realistas y además que este es un ejercicio puramente 
académico y no tiene mucha relación con la realidad.
• Por ello consideramos importante saber como están programados muchos de 
los software que son utilizamos a diario ya que nos ayuda a entender su 
funcionamiento además que nos permite manipular libremente todos los 
parámetros que este nos pueda ofrecer 
• Ahora sin dudas y sin temor alguno procederemos modelar este mismo 
problema en otros programas que se encuentran disponibles en otras 
plataformas como Android ,Windows y para calculadoras
• Y con toda firmeza y confianza procederemos a evaluarlas ya que tenemos 
el conocimiento de la teoría que esta detrás de todo eso 
• Programa Frame Desing (para Android)
• Programa Dovas (para Ti – nspire cas)
• Programa Port (calculo manual para Ti-nspire cas)
• Programa Two Frame( para windows)
• Se puede observar que si comparamos los resultados si existe concordancia
•
NI NF NI NF NI NF
Etabs 656.58 656.58 -2200.05 3799.93 2343.42 2343.42
Frame desing -656.40 -656.40 -2200.00 3800.00 -2343.60 -2343.60
Programa Dovas 656.39 656.39 2200.02 -3799.98 2343.61 2343.61
Programa Port 656.39 -656.39 2200.02 3799.98 2343.61 -2343.61
Programa Two Frame 656.39 656.39 2200.02 -3799.98 2343.61 2343.61
Calculo a Mano 656.39 656.39 2200.02 -3799.98 2343.61 2343.61
NI NF NI NF NI NF
Etabs 4952.2 -300.43 300.43 -9298.93 -9298.93 9448.45
Frame desing 4950.90 -300.20 -300.20 9299.60 9299.60 9449.30
Programa Dovas 4950.89 -300.21 -300.21 9299.58 9299.58 -9449.31
Programa Port 4950.89 300.21 -300.21 -9299.58 9299.58 9449.31
Programa Two Frame -4950.89 300.21 300.21 -9299.58 -9299.58 9449.31
Calculo a Mano 4950.89 -300.21 -300.21 9299.58 9299.58 -9449.31
MOMENTOS FLECTORES
barra2 barra3CALCULADO POR
CALCULADO POR barra1 barra 2 barra 3
barra1
FUERZAS CORTANTES
Durante todo este proceso de calculo y comprobación ganamos experiencia y
convicción en el manejo de otros programas.
Además que lo aprendido manualmente no tiene por que ser diferente a lo
calculado por otros programas
• Es por eso que saber el manejo de los programas mas 
avanzados para el análisis estructural es tan importante como 
saber el como están programados para entender su 
funcionamiento y no tener dudas al tomar nuestras propias 
consideracionesPor lo hablado anteriormente pudimos demostrar la importancia de los programas
en ese aspecto.
También no solo cumple para ello pues podemos demostrar que los programas son
importante en la enseñanza tanto como para el docente como para el estudiante
mismo, entonces vamos a demostrar como podríamos aplicar la programación a
diferentes campos de la ingeniería civil.
Empezaremos primero en los MÉTODOS NUMERICOS ya que esta es una
herramienta básica para hacer nuestros cálculos y deberíamos optimizar la manera
de calcular ya que en la universidad estos cálculos son de manera manual y esta
bien por que nos enseñan a demostrar como es que funcionan estos métodos , pero
una vez aprendido estos métodos no se comprueban para muchos casos y
simplemente se dejan ahí y creo que jamás se vuelven a utilizar pero sabemos que
eso es muy importante para la carrera, ahora existen muchos métodos delos cuales
en este caso solo voy a hablar de 3
Entre los métodos para resolver sistemas de ecuaciones tenemos:
 Gauss Jordan
 Jacobi
 Gauss Seidel
GAUSS JORDAN
es un algoritmo del algebra lineal para determinar las soluciones de un sistema 
de ecuaciones lineales, encontrar matrices e inversas.
Trabajamos sobre la plataforma TI- NSPIRE en el lenguaje de programación TI BASIC
Empezamos por generalizar el procedimiento para un sistema de “n” ecuaciones, al 
parecer este paso parece complicado pero en realidad nos ayuda o nos permite 
ahorrar código al programar debido a que si solo lo hacemos para casos particulares 
tendríamos que hacer un programa distinto que funcione para cada caso, representando 
esto una tarea innecesaria.
Una vez terminado esto procedemos a volcar al lenguaje de programación los pasos con 
el que se ejecuta este procedimiento estableciendo un nexo entre la parte matemática y 
el lenguaje de programación siendo esto una parte importante ya que requiere un pleno 
conocimiento de los comandos que el lenguaje requiere y siendo el programador el 
único que los entiende. 
Por otro lado hacemos que el programe nos arroje el procedimiento simulando un calculo 
manual para poder comprobar nuestros ejercicios, siendo estos los resultados:
JACOBI
El método de Jacobi se basa en que existen matrices ortogonales P, tales 
que transforman a la matriz A en una matriz cuya diagonal principal está formada 
por los valores propios.
Entonces como hicimos en primer método generalizamos el problema.
Como podrán ver en este paso se tiene que tener conocimiento de las matemáticas que 
involucra cada método, de esta manera estamos ampliando y profundizando nuestros 
conocimientos sobre este tema.
Líneas de Comando que 
establecen las pautas para 
el correcto funcionamiento 
del programa
GAUSS SEIDEL
Es un método iterativo, lo que significa que se parte de una aproximación
inicial y se repite el proceso hasta llegar a una solución con un margen de error tan
pequeño como se quiera. Buscamos la solución a un sistema de ecuaciones lineales, en
notación matricial.
Puede aplicarse a cualquier sistema de ecuaciones lineales que produzca una matriz
(cuadrada, naturalmente pues para que exista solución única, el sistema debe tener
tantas ecuaciones como incógnitas) de coeficientes con los elementos de su diagonal
no-nulos, la convergencia del método solo se garantiza si la es diagonalmente
dominante o si es simétrica y, a la vez, definida positiva.
Ahora los resultados de estos 3 
métodos se comprobaran con 
el calculo manual para 
verificar que el programa 
tenga un correcto 
funcionamiento o de lo 
contrario seguir mejorándolo
• Durante todo este proceso aprendimos sobre la manipulación de 
matrices, generalización de ecuaciones y métodos, también pudimos 
resolver sistemas de ecuaciones grandes cosa que manualmente seria 
muy trabajoso además que comprobamos en que casos son mas 
efectivos cada método y todo esto contribuye a tener un concepto 
mucho mas amplio sobre esta materia 
Todo esto se ve reflejado en nuestra curva de aprendizaje ganando mayor 
pendiente a medida que vamos adentrando a la programación
• En GEOTECNIA
Para calcular el factor de seguridad contra deslizamientos en taludes de tierra
Ahora también generalizamos el problema para subdividir el talud en “n” dovelas . 
Pero sabemos que podríamos calcular las áreas mas eficientemente si no tendríamos 
que aproximar la curva de falla en partes rectas es por eso que consideramos este 
error de aproximación en el programa
Entonces procedemos a elaborar el programa para obtener un paso a paso de los 
cálculos y así comprobarlos con el calculo manual obteniendo los siguientes resultado.
En cuanto a este programa podemos decir 
que nos facilito para poder despejarnos de 
dudas con respecto a esta materia aparte 
de ello nos permito ver que tan 
aproximado seria si dividimos al talud en 
muchas dovelas ya que esto calculado a 
mano seria algo agotador .
Se puede apreciar 
que el código fuente 
es lo bastante simple 
y que cualquiera 
puede entenderlo 
• En el DISEÑO DE VIGAS DE CONCRETO ARMADO 
• Sabemos que esto es un proceso tedioso por que siempre estamos 
buscando la mejor opción lo que involucra estar probando varios tipos de 
soluciones para nuestro diseño pero que muchas veces se busca a lo mucho 
un par de alternativas debido a lo complicado del proceso de calculo.
• Entonces resulta esencial elaborar un programa que realice la parte del 
calculo y que este de acuerdo con nuestras propias normas 
• Para ellos nos valemos de la teoría y de las normas vigentes 
• ahora debido a que este programa fue elaborado para obtener los mismos 
resultado que el profesor exigía se tomo en cuenta hasta correcta 
aproximación de lo decimales.
• Debido a esto se tardaría mucho en elaborar dicho programa es por ello 
que se necesito de la ayuda de otras personas para la programación 
generando esto una consecuencia inevitable 
• El programar es plasmar el conocimiento en una serie de pasos definidos y 
ordenado en un lenguaje de programación .pero también cada persona 
tiene su propia manera de entender las cosas por ende tendrá su propia 
manera de programar 
• Debido a esto se tubo que sistematizar la implementación de cada 
algoritmo en un algoritmo mayor . Estableciendo un orden que cada 
programador debió seguir y así poder generar un programa mayor como es 
el de este caso.
Programa para el diseño de vigas de concreto armado
• Haciendo la comprobación con el calculo manual
• teniendo el programa a nuestra disposición no solo nos ayudo a pasar el 
curso que es lo q muchos esperan, si no que también pudimos probar muchos 
casos dando varias alternativas de solución a un mismo problema además 
de hacerlo con el mínimo esfuerzo permitiéndonos tener un concepto mas 
amplio del curso y ver que variables del problemas son las que mas afectan 
a los resultado 
• ganándonos así nuestro propio criterio del por que de las cosas (siendo esto 
a veces muy difícil de conseguir)
Experiencia de programación
El programar es enseñar desde lo mas básico y paso a paso un determinado proceso para 
obtener un resultado, es por eso que los programadores deben de saber todos los detalles y 
particularidades de un problema, en otras palabras tiene que tener una visión clara sobre el 
tema en el que vamos a programar
Un antiguo problema de resistencia de materiales
Deflexión de vigas
Para encontrar la deflexión de una viga existen muchos métodos entre ellos 
tenemos:
Método de la doble integración
Método del Área de momentos
Método de la viga conjugada
En la mayoría de los métodos que dan solución a este problema se basan en 
encontrar los momentos flectores de la viga, pero como sabemos los momentos 
están en función de la carga aplicada.
Pues ahora pensemos razonemos sobre las cargas en una viga 
• Podemos observar que las cargas son variadas son variadas y que cualquier cambio sobre 
ellas modifica la ecuaciónque describe su deflexión. 
• Tratamos de generalizar este problema . Pero no se obtienen resultados generales para 
cualquier estado de carga
• Solo se generalizan los mas usados como son las fuerzas puntuales y las cargas distribuidas 
constantes en todo el eje de la viga
pero esto no satisface la necesidad de encontrar una solución generaliza ya que se desea poder 
someter a una estructura para diferentes casos de cargas
Volviéndose una prioridad buscar algún otro método que pueda abordar este problema
• Entonces escudriñamos mas sobre esta teoría
• y nos damos cuenta que podemos expresar las cargas mediante el uso de unas funciones 
generalizadas
• como por ejemplo:
• Función rampa que representa una carga triangular o trapezoidal en una viga
• Función escalón unitario que representa una carga distribuida constante en el eje de toda 
la viga
• Función impulso unitario que representa un fuerza puntual 
• Función doblete que representa un momento puntual
• Ahora ya podemos expresar las cargas mediante un función compacta evitando tener que 
expresarlas mediante nuestro propio razonamiento
• Pero aun así el problema sigue siendo muy complicado aun ya que son muchas las funciones que 
podrían describir la carga de una viga
• Es por eso que se sigue buscando nuevas alternativas de solución para la representación de las 
cargas en un viga
• nos topamos con las función de macaulay en que utiliza la simbología de los corchetes angulares
• esto no es mas que un manera de expresar las funciones mencionadas anteriormente pero que 
simplifican su implementación al programa
• gracias a estas funciones se pudo elaborar un programa que sea capas de arrojar los momentos 
flectores a los que esta sometida una viga
• generalizando así de esta manera el problema de las vigas
• Ahora llegamos al caso en donde las vigas ya no son isostáticas si no Hiperestáticas y que 
también existen una variedad de métodos para este tipo de problemas
• como es el caso de:
• Primer y segundo teorema de castigliano
• Método de la deflexión
• Método de las fuerzas
Pero nos damos cuenta que estos métodos también necesita de los momentos flectores de la 
viga
• pero con la modificación que algunas cargar están expresadas en forma de variables
• por ende realizamos una modificación al programa original para que pueda reconocer 
las cargas que son variables en magnitud(no en posición)
• Entonces ahora si podemos dar solución a los casos en donde la viga es hiperestática
• con la condición que el grado de hiperestaticidad no sea muy elevado por que volvería 
muy engorroso la parte del calculo ya que genera varias ecuaciones y muchas veces esto 
puede marear al alumno
• Pero ahora nos damos con la sorpresa de que las estructuras en la ingeniería tienes un 
numero alto de hiperestaticidad, entonces esto va en contra de lo mencionado anteriormente
• teniendo así que volver a buscar un meto mucho mas eficiente para estos casos .
• es así como llegamos a los métodos de iteraciones sucesivas
• siendo los siguientes:
• El método de Hardy Cross
• El método de kani
• El método de takabeya
• Estos método muchas veces son muy difíciles de implementar en un programa 
por que tienen consideraciones distintas cuando las estructura tiene 
desplazamientos laterales
• Esto molesta un poco a la hora de generalizar el problema
• teniendo así que buscar otro método que pueda generalizar esto
• topándonos con el método matricial que es la base de el método de 
elementos finitos
• usado muy frecuentemente en la actualidad por los programas de análisis 
estructural ya que en el se pueden modelar distintos casos de cargas, 
diferentes materiales, además que se pueden usa para materiales que no 
están en el rango elástico
• Entonces vemos como un sencillo problema de resistencia de materiales 
se volvió tan amplio que se tardo mas de 4 ciclos en poder entenderlo 
debido a que siempre se trata de modelar una estructura los mas real 
posible, aparte se necesito profundizar en el análisis matemático y 
sobre ecuaciones diferenciales además de las funciones generalizadas 
• pero en este caso solo se conoció una parte de ella debido a que 
existen muchos mas parámetros y idealizaciones que modelan mejor la 
estructura teniendo de esta manera que profundizar mucho mas en el 
tema
• A pesar de ello nos pudimos dar cuenta que todo tiene una secuencia y 
un fundamento 
CONCLUSIONES
• Demostramos que la programación es muy importante en la carrera de 
ingeniera civil así mismo como para otras carrera de ingeniería por 
que nos permite simular problemas difíciles además que ayuda en las 
tareas repetitivas.
• También pudimos observar que contribuye al aprendizaje del alumno 
por que se exploro mucho mas de lo aplicado en clases contribuyendo 
de esta manera a un mayor entendimiento de los problemas.
• Por otra parte creemos que seria de gran ayuda para los docentes 
por que permite explicar los procedimientos mas eficientemente paso 
a paso para que el alumno pueda comprenderlos rápidamente 
siendo este un punto de vital importancia por que permitiría abarcar 
otros temas al que no se podría llegar sin la ayuda de la 
programación.
• Y por ultimo consideramos que al estar siempre familiarizado con la 
programación ayuda aun mejor manejo de los programas complejos 
que pudiesen existir . Ya que siempre se necesita estar actualizado 
pero sin perdernos en el camino
Si no me quisiste cuando 
estaba así 
No me busques cuando este así
GRACIAS

Continuar navegando