next up previous
Next: Resultados Up: Análisis con ADINA Previous: Acerca de ADINA

Fichero de datos

*Al poner un asterisco, significa que la línea es un comentario 
*a efectos de compilar las instrucciones que le vamos a dar.
*El objetivo de este fichero es conseguir un archivo 
*al que voy a llamar geom.idb que va a contener la geometría
*del puente. Este archivo se logra compilando con el programa
*ADINA todas las instrucciones que vienen a continuación.

*Voy a hacer el puente curvo
*Radio = 300 metros
*Vanos (40m-60m-40m)

*Defino un sistema de coordenadas cilíndricas (le llamo 1 con NAME=1)
SYSTEM,NAME=1,TYPE=CYLINDRICAL,MODE=1,XORIGIN=0.0,
       YORIGIN=0.0,ZORIGIN=0.0,AX=0.0,AY=0.0,AZ=1.0,
       BX=1.0,BY=0.0,BZ=0.0,MOVE=NO

*Nodos auxiliares para definir la orientación de los elementos beam
*Los defino en el sistema de coordenadas 1 (SYSTEM=1)
COORDINATES NODE SYSTEM=1
1001 300.0 0.0 1.0 1
STEP 1 TO
1140 300.0 26.74 1.0 1
DATAEND

*Nodos auxiliares para definir sistemas de coordenadas locales
*en los nodos extremos (estribos) del puente, para referir los
*grados de libertad de las coacciones a esos ejes.
COORDINATES NODE SYSTEM=1
201 275.0  0.0  0.0
202 325.0 26.74 0.0 
DATAEND

*Se definen los nodos del puente 
*(también en el sistema de coordenadas 1 (SYSTEM=1)) 
COORDINATES NODE SYSTEM=1
1 300.0 0.0 0.0 1
STEP 1 TO
140 300.0 26.74 0.0 1
DATAEND
     
*Materiales que voy a utilizar para los elementos
*En este caso solamente defino uno (el hormigón)
*y le llamo 1 (NAME=1)
MATERIAL ELASTIC NAME=1 E=3.0E+07 NU=0.3,
                 DENSITY=0.0 ALPHA=0.0

*Secciones de Cross para los elementos BEAM (viga)
*En este caso, al ser la sección constante, solamente defino una
*a la que le asigno el 1 (NAME=1)
CROSS-SECTIONAL PROPERTIES NAME=1 RINERTIA=10.0,
                SINERTIA=10.0 TINERTIA=2.0 AREA=8.0 

*Defino las características de cada grupo de elementos
*Asigno el grupo 1 (NAME=1) a los elementos con la sección 1
*En general, asignaria el grupo i (NAME=i) a los elementos
*con la sección i.
*Tambien le asigno un material a cada grupo que defino
*que en este caso es (MATERIAL=1)
EGROUP BEAM NAME=1 SUBTYPE=THREE-D DISPLACE=DEFAULT MATERIAL=1 RINT=5,
     SINT=DEFAULT TINT=DEFAULT RESULTS=FORCES INITIALS=NONE,
     CMASS=DEFAULT RIGIDEND=NONE MOMENT-C=NO RIGIDITY=1,
     MULTIPLY=1000000.0 RUPTURE=ADINA OPTION=NONE

*Se defienen los elementos, que los leo de otro fichero
*Ese fichero contiene simplemente una lista con el número
*de elemento, el nodo auxiliar de orientación y los 2 nodos
*que forman el elemento
*Al asignarles el grupo 1 (GROUP=1), les estoy asignando las
*características que tiene el grupo 1 (sección y material)
ENODES GROUP=1
READ elem.in

*Defino las condiciones de contorno
*Primero le asigno un nombre a las características
*de cada condición de contorno.
*Por ejemplo, llamo PILAS a la condición de contorno que
*consiste en impedir las 3 traslaciones
*Como  son traslaciones, las puedo definir en el sistema
*de coordenadas global (no hace falta hacer uno especifico)
FIXITY PILAS
X-TRANSLATION/ Y-TRANSLATION/Z-TRANSLATION 
DATAEND

