PROGRAMA DE ANÁLISIS DE PÓRTICOS EN 2 DIMENSIONES

Descarga del programa

Se puede descargar el programa desde el siguiente enlace:

DESCARGAR PROGRAMA DE PÓRTICO-2D

tutorial en vídeo del programa

Uso del programa

Existen dos maneras de correr el programa. A partir del explorador de windows y a través de la ventana de comandos.

A partir del explorador (ventanas) de Windows

Si se hace doble click en el ejecutable, este correrá siempre y cuando todos los datos del modelo estructural se encuentren en el archivo “ingresoDatos.txt” que deberá estar en la misma carpeta del ejecutable. Si el programa no encontrara este archivo, simplemente se cerrará.

A partir de la ventana de compandos (CMD prompt)

La manera más completa de utilizar el programa es a partir del command prompt o de la ventana de comandos. Debemos primeramente dirigirnos a la carpeta donde se encuentra el programa:

Una vez en la carpeta de trabajo, debemos llamar al programa seguido del nombre donde se encuentran los datos de la estructura. En este caso tenemos dos archivos de datos: “datosIngreso.txt” y “otroPortico.txt”.

Si solo escribimos winportico2d, automáticamente llamará al archivo por defecto “datosIngreso.txt


C:\Users\marze\Downloads\programa>winportico2d

Sin embargo si escribimos winportico2d seguido del nombre del archivo, abrirá en este caso “otroPortico.txt”


C:\Users\marze\Downloads\programa>winportico2d otroPortico.txt

Unidades

Las unidades con las que se trabaje pueden ser cualesquiera. Sin embargo deben ser homogéneas a lo largo de todo el programa.

si se comienza con unidades de [m], [KN], [KPa], deberán trabajarse con esas unidades de inicio a fin.

Los resultados se entregarán en las mismas unidades.

No se pueden mezclar unidades ni prefijos de unidades. Por ejemplo no se puede usar [cm],[KN],[MPa]

Ingreso de datos

Dentro del archivo .txt se deben ir ingresando los datos del programa secuencialmente para que el programa interprete todos los elementos que se encuentran en el archivo de texto. El programa busca etiquetas específicas y luego lee los datos seguidos de esa etiqueta. Por ejemplo si el programa lee la etiqueta “nudos:”, a continuación leerá tantos datos de nudos como tenga el archivo de texto.

Tomemos como ejemplo el siguiente pórtico sencillo:

Un archivo de ingreso de datos correspondiente a este pórtico tendrá la siguiente forma:

Cada etiqueta como “nudos:” o “puntual:” se escribe siempre sin espacios y con dos puntos al final. Luego de cada etiqueta se escriben los datos de ingreso en el orden explicado en el siguiente apartado.

Etiquetas

Las etiquetas deben escribirse tal cual se muestran en la siguiente lista. No se deben intercambiar Mayúsculas con minúsculas o viseversa.

Cada dato se separa con espacio o con salto de línea (enter). No se admiten “,” comas ni “;” punto y coma para la separación entre datos.

nudos:

Corresponde al ingreso de coordenadas de cada nudo. Primero se escribe la numeración de cada nudo, luego la coordenadaX, y finalmente la coordenada Y. La numeración puede no ser secuencial, sin embargo es mejor evitar esto último.


nudos:
#nudo CoordX coordY

barras:

Luego de esta etiqueta se indica la conexión de cada barra entre nudos. Para cada barra se escribe separado por espacios:
– Número de barra
– Nudo de inicio
– Nudo de llegada
El valor de nudo de inicio o de llegada corresponden a la numeración de nudo establecida en la etiqueda “nudos:”.


barras:
#barra deNudo aNudo

seccionRectangular:

Acá se establece la sección transversal rectangular de los elementos. Si existieran elementos no rectangulares o de forma irregular, utilizar la etiqueta “secciónGenerica:”. El orden en el cual se ingresan los datos es el siguiente:


seccionRectangular:
tagSeccion (tagSeccion es texto sin espacios)
base altura modElas
{lista de barras}
En el pórtico el ingreso de datos de la sección es como sigue:


seccionRectangular:
viga
0.25 0.4 20e6
1 2 3 4
La primera línea indica el nombre de la etiqueta.
La segunda línea corresponde al nombre que le damos a la sección (puede ser cualquier nombre, pero sin espacios)
La tercera línea corresponde a la sección: base=0.25m, altura = 0.4m, moduloElastico = 20’000’000 KN/m2
La última línea indica los elementos o barras a los que se le asigna esta sección.

seccionGenerica:

Se establece la sección transversal de los elementos no rectangulares. El orden en el cual se ingresan los datos es el siguiente:


seccionGenerica:
tagSeccion (tagSeccion es texto sin espacios)
area inercia modElas
{lista de barras}
El formato de ingreso de datos es muy similar al de “seccionRectangular:”. Ver los detalles de esta etiqueta para un ejemplo.

distribuidaLocal:

Se usa al aplicar cargas distribuidas en un elemento de barra, en coordenadas locales. Se pueden introducir cargas trapezoidales perpendiculares y paralelas a la barra. Obviamente una carga rectangular o triangular es un caso particular de la trapezoidal.

La manera de introducir los datos de carga a una lista de barras es la siguiente. Para todo un conjunto de barras o elementos de pórtico que reciban la misma carga se introduce la carga como sigue:


distribuidaLocal:
casoCarga (casoCarga es texto sin espacios)
fIqz fDer qIzq qDer
{lista de barras}
Primero se introduce el nombre de la etiqueta “distribuidaLocal:”.
A continuación donde se lee “casoCarga” se introduce el nombre del caso de carga. Este es un nombre que nosotros podemos escoger a gusto y necesidad. Sin embargo nombres como “viva”, “muerta”, “lateral” serán nombres típicos para denotar el tipo de carga que estamos utilizando. Este deberá ser un texto sin espacios.
Luego se introducen las cargas paralelas a la barra o perpendiculares a la barra en sus extremos:
fIzq: fuerza paralela a la barra a la izquierda o inicio de la barra
fDer: fuerza paralela a la barra a la derecha o fin de la barra
qIzq: fuerza perpendicular a la barra a la izquierda o inicio de la barra
qIzq: fuerza perpendicular a la barra a la derecha o fin de la barra
{lista de barras} corresponde a la lista de elementos frame a los cuales se les aplicará la carga indicada. Las cargas serán positivas a la derecha y positivas hacia arriba de la barra.

distribuidaGlobal:

Se usa al aplicar cargas distribuidas en un elemento de barra, en coordenadas Globales. Se pueden introducir cargas trapezoidales, rectangulares o triangulares en cualquier dirección.

La manera de introducir los datos de carga a una lista de barras es la siguiente. Para todo un conjunto de barras o elementos de pórtico que reciban la misma carga se introduce la carga como sigue:


distribuidaGlobal:
casoCarga (texto sin espacios)
qIzq qDer dirX dirY
{lista de barras}
Primero se introduce el nombre de la etiqueta “distribuidaGlobal:”.
A continuación donde se lee “casoCarga” se introduce el nombre del caso de carga. Este es un nombre que nosotros podemos escoger a gusto y necesidad. Sin embargo nombres como “viva”, “muerta”, “lateral” serán nombres típicos para denotar el tipo de carga que estamos utilizando. Este deberá ser un texto sin espacios.
Luego se introduce la carga según el siguiente orden:
qIzq: Carga distribuida en el extremo inicial de la barra
qDer: Carga distribuida en el extremo final de la barra
dirX y dirY: componentes del vector dirección hacia donde apuntará la carga.
En este caso, qIzq y qDer deberán ser positivos, ya que la dirección de la carga la da el vector dirección.

Por ejemplo el siguiente código para unidades de [KN] y [m] se interpreta como sigue:


distribudaGlobal:
viva
30 30 1 1
1 3 4
Una carga distribuida en coordenadas globales, con el nombre “viva” se aplicará con una magnitud de 30 [KN] al inicio y fin de la barra (uniformemente) en una dirección a 45° medida desde el eje positivo de las X. (1 derecha y 1 hacia arriba). Los elementos a los que se aplicará esta carga son los elementos 1 3 4.

puntual:

Etiqueta que se usa para introducir una carga puntual en la estructura. Su sintaxis es la siguiente:


puntual:
casoCarga (texto sin espacios)
Px Py M
{lista de nudos}
“puntual:” es la etiqueta. Luego se introduce el nombre de la carga. “viva” “muerta” o “lateral” son nombres adecuados aunque se puede utilizar cualquier otro siempre que no lleve espacios.
Luego se introduce el valor de la carga en X, en Y y el momento aplicado en un nudo. Finalmente en {lista de nudos} se introduce el número de nudos a los cuales se les asignará esta carga establecida.

apoyo:

Etiqueta que se utiliza para apoyar un nudo (o varios nudos) de la estructura. Su sintaxis es la siguiente:


apoyo:
Ux Uy Giro
{lista de nudos}
Los valores que toma Ux, Uy y Giro son: Restringido = 1, sin restringir o libre = 0. Un ejemplo ayudará a explicar el concepto:


apoyo:
1 1 0
1 3
el código mostrado indica que el apoyo será restringido en X, restringido en Y y libre en giro (1 1 0). Por tanto es un apoyo fijo. La lista de nudos a los que se aplica el apoyo es nudos 1 y 3.

Un apoyo móvil tradicional tiene la configuración (0 1 0); un apoyo empotrado estará restringido a los tres movimientos (1 1 1).

resorte:

Etiqueta que se utiliza para apoyar elásticamente un nudo (o varios nudos) de la estructura. Su sintaxis es la siguiente:


resorte:
kx ky kGiro
{lista de nudos}
Los valores que toman kx, ky, kGiro son:
– kx: Rigidez de resorte en X
– ky: Rigidez del resorte en Y
– kGiro: Rigidez de resorte de giro.
Las magnitudes que toman estas constantes deberán estar en las mismas unidades que las cargas, distancias, y rigideces de la estructura. Ejemplo:


resorte:
0 5000 0
2 4
el código mostrado indica que el nudo estará soportado por un resorte en dirección Y de 5000 KN/m (en el entendido de que las unidades de trabajo de toda la estructura son KN y m).

combo:

Esta etiqueta es obligatoria dentro de la definición de cargas, ya que el programa solo grafica y calcula las cargas contenidas en la etiqueta “combo:”. De nada sirve que una carga con nombre “viva” por ejemplo, haya sido creada arriba, si no se la aplica dentro de un combo en esta etiqueta. La sintaxis es la siguiente:


combo:
nombreCombo
FactorMayoracion1 CasoDeCarga1
FactorMayoracion2 CasoDeCarga2
FactorMayoracion3 CasoDeCarga3
etc...
Se pueden crear tantos combos como se guste. El siguiente ejemplo ayuda con la idea:


combo:
miCombo1
1.4 muerta
1.4 pesoPropio

combo:
miCombo2
1.2 muerta
1.2 pesoPropio
1.6 viva

combo:
servicio
1.0 muerta
1.0 pesoPropio
1.0 viva
El anterior es un ejemplo típico de combinación de carga en Hormigón Armado. Para la estructura se tienen generados 3 estados de carga correspondientes a las combinación de carga del código americado. Las cargas creadas tienen nombres “viva”, “muerta”, y “pesoPropio”. Cada combinación necesita un nombre: miCombo1, miCombo2, servicio.

Posteriormente se incluyen los factores de mayoración de cada carga seguido del nombre de la carga que se quiera mayorar. No necesariamente deben entrar todas las cargas dentro de la lista de cargas de cada combo, como se ve en el combo “miCombo1”.

Etiquetas de escala

Las siguientes etiquetas son opcionales, y sirven para controlar desde el inicio la escala de diferentes elementos al momento que se muestren los resultados.


precision: cantidad de decimales (por defecto 3)
escalaDef: escala deformaciones (por defecto 100 veces)
escalaN: escala de diagramas de axiales (por defecto 0.1)
escalaV: escala de diagramas de cortante (por defecto 0.1)
escalaM: escala de diagramas de momento flector (por defecto 0.01)
escalaTexto: Tamaño de texto (Defecto 0.15 unidades de distanci)
escalaCarga: Tamaño de cargas. (Por defecto 0.1)
escalaApoyo: Tamaño de apoyos. (por defecto adopta un tamaño en función al tamaño de la estructura)