*Defino sistemas de coordenadas locales en los nodos extremos
*para referir sus grados de libertad
SKEWSYSTEMS NODES
10 1   2   201
11 140 139 202
DATAEND

*Asigno los anteriores sistemas de coordenadas a los nodos
*correspondientes
DOF-SYSTEM NODES 
1   10
140 11
DATAEND

*Este extremo también esta empotrado a torsión
FIXITY ESTRIBO1
X-TRANSLATION/Y-TRANSLATION/Z-TRANSLATION/X-ROTATION 
DATAEND

*Este extremo este empotrado a torsión y a flexión
FIXITY ESTRIBO2
X-TRANSLATION/ Y-TRANSLATION/ Z-TRANSLATION/ X-ROTATION,
Y-ROTATION 
DATAEND

*Asigno un número a grupos de nodos (1, 2 y 3)
*Son grupos de nodos a los que después les asigno
*las mismas condiciones de contorno
NODESET 1 
1
DATAEND

NODESET 2
40
100
DATAEND

NODESET 3
140
DATAEND

*Ahora es cuando asigno a cada grupo de nodos definido
*anteriormente el nombre de la condicion de contorno 
*correspondiente 
FIXBOUNDARY NODE-SETS FIXITY=ALL
1 ESTRIBO1
2 PILAS
3 ESTRIBO2
DATAEND

*Ya he terminado la geometría, ahora voy a ver si
*he hecho algo mal, compilándolo con el programa, pero
*sin crear el archivo geom.idb todavia por si acaso
*hay algun error.
ADINA

*Si hubiera algún error, repasaría lo que he hecho hasta
*que estuviera todo bien y cuando ya haya corregido todos
*los errores entonces puedo formar finalmente
*el fichero compilado con la geometría (geom.idb), y lo
*podré cargar directamente siempre que quiera
ADINA FILE=geom.idb

*Con esto, termino la parte de la geometría en el preproceso
*cuya finalidad era conseguir este fichero geom.idb
READ END

  
*****************************************************************

*Casos de carga.
*El objetivo es conseguir hacer diversos ficheros fuerzas.dat,
*en el que fuerzas se sustituye por los correspondientes nombres
*dependiendo del caso de carga que queramos hacer (por ejemplo,
*cp.dat para las cargas permanentes, scunif.dat para la sobrecarga
*uniforme... etc)

*Lo primero que hay que hacer para cualquier caso de carga
*es abrir el fichero geom.idb, y sobre esa geometría pondré
*las fuerzas (o casos de carga) que quiera.
*Despues introduzco las fuerzas leyendo el fichero correspondiente.
*Este fichero será fuerzas.in
*Luego veo de nuevo si hay algún error, compilándolo con el 
*programa, y sin crear ningún archivo (aunque si se quiere se 
*puede crear un fuerzas.idb, aunque no es de ninguna utilidad para
*esta organización de los cálculos)
ADINA 

*Si no hay ningún error, ya puedo formar finalmente
*el fichero compilado con el caso de carga (fuerzas.dat), y es
*este fichero el que tiene que leer el siguiente programa,
*que es el que resuelve el caso (ADINA)

*He acabado con el pre-procesador (ADINA-IN) y abandono
*el programa ADINA-IN. Ahora cargo el programa ADINA para
*resolver el caso (es el "solver"). En este, voy a la barra
*de herramientas y pincho en Job --> Start. Ahí elijo el 
*fichero fueras.dat, y finalmente espero que lo resuelva.    


*Caso 1: Peso propio (carga permanente --> cp)
*Los datos referentes a esta carga los hago en un
*fichero llamado cargperm.in
*Defino la fuerza por unidad de longitud, que
*la reparto en los nodos
APPLY CONCENTRATED-LOADS 
CLEAR
1 3 -200  
STEP 1 TO
140 3 -200
DATAEND

*Defino el conjunto de nodos en los que quiero que
*imprima los resultados en el fichero cp.out
PRINTNODES BLOCKS SUBSTRUC=0 REUSE=1
CLEAR
1 1 140 1
DATAEND