Corriendo el software

Cuando se corre el programa y este lee los datos del problema satisfactoriamente, se genera una ventana con el pórtico dibujado. A partir de este punto se controlan los comandos de mostrado de resultados a partir de teclado.

La navegación de zoom y paneo se realizan con el Mouse.

Teclas de uso

Cuando esté corriendo el ejecutable y se quieran mostrar los resultados del pórtico, se debe pedir el programa que muestre los resultados desde la línea de comandos.

Primero se debe activar un combo, escribiendo:


combo (enter)
nombreDeCombo (enter)

Los nombres de los combos generados (que por defecto están apagados) se divisan en la esquina superior derecha de la ventana.

Con el combo (o los combos) encendido(s), se pueden llamar a distintos comandos para ver las solicitaciones de dichos combos.

los comandos son:


plotDef
plotN
plotV
plotM

PlotDef grafica las deformaciones con valores en los nudos.
plotN grafica solicitaciones Axiales
plotV grafica solicitaciones de cortante
plotM grafica solicitaciones de momento flector

También se puede llamar a la numeración de nudos, barras y secciones con los siguientes comandos:


tagNudos
tagBarras
secciones
noTags

noTags apaga la graficación de todos los tags.

Para apagar alguna solicitación o algún Tag, se debe volver a escribir el comando que lo encendió.

Adicionalmente se puede modificar la escala de los gráficos y texto mediante las teclas:


+: incrementa la escala del grafico en 10%
-: decrementa la escala del gráfico en 10%
shift +: incrementa tamaño de texto
shift -: disminuye tamaño de texto

Recargar el modelo

En muchas situaciones se deben modificar los datos de ingreso desde el archivo de texto. Una vez modificado el archivo de ingreso de datos, se puede re-leer el archivo desde el programa corriendo con la tecla F5.

Mejoras posteriores

Se tienen proyectadas las siguientes mejoras futuras:

  • Opción de articulaciones a un lado o dos lados de la barra
  • Introducción de etiquetas de secciones tubulares, o secciones T, W, L
  • Opción de desplazamientos impuestos

Si tienes sugerencias de otras mejoras, estoy mucho más que agradecido de leer tus comentarios.

autor: Marcelo Pardo

←←← VOLVER A TABLA DE CONTENIDO DE ELEMENTOS FINITOS ←←←

Esta entrada tiene 9 comentarios

  1. Kevin

    Buenas tardes ingeniero, le escribo por este medio también ya que el programa es fenomenal, hay manera de visualizar la deflexíón máxima y su valor?; así como la distancia a la cual se encuentra, en el caso de vigas?

    1. marzellus81

      Kevin, aun no he implementado esa opción. Sin embargo es muy útil. Haré eso en un siguiente upgrade. Muchas gracias en todo caso por la sugerencia

  2. Miguel Luque

    Que tal ingeniero. Tengo que agradecerte por este medio también, ¡¡GRACIAS… TOTALES!!
    Como te mencionaba en YouTube, si de pura casualidad aceptaras mis sugerencias, pues sería bueno:
    ¿Habrá versión de 3D?
    ¿Qué tal mandar a imprimir o guardar en PDF?
    ¿Y si visualizamos máximos o valores a una distancia “x”?

    ¿Algún ejemplito en coordenadas globales?

    Saludos ingeniero.

  3. X22Fub

    Hey people!!!!!
    Good mood and good luck to everyone!!!!!

  4. Edgar

    buenos dias Marcelo, descargue el programa pero no pude ejecutarlo, da un error y no logro abrirlo, muchas gracias

    1. marzellus81

      Edgar, puedes escribirme a télegram al +591 698 12366 por favor. Quiero ver el error que obtienes

  5. tomas hernandez

    Estimado Marcelo:
    Muchas gracias por tu programa, resulta muy amigable y de mi interés.
    Por favor me puedes indicar el nombre del programa usado para descargar los archivos de texto, no lo tengo instalado y para visualizarlos utilizo el block de notas

    .

Deja una respuesta