*Le digo qué información quiero que me imprima en el fichero
*cp.out. Quiero los desplazamientos, los esfuerzos y las reacciones.
PRINTOUT ECHO=NO PRINTDEF=YES INPUT-DA=4 OUTPUT=ALL DISPLACE=YES,
     VELOCITI=NO ACCELERA=NO IDISP=NO ITEMP=NO ISTRAIN=NO IPIPE=NO,
     STORAGE=NO LARGE-ST=NONE

*Con esto termino de definir el caso de carga, en el que hay
*que definir tanto las fuerzas como los resultados que quiero
*que me imprima. Ya puedo formar el fichero cp.dat, aunque antes
de eso es conveniente ver si hay algún error pero sin generar
ningún fichero, mediante el comando
ADINA


*Caso 2: Sobrecarga uniforme repartida en el vano central --> scunif
*Los datos referentes a esta carga los hago en un
*fichero llamado scunif.in
*Defino la fuerza por unidad de longitud, que
*la reparto en los nodos
APPLY CONCENTRATED-LOADS 
CLEAR
40 3 -40  
STEP 1 TO
100 3 -40
DATAEND

*Defino el conjunto de nodos en los que quiero que
*imprima los resultados en el fichero scunif.out
PRINTNODES BLOCKS SUBSTRUC=0 REUSE=1
CLEAR
1 1 140 1
DATAEND

*Le digo qué información quiero que me imprima en el fichero
*scunif.out. Quiero los desplazamientos, los esfuerzos y las reacciones.
PRINTOUT ECHO=NO PRINTDEF=YES INPUT-DA=4 OUTPUT=ALL DISPLACE=YES,
     VELOCITI=NO ACCELERA=NO IDISP=NO ITEMP=NO ISTRAIN=NO IPIPE=NO,
     STORAGE=NO LARGE-ST=NONE

*Con esto termino de definir el caso de carga, en el que hay
*que definir tanto las fuerzas como los resultados que quiero
*que me imprima. Ya puedo formar el fichero scunif.dat, no sin antes
*ver si hay algun error, haciendo igual que las veces anteriores

*******************************************************************

*Solucioón del problema (los "solvers" o procesadores)
*Abandono definitivamente el pre-procesador (ADINA-IN) y
*cargo el solver (procesador) ADINA (displacements and stresses).
*Me aparece una nueva pantalla, y en la barra de herramientas
*pincho en Job --> Start.
*Ahora es cuando tengo que meter un fichero *.dat, en el que
*esta toda la informacion sobre el modelo y las fuerzas, pero
*en el formato propio que entiende este solver.
*Por ejemplo, elijo el fichero cp.dat y me resuelve el caso de
*las cargas permanentes. 
*Una vez resuelto, se generan principalmente 2 nuevos ficheros: 

*Fichero cp.out: Es un fichero de texto donde esta toda la
*información sobre el caso resuelto (ecuaciones, tiempo de
*ejecución...etc) y lo que es más importante: los listados de
*la información que le pedí (desplazamientos, fuerzas y reacciones).
*Se puede ver con cualquier editor de texto

*Fichero cp.port: Es el fichero que va a utilizar el siguiente
*programa, que es el post-procesador (ADINA-PLOT) para hacer
*los dibujos de los resultados obtenidos.

*Resumiendo, se puede decir que para ver los resultados utilizo:
*El cp.out para verlos en forma numérica (listados)  
*El cp.port para verlos en forma gráfica

******************************************************************

*Visualización de los resultados
*Para ver el resultado de forma gráfica, cargo el programa
*ADINA-PLOT (post-procesador) y ahí, en la barra de herramientas
*pincho en File --> Load Porthole y pongo el fichero cp.port
*Una vez leido, ya podre dibujar la deformada, los dibujos
*de tensiones, esfuerzos...etc.
*Aquí también se pueden obtener listados de resultados, como
*en el fichero cp.out


Francisco José Calvo, Juan Antonio Navarro y Javier Rodríguez