DISEÑO POR ELEMENTOS FINITOS COMANDOS EN ANSYS
OCTAVO SEMESTRE, PARALELO “B” 25/07/2017
La Universidad Técnica de Ambato y la Carrera de Ingeniería Mecánica, se ha propuesto para el presente trabajo de investigación, el análisis de comandos útiles para el diseño por Elementos Finitos en el software ANSYS. La finalidad de indagar sobre este tema es el relevante uso de estos comandos que a continuación se detallarán con sus respectivos ejemplos.
OCTAVO SEMESTRE, PARALELO “B”
DISEÑO POR ELEMENTOS FINITOS COMANDOS EN ANSYS
COMANDO 1 *SET Los parámetros en APDL se pueden definir utilizando el comando * SET o el signo "igual a" (=). Por ejemplo, el parámetro "USRPRM" puede definirse para tener el valor 22. *set, USRPRM, 22 o USRPRM = 22 Las reglas para nombrar los parámetros son: -
El primer carácter de un nombre de parámetro debe ser una letra. Dentro del nombre del parámetro, sólo letras, números y el carácter de subrayado (_) están permitidos. El número máximo de caracteres dentro de un nombre de parámetro es 32.
Par
Un nombre alfanumérico utilizado para identificar este parámetro. Par puede contener hasta 32 caracteres, comenzando con una letra y conteniendo solo letras, números y subrayados. Ejemplos: ABC A3X TOP_END Value
Valor numérico o cadena de caracteres alfanuméricos (hasta 32 caracteres incluidos entre comillas simples) que se asignarán a este parámetro. Ejemplos: A (1,3) = 7,4 B = 'ABC3‘
También puede ser un parámetro o una expresión paramétrica. Ejemplos: C = A (1,3) A (2,2) = (C + 4) / 2 Val2, val3, val4, val5, val6, val7, val8, val9, val10
Si Par es un parámetro de matriz, los valores VAL2 a VAL10 (hasta el último valor no blanco) se asignan secuencialmente a los elementos de la matriz sucesivos de la columna. Ejemplos: * SET, A (1,4), 10,11 asigna A (1,4) = 10, A (2,4) = 11 y * SET, B (2,3), 'file10', ' File11 'asigna B (2,3) =' archivo10 ', B (3,3) =' archivo11’.
1
OCTAVO SEMESTRE, PARALELO “B”
DISEÑO POR ELEMENTOS FINITOS COMANDOS EN ANSYS
COMANDO 1 *SET Los parámetros en APDL se pueden definir utilizando el comando * SET o el signo "igual a" (=). Por ejemplo, el parámetro "USRPRM" puede definirse para tener el valor 22. *set, USRPRM, 22 o USRPRM = 22 Las reglas para nombrar los parámetros son: -
El primer carácter de un nombre de parámetro debe ser una letra. Dentro del nombre del parámetro, sólo letras, números y el carácter de subrayado (_) están permitidos. El número máximo de caracteres dentro de un nombre de parámetro es 32.
Par
Un nombre alfanumérico utilizado para identificar este parámetro. Par puede contener hasta 32 caracteres, comenzando con una letra y conteniendo solo letras, números y subrayados. Ejemplos: ABC A3X TOP_END Value
Valor numérico o cadena de caracteres alfanuméricos (hasta 32 caracteres incluidos entre comillas simples) que se asignarán a este parámetro. Ejemplos: A (1,3) = 7,4 B = 'ABC3‘
También puede ser un parámetro o una expresión paramétrica. Ejemplos: C = A (1,3) A (2,2) = (C + 4) / 2 Val2, val3, val4, val5, val6, val7, val8, val9, val10
Si Par es un parámetro de matriz, los valores VAL2 a VAL10 (hasta el último valor no blanco) se asignan secuencialmente a los elementos de la matriz sucesivos de la columna. Ejemplos: * SET, A (1,4), 10,11 asigna A (1,4) = 10, A (2,4) = 11 y * SET, B (2,3), 'file10', ' File11 'asigna B (2,3) =' archivo10 ', B (3,3) =' archivo11’.
1
OCTAVO SEMESTRE, PARALELO “B”
Nota: Los valores asignados a los parámetros nombrados por el usuario se pueden sustituir posteriormente en la ejecución. Ejemplo
El uso de operaciones y funciones matemáticas comunes (Tablas 7.7-7.8) en las definiciones de parámetros se ilustra en el ejemplo siguiente. Un área rectangular que consta de dos materiales disímiles, mostrados en la Fig. 7.1, tiene una anchura a nchura y una altura de w y h, respectivamente. La interfaz de material comienza en el borde izquierdo en el punto (0, a), con un ángulo de inclinación θ. Suponiendo que los valores numéricos de w = 2, h = 4, a = 1 y θ = 30, el siguiente s iguiente bloque APDL crea el modelo sólido mostrado en la Fig. 7.2:
2
OCTAVO SEMESTRE, PARALELO “B”
Código APDL
Código APDL (Segunda forma)
/PREP7 *AFUN,DEG *SET,W,2 *SET,H,4 *SET,A,1 *SET,THETA,30 *SET,B, W*TAN(THETA) K,1,0,0 K,2,W,0 K,3,0,A K,4,W,A+B K,5,0,H K,6,W,H
/PREP7 *AFUN,DEG W=2 H=4 A=1 THETA=30 B= W*TAN(THETA) K,1,0,0 K,2,W,0 K,3,0,A K,4,W,A+B K,5,0,H K,6,W,H
3
OCTAVO SEMESTRE, PARALELO “B”
4
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 2 *GET Recupera un valor para un elemento especificado y lo almacena como un parámetro nombrado por el usuario. Un elemento se identifica mediante varias combinaciones de palabras clave, etiquetas y números. El uso es similar al comando * SET excepto que los valores de los parámetros se recuperan de los resultados previamente introducidos o calculados. *GET, Par, Entity, ENTNUM , Item1, IT1NUM , Item2, IT2NUM Par
El nombre del parámetro (asignado por el usuario) Entity
Entidad. Las palabras clave válidas son NODE, ELEM, KP, LINE, AREA, VOLU, etc., ENTNUM
El número o la etiqueta para la entidad. En algunos casos, un ENTNUM cero (o blanco) representa todas las entidades del conjunto. Item1
El nombre de un elemento en particular para la entidad dada. IT1NUM
El número (o etiqueta) para el Item1 especificado (si existe). Algunas etiquetas Item1 no requieren un valor IT1NUM. Item2, IT2NUM
Un segundo conjunto de etiquetas y números de elementos para calificar aún más el elemento para el que se van a recuperar los datos. La mayoría de los artí culos no requieren este nivel de información. * GET recupera información de los datos activos almacenados en la memoria. La base de datos es a menudo la fuente, ya veces la información se recupera de bloques de memoria comunes que el programa utiliza para manipular la información
Ejemplo
* GET, A, ELEM, 5, CENT, X devuelve la ubicación x del centroide del elemento 5 y almacena el resultado como parámetro A. Código APDL /PREP7 !* ET,1,BEAM189 !* !* MPTEMP,,,,,,,, MPTEMP,1,0
5
OCTAVO SEMESTRE, PARALELO “B”
MPDATA,EX,1,,210e3 MPDATA,PRXY,1,,0.3 MPTEMP,,,,,,,, MPTEMP,1,0 MPDATA,DENS,1,,7800 /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,0.924021,1 /REP,FAST /DIST, 1 ,0.924021,1 /REP,FAST /DIST, 1 ,0.924021,1 /REP,FAST SECTYPE, 1, BEAM, RECT, BARRACUADRADA, 0 SECOFFSET, CENT SECDATA,10,30,0,0,0,0,0,0,0,0,0,0 K,1,,,, K,2,,1000,, /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,1.082226,1 /REP,FAST /DIST, 1 ,1.082226,1 /REP,FAST /AUTO,1 /REP,FAST LSTR, 1, 2 CM,_Y,LINE LSEL, , , , 1 CM,_Y1,LINE CMSEL,S,_Y !* !* CMSEL,S,_Y1 LATT,1, ,1, , , ,1 CMSEL,S,_Y CMDELE,_Y CMDELE,_Y1 !* FLST,5,1,4,ORDE,1 FITEM,5,1 CM,_Y,LINE LSEL, , , ,P51X CM,_Y1,LINE CMSEL,,_Y !* LESIZE,_Y1,10, , , , , , ,1 !* LMESH, 1 FLST,2,1,3,ORDE,1
6
OCTAVO SEMESTRE, PARALELO “B”
FITEM,2,1 FLST,2,1,3,ORDE,1 FITEM,2,1 !* /GO DK,P51X, , , ,0,ALL, , , , , , ACEL,0,9.81,0, FINISH /SOL /STATUS,SOLU SOLVE !* /SHRINK,0 /ESHAPE,1.0 /EFACET,1 /RATIO,1,1,1 /CFORMAT,32,0 /REPLOT !* /VIEW,1,1,1,1 /ANG,1 /REP,FAST
7
OCTAVO SEMESTRE, PARALELO “B”
*GET , punto 1 , node , 1 , loc , y *GET , punto 2 , node , 2 , loc , y *SET , punto medio , (punto 1 + punto 2 ) / 2 *status
8
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 3 *USE MACRO
Una macro es una secuencia de comandos ANSYS (tantos como sea necesario) grabada en un archivo o en un bloque de macro en un archivo de biblioteca. BIBLIOTECA DE MACROS
Una biblioteca de macros permite que los bloques de comandos ANSYS utilizados con frecuencia se apilen y ejecuten desde un solo archivo. Los bloques de macros se deben encerrar dentro de las líneas de identificador de bloque y de terminación como se muestra en el ejemplo siguiente. El comando *USE ejecuta un archivo de macro. Provoca la ejecución de un archivo de macros denominado Nombre o un bloque de macros "Nombre" en el archivo de biblioteca de macros [* ULIB]. *USE, NOMBRE, ARG1, ARG2, ARG3, ARG4, ARG5, ARG6, ARG7, ARG8, ARG9, AR10, AR11, AR12, AR13, AR14, AG15, AR16, AR17, AR18 *ULIB
Identifica un archivo de biblioteca de macros para el comando *USE. *ULIB, Fname, Ext, -El nombre del archivo de biblioteca de macros se identifica para su lectura en el comando *ULIB. El nombre del bloque de macros se identifica en el comando *USE. Ejemplo
Crear un archivo de texto, donde escribiremos los códigos de los diferentes macros a ejecutar. Este iniciará con el NOMBRE del macro y terminará con /EOF, como se indica en el ejemplo siguiente
9
OCTAVO SEMESTRE, PARALELO “B”
Guardar el archivo de texto en la misma carpeta donde se creará el archivo AP DL
Abrir el Mechanical APDL
10
OCTAVO SEMESTRE, PARALELO “B”
Aplicar el comando *ULIB, para identificar la biblioteca de macros creada en el archivo de texto guardado a inicio.
11
OCTAVO SEMESTRE, PARALELO “B”
Aplicar el comando *USE, para llamar una macro de la biblioteca creada en el archivo de texto guardado a inicio.
Código APDL (MACRO) BLOQUE /prep7 /view,,-1,-2,-3 block,,4,,3,,2 finish /EOF
Código APDL (*USE) *ULIB,MACRO,txt *USE,SUBS a=20 b=12 *USE,ESFERA
ESFERA /prep7 /view,,-1,-2,-3 sphere,1 finish /EOF SUBS /prep7 *ask,a,'lado grande',10 *ask,b,'lado pequeño',10 *set,c,(a+b)/2 *set,r,b/2
12
OCTAVO SEMESTRE, PARALELO “B”
BLOCK,,a,,b,,c, SPH4,a/2,0,r VSBV, 1, 2 /EOF
13
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 4 *CFOPEN * CFOPEN, Fname, Ext, Dir, Loc Abre un archivo de "comando". Fname
Nombre de archivo (32 caracteres como máximo) Por defecto es Nombre de trabajo.
Ext
Extensión de nombre de archivo (máximo 8 caracteres). Por defecto a CMD si Fname está en blanco. Campo no utilizado.
Loc
Determina si el archivo existente será sobrescrito o agregado: (En blanco): el archivo existente se sobrescribirá. APPEND - El archivo se anexará al archivo existente. Notas
Los datos procesados con el comando * VWRITE también se escribirán en este archivo si el archivo está abierto cuando se emite el comando * VWRITE . Este comando es válido en cualquier procesador. Rutas de menú
Este comando no se puede acceder directamente en el menú. Ejemplo
14
OCTAVO SEMESTRE, PARALELO “B”
15
OCTAVO SEMESTRE, PARALELO “B”
Código APDL *CFOPEN /BATCH /COM,ANSYS RELEASE Release 18.0 BUILD 18.0 UP20161219 /input,menust,tmp,'' /GRA,POWER /GST,ON /PLO,INFO,3 /GRO,CURL,ON /CPLANE,1 /REPLOT,RESIZE WPSTYLE,,,,,,,,0 /REPLOT,RESIZE *cfopen, comando,txt,, C:\Users\Asus\Desktop\cfopen SAVE FINISH ! /EXIT,ALL /BATCH /COM,ANSYS RELEASE Release 18.0 BUILD 18.0 UP20161219 /input,menust,tmp,'' /GRA,POWER /GST,ON /PLO,INFO,3 /GRO,CURL,ON /CPLANE,1 /REPLOT,RESIZE WPSTYLE,,,,,,,,0 FINISH ! /EXIT,NOSAV
22:20:33
22:33:26
16
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 5 *VREAD La introducción de datos de un archivo en el programa ANSYS para su uso en matrices o tablas puede llevar a ahorros considerables de tiempo. Los dos comandos principales para transferir datos de un archivo externo a un parámetro ANSYS son * VREAD y * TREAD. * VREAD usualmente se aplica a matrices y * TREAD es para datos tabulares. Sin embargo, el archivo externo no puede tener los datos formateados de la manera correspondiente. * VREAD está restringido a formato fijo mientras que * TREAD puede manejar datos delimitados por comas o tabulaciones. Antes de usar cualquiera de los comandos, debe emitir un comando * DIM para establecer el tipo y el tamaño de la matriz o tabla. [1] El objetivo de este comando es leer datos de un archivo de datos ASCII o txt y producir un vector o matriz. El nombre del archivo debe ser de 248 caracteres máximo, incluidos los caracteres necesarios para la ruta del directorio. Si la ruta no está especificada será el directorio de trabajo. Si el campo Fname está en blanco, la lectura continua desde el dispositivo de entrada actual, como el terminal. La extensión del nombre del archivo debe tener máximo 8 caracteres. El comando VREAD también: Controla el formato de la información leída del archivo a través de descriptores de datos. Los cuales deben adjuntarse entre paréntesis y colocados en la línea siguiendo el comando *VREAD. Controlan el número de campos a leer de cada registro, el ancho de los campos de datos y la posición del punto decimal en el campo. Se puede tomar valores de IJK, IKJ, JIK, JKI, KIJ, KJI. Ejemplo
Comenzando con un archivo de datos que tiene 3 filas y 3 columnas de valores numéricos, que no tiene encabezado y se llama MATRIZ.txt.
17
OCTAVO SEMESTRE, PARALELO “B”
PARAMETERS-ARRAY PARAMETERS-DEFINE/EDIT Se define la matriz.
Se determina el nombre del parámetro. Y el número de filas y columnas de la matriz.
18
OCTAVO SEMESTRE, PARALELO “B”
Este comando (menú de utilidades> parámetros> parámetros de matriz> leer desde archivo) se puede utilizar para leer datos de caracteres alfanuméricos de un archivo y producir un parámetro de matriz de caracteres.
19
OCTAVO SEMESTRE, PARALELO “B”
Se carga el documento de texto.
20
OCTAVO SEMESTRE, PARALELO “B”
PARAMETERS-ARRAY PARAMETERS-DEFINE/EDIT Para editar la matriz, en donde se podrán visualizar los mismos datos que el documento txt.
21
OCTAVO SEMESTRE, PARALELO “B”
Código APDL MACRO *CREATE, ansuitmp *VREAD, resultado, 'dataval','txt','C:\Users\Antonella\Desktop\',IJK,3,2,1, , *END FINISH
22
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 6 *DIM, *VEDIT *DIM
Define un parámetro de matriz y sus dimensiones. Par,Type,IMAX,JMAX,KMAX,Var1,Var2,Var3, Tipo de matriz:
ARRAY - Las matrices son similares a las matrices FORTRAN estándar (los índices son enteros) (predeterminado). Los números de índice de las filas, columnas y planos son valores secuenciales que empiezan con uno. Se utiliza para matrices 1, 2, o 3-D. Notas •
•
•
•
•
Se pueden definir hasta tres dimensiones (fila, columna y plano) utilizando ARRAY y TABLA. Utilice ARR4, ARR5, TAB4 y TAB5 para definir hasta cinco dimensiones (fila, columna, plano, libro y estante). Un número de índice está asociado con cada fila, columna y plano. Para los parámetros de tipo array y tabla, los valores de los elementos se inicializan en cero. Para caracteres y parámetros de cadena, los valores de los elementos se inicializan en (en blanco). Un parámetro definido debe ser borrado [ * SET ] antes de que sus dimensiones puedan ser cambiadas. Los parámetros escalares (de valor único) no deben estar dimensionados. * DIM , A ,, 3 define una matriz vectorial con elementos A (1), A (2) y A (3). * DIM , B ,, 2,3 define una matriz 2x3 con elementos B (1,1), B (2,1), B (1,2), B (2,2), B (1,3), Y B (2,3).
*VEDIT
Permite que los parámetros de matriz numérica sean editados gráficamente. The *VEDIT command (Utility Menu>Parameters>Array Parameters>Define/Edit) •
•
•
Invoca un sistema de edición gráfico que muestra los valores de los parámetros de matriz en forma de matriz y permite el uso del mouse para editar valores individuales. Los subíndices de la matriz de inicio deben definirse, como * VEDIT , A (4,6,1), para indicar la sección de la matriz a editar. La sección de matriz comienza en el elemento de matriz especificado y continúa hasta el alcance máximo del parámetro de matriz.
23
OCTAVO SEMESTRE, PARALELO “B”
•
•
•
•
•
Los valores de índice de fila y columna se pueden establecer o cambiar en cualquier plano, y esos valores se aplicarán a todos los planos. El sistema de menús debe estar en [MENU] cuando se emita este comando. La edición gráfica no está disponible para los parámetros de la matriz de caracteres. El comando * VEDIT no se puede utilizar en una macro u otro archivo de entrada secundario. Este comando no es aplicable a matrices 4- o 5-D. Este comando es válido en cualquier procesador.
24
OCTAVO SEMESTRE, PARALELO “B”
Al seleccionar nuestro Programa Macro se ingresara lo siguiente: •
•
•
•
•
El número de filas El número de columnas El número de planos Las fuerzas como son: F1, F2, F3 y F4 Los desplazamientos: X1, X2, X3 y X4 •
La matriz está restringida para un Máximo de 4 filas, 2 columnas y un Plano.
25
OCTAVO SEMESTRE, PARALELO “B”
Se ingresara el comando *VEDIT para la visualización de la Matriz 1 y Matriz 2
Código APDL *DIM, *VEDIT
/prep7 *ask,FI,'Ingrese el número de filas:4 *ask,CO,'Ingrese el número de columnas:2 *ASK,PL,PLANOS,1 *DIM,MATRIZ1,TABLE,FI *ASK,F1,INGRESE LA FUERZA1 , *ASK,F2,INGRESE LA FUERZA2 , *ASK,F3, INGRESE LA FUERZA3 , *ASK,F4,INGRESE LA FUERZA4, MATRIZ1(1) = F1,F2,F3,F4 *DIM,MATRIZ2,TABLE,FI *ASK,X1,INGRESE EL DESPLAZAMIENTO1 , *ASK,X2,INGRESE EL DESPLAZAMIENTO2 , *ASK,X3, INGRESE EL DESPLAAMIENTO3 , *ASK,X4,INGRESE EL DESPLAZAMIENTO4, MATRIZ2(1) = X1,X2,X3,X4
26
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 7 *ASK Esencialmente el comando *ask le pide al usuario que introduzca el valor de un parámetro SINTAXIS DE INTRODUCCIÓN *ask,VARIABLE PARA OPERACIÓ*ask,LENGTH,Cuan larga es la armadura,
*ask,HEIGHT,Cuan alta es la armadura, *ask,DIVISION,Cuantos soportes cruzados cuentan, *ask,MA,Ingrese el módulo de elasticidad del material en Pa, *ask,PO,Ingrese el módulo de poisson del material,N,mensaje
Ejemplo
*ask,HEIGHT,Cuan alta es la armadura,
*ask,DIVISION,Cuantos soportes cruzados cuentan,
27
OCTAVO SEMESTRE, PARALELO “B”
Código APDL *ASK /prep7 *ask,LENGTH,Cuan larga es la armadura, *ask,HEIGHT,Cuan alta es la armadura, *ask,DIVISION,Cuantos soportes cruzados cuentan, *ask,MA,Ingrese el modulo de elasticidad del material en Pa, *ask,PO,Ingrese el modulo de poisson del material, DELTA_L = (LENGTH/(DIVISION/2))/2 NUM_K = DIVISION + 1 COUNT = -1 X_COORD = 0 *do,i,1,NUM_K,1 COUNT = COUNT + 1 OSCILATE = (-1)**COUNT X_COORD = X_COORD + DELTA_L *if,OSCILATE,GT,0,THEN k,i,X_COORD,0 *else k,i,X_COORD,HEIGHT *endif *enddo KEYP = 0 *do,j,1,DIVISION,1 KEYP = KEYP + 1 L,KEYP,(KEYP+1) *if,KEYP,LE,(DIVISION-1),THEN L,KEYP,(KEYP+2) *endif *enddo et,1,link1 r,1,100 mp,ex,1,200000 mp,prxy,1,0.3 esize,,1 lmesh,all
28
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 8 *CFWRITE •
•
El Comando *CFWRITE permite escribir cualquier comando dentro de un archivo creado previamente mediante *CFOPEN. Este comando facilita la creación de códigos dentro de archivos con diferente extensión.
Formato
Ejemplo
29
OCTAVO SEMESTRE, PARALELO “B”
30
OCTAVO SEMESTRE, PARALELO “B”
31
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 9 *AFUN Especifica unidades para funciones angulares en expresiones de parámetros. Especifica las unidades que se van a utilizar:
RAD - Utilice radianes para la entrada y salida de funciones angulares de parámetros (predeterminado). DEG - Utiliza grados para la entrada y salida de funciones angulares de parámetros. STAT - Muestra el ajuste actual (DEG o RAD) para este comando.
Valor predeterminado: Utilice radianes para la entrada o salida de funciones angulares de parámetros. Notas
Solamente las funciones SIN, COS, TAN, ASIN, ACOS, ATAN, ATAN2, ANGLEK y ANGLEN [* SET, * VFUN] son afectadas por este comando.
Ejemplo
COSENO DE 05 EN GRADOS *AFUN,DEG *SET,PH1,ACOS(0.5)
32
OCTAVO SEMESTRE, PARALELO “B”
COSENO DE 05 EN RADIANES *AFUN,RAD
*SET,PH1,ACOS(0.5)
33
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 10 *VOPER Realiza una operación en dos vectores de matriz de entrada y produce un único vector de matriz de salida. * VOPER o Menú Utilidad> Parámetros> Operaciones de Array> Operaciones Vectoriales PARTES
ParR El nombre del vector de parámetros de matriz resultante. Consulte * SET para las restricciones de nombre. El parámetro debe existir como un array dimensionado [ * DIM ].
Par1
Primer vector de parámetros de matriz en la operación. También puede ser un parámetro escalar o una constante literal. Par2
Segundo vector de parámetros de matriz en la operación. También puede ser un parámetro escalar o una constante literal.
CON1
Primera constante (utilizada sólo con las operaciones INT1 e INT2).
CON2
Segunda constante (utilizada sólo con la operación INT2). OPER
AÑADIR: Adición: Par1+ Par2. SUB: Resta: Par1- Par2. MULT: Multiplicación: Par1* Par2. DIV: División: Par1/ Par2 (una división por cero resulta en un valor de cero). Min: Mínimo: mínimo de Par1y Par2. Max: Máximo: máximo de Par1 y Par2. LT: Menos que comparación: Par1< Par2da 1.0 si es cierto, 0.0 si es falso. Le: Comparación menor o igual: da 1.0 si es verdadera, 0.0 si es falsa. EQ: Igual comparación: Par1= Par2da 1,0 si es cierto, 0.0 si es falso. NE: Comparación no igual: Par1≠ Par2 da 1.0 si es cierto, 0.0 si es falso. GE: Comparación mayor o igual: Par2 da 1,0 si es verdadero, 0,0 si es falso. GT: Mayor que comparación: Par1> Par2da 1,0 si es cierto, 0,0 si es falso. DER1: Primera derivada: d (Par1) / d (Par2). DER2: Segunda derivada: d 2 (Par1) / d (Par2). INT1: Integral única: donde CON1es la constante de integración. La integral se determina usando el procedimiento de integración simple INT2: Integral doble: donde CON1 y CON2 son constantes de integración.
34
OCTAVO SEMESTRE, PARALELO “B”
Ejemplo
Primero se realiza una matriz mediante el comando *DIM en donde se establece el número de filas y columnas y mediante el comando *SET se coloca los valores que estarán en cada columna; como se trata de un array no importa si los valores son positivos o negativos pero no trabaja con letras.
Se llama a la macro con el nombre con que fue guarda para nuestro caso dimxx1
Posterior a esto se coloca el comando *Vedit, resultados (resultados es el nombre de la matriz de respuestas)
Por último se obtiene la matriz de respuestas basadas en la operación que se deseada resolver. Para este caso se aplicó una adición, arrojando los siguientes valores:
35
OCTAVO SEMESTRE, PARALELO “B”
Código APDL *VOPER /PREP7
*dim,bb,array, 4,4 bb(1,1)=-2,1,4,-8 bb(1,2)=6,0,-3,1 bb(1,3)=8,2,-1,10 bb(1,4)=0,12,7,-5 *dim,aa,array,4,4 aa(1,1)=3,-5,8,1 aa(1,2)=2,-7,0,4 aa(1,3)=5,1,0,9 aa(1,4)=-6,0,11,16 *voper, resultados, bb(1,2), add, aa(1,1)
36
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 11 *TAXIS Define números de índice de tabla *TAXIS, ParmLoc, nAxis, Val1, Val2, Val3, Val4, Val5, Val6, Val7, Val8, Val9, Val10 Descripción •
•
•
•
•
•
•
•
•
ParmLoc: Nombre y ubicación inicial del parámetro a indexar. nAxis: Eje donde ocurre el indexado, los parámetros aceptados son los siguientes 1: Fila – Por defecto 2: Columna 3: Plano 4: Libro 5: Estante ALL: Lista todos los números de indexado. Valido si Val1=LIST Val1,…, Val10: Valores de los números de índice para los ejes del plano citado en nAxis. Se pueden definir hasta 10 valores de índice
•
Este comando es un método útil para definir valores de índice en tablas. Estos valores residen en la fila cero.
Ejemplo •
En la barra de comandos pegar el siguiente código:
Código APDL *TAXIS
*dim,TABLA,table,3,3,3 *taxis,TABLA,1,1,2,3 *taxis,TABLA,2,5,6,10 *taxis,TABLA,3,1,4,7 TABLA(1,1,1) = 10,100,10 TABLA(1,2,1) = 12,150,10 TABLA(1,3,1) = 10,90,7 TABLA(1,1,2) = 10,100,10 TABLA(1,2,2) = 12,150,10 TABLA(1,3,2) = 10,90,7 TABLA(1,1,3) = 10,100,10 TABLA(1,2,3) = 12,150,10 TABLA(1,3,3) = 10,90,7
•
Luego de esto, escribir el comando *VEDIT,TABLA lo que nos abrirá la siguiente ventana
37
OCTAVO SEMESTRE, PARALELO “B”
•
•
En la ventana podemos observar que los valores de índice ingresados mediante código se encuentran en la fila y columna cero de la tabla. Este comando solo se puede usar en tablas, esto debido a que, en el caso de las matrices se deben numerar secuencialmente, mientras que en el caso de tabla se pueden numerar con cualquier número, en un orden ascendente.
38
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 12 PARSAV
Escribe parámetros en un archivo Su digitación va en el orden característico siguiente:
Donde: PARSAV: Comando de ejecución Lab: Operación de escritura, puede ser escalar o alfanumérica Fname: Nombre del archivo donde se va a escribir (248 caracteres máximo, incluido el directorio donde se encuentra el archivo) Ext: Extensión del archivo donde se va a escribir (8 caracteres máximo)
La ejecución de este comando es mejor realizarla mediante la interfaz de ANSYS porque caso contrario se debería ingresar manualmente el directorio de donde se ubica el archivo en el que se va a guardar el código, esto pudiendo traer inconvenientes por errores de escritura u otros.
Este comando es generalmente usado para guardar variables de bases de datos que pueden estar sujetas a modificación, es decir, se conservan los datos originales en el archivo que se está trabajando, mientras que los archivos modificados se almacenan en otro archivo(los datos modificados se pueden escribir como datos escalares o alfanuméricos, en el apartado Lab del comando es donde se declarará a los mismos como SCALAR o ALL respectivamente).
El archivo de parámetros es un archivo ASCII que consiste en gran parte del comando * SET utilizado para definir los distintos parámetros
Ejemplo
Datos de entrada
39
OCTAVO SEMESTRE, PARALELO “B”
Pegamos los datos de entrada y reemplazamos los campos que nos pide el cuadro d e diálogo que se abrirá.
40
OCTAVO SEMESTRE, PARALELO “B”
Ahora aplicando el comando Parsav, se guardará nuestro archivo modificado en código ASCII, el cual será abierto e interpretado con el comando PARRES
De esta forma se creará un bloc de notas con la información digitada y otros caracteres que forman parte del código.
41
OCTAVO SEMESTRE, PARALELO “B”
Este comando es útil en matrices de datos, o en ejercicios como el planteado anteriormente en que la figura tomará diferentes formas de manera iterativa según el usuario crea conveniente
Código APDL DATOS DE ENTRADA /prep7 *set,a,10 *set,b,5
*ask,a,'lado grande',10 *ask,b,'lado pequeño',10 *set,c,(a+b)/2 *set,r,b/2 Block,,a,,b,,c SPH4,,,r VSBV,1,2 C:\Users\usuario\Desktop\Revelo Bryan
Código APDL (EJERCICIO) /NOPR *SET,A , 8.000000000000 *SET,B , 5.000000000000 *SET,C , 6.500000000000 *SET,R , 2.500000000000 *SET,_BUTTON , 1.000000000000 *SET,_GUI_CLR_BG,' systemButtonFace ' *SET,_GUI_CLR_FG,' systemButtonText ' *SET,_GUI_CLR_INFOBG,' systemInfoBackground *SET,_GUI_CLR_SEL,' systemHighlight ' *SET,_GUI_CLR_SELBG,' systemHighlight ' *SET,_GUI_CLR_SELFG,' systemHighlightText ' *SET,_GUI_CLR_WIN,' systemWindow ' *SET,_GUI_FNT_FMLY,'Arial ' *SET,_GUI_FNT_PXLS, 20.00000000000 *SET,_GUI_FNT_SLNT,'r ' *SET,_GUI_FNT_WEGT,'medium ' *SET,_RETURN , 0.000000000000 *SET,_STATUS , 1.000000000000 *SET,_UIQR , 1.000000000000 /GO
'
42
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 13 PARRES Lee los parámetros de un archivo Operación de lectura:
NUEVO: sustituye el conjunto de parámetros actual por estos parámetros (predeterminado).
CAMBIO - Amplía el conjunto de parámetros actual con estos parámetros, reemplazando los que ya existen.
43
OCTAVO SEMESTRE, PARALELO “B”
Nombre Nombre de archivo y ruta de acceso del directorio (248 caracteres como máximo, incluidos los caracteres necesarios para la ruta del directorio). •
Ext Extensión de nombre de archivo (máximo 8 caracteres). •
Dir Nombre del directorio (máximo 64 caracteres). •
Lee los parámetros de un archivo codificado. El archivo de parámetros puede haberse escrito con el comando PARSAV . Ejemplo •
•
Como primer paso tenemos que generar un parámetro de cualquier tipo.
Luego damos click en Parameters, elegimos Save Parameters, aquí se guarda el parámetro
44
OCTAVO SEMESTRE, PARALELO “B”
•
•
•
Elegimos un nombre y damos click en ok, el parámetro estará guardado
Para poder abrir el parámetro guardado anteriormente en un nuevo archivo se realiza de la siguiente forma.
Buscamos el archivo dando click en Browse
45
OCTAVO SEMESTRE, PARALELO “B”
•
•
•
Procedemos a buscar el archivo en el lugar que se guardó anteriormente
Pulsamos Ok
Por ultimo damos click en parameters y elegimos Scalar Parameters aquí podemos ver los parámetros que se han restaurado.
46
OCTAVO SEMESTRE, PARALELO “B”
•
•
Existe otra manera de abrir el comando parres guardado con el comando parsav, a continuación se explicara con el ejemplo descrito anteriormente.
Con el comando *status podemos ver los parámetros del ejercicio.
Código APDL EJERCICIO /prep7 *ask,LENGTH,longitud,200
Código APDL PARRES /NOPR *SET,COUNT , 4.000000000000
47
OCTAVO SEMESTRE, PARALELO “B”
*ask,HEIGHT,altura,50 *ask,DIVISION,numero de diviciones,4 DELTA_L = (LENGTH/(DIVISION/2))/2 NUM_K = DIVISION + 1 COUNT = -1 X_COORD = 0 *do,i,1,NUM_K,1 COUNT = COUNT + 1 OSCILATE = (-1)**COUNT X_COORD = X_COORD + DELTA_L *if,OSCILATE,GT,0,THEN k,i,X_COORD,0 *else k,i,X_COORD,HEIGHT *endif *enddo KEYP = 0 *do,j,1,DIVISION,1 KEYP = KEYP + 1 L,KEYP,(KEYP+1) *if,KEYP,LE,(DIVISION-1),THEN L,KEYP,(KEYP+2) *endif *enddo et,1,link1 r,1,100 mp,ex,1,200000 mp,prxy,1,0.3
*SET,DELTA_L , 50.00000000000 *SET,DIVISION, 4.000000000000 *SET,HEIGHT , 50.00000000000 *SET,I , 5.000000000000 *SET,J , 4.000000000000 *SET,KEYP , 4.000000000000 *SET,LENGTH , 200.0000000000 *SET,NUM_K , 5.000000000000 *SET,OSCILATE, 1.000000000000 *SET,X_COORD , 250.0000000000 WFPARM,X_COORD ,TIME, 20170718.233219 *SET,_BUTTON , 1.000000000000 *SET,_RETURN , 0.000000000000 *SET,_STATUS , 1.000000000000 *SET,_UIQR , 1.000000000000 /GO
esize,,1 lmesh,all
COMANDO 14
48
OCTAVO SEMESTRE, PARALELO “B”
*DO, *ENDDO Al momento de emplear el comando *DO necesariamente de tiene que emplear la comando *ENDDO, el motivo de lo explicado anteriormente es que el *DO representa el comienzo o el inicio de un enlace (actividad) y el *ENDDO representa la finalización de la tarea comenzada por el *DO.
RESTRICCIONES, LIMITACIONES, ETC.
*DO
*ENDDO
Formato
*DO, Par, IVAL, FVAL, INC *ENDDO
*Hacer o Inicio, Contador, Valor Inicial, Valor Final, Definición Incrementos *Finalización DO Define el comienzo de un do-loop (Laso)
Par El nombre del parámetro escalar que se utilizará como el índice de bucle. Consulte * SET para las restricciones de nombre. Cualquier parámetro existente del mismo nombre será redefinido. No hay sustitución de parámetro de carácter para el campo.
IVAL, FVAL, INC Inicialmente asignar IVAL a Par. Incremento IVAL por INC para cada lazo sucessivo. Si IVAL excede FVAL e INC es positivo, el bucle no se ejecuta. INC por defecto a 1. Se permiten incrementos negativos y números no enteros.
ENDDO Cierra el laso
Explicación
49
OCTAVO SEMESTRE, PARALELO “B”
El Par (contador) va asumiendo los valores desde IVAL (valor Inicial) hasta el valor de FVAL (valor Final), con incremento (INC), los cuales efectúan lazos.
*DO, i, 1, 5, 1 L, i, i+1
L, i, i+1
*ENDDO
*DO, i, 1, 5, 1 L, i, i + 1 *ENDDO Aplicación
El comando *DO y *ENDDO es utilizado de manera rápida y secuencial, es decir que reemplaza la actividad de crear líneas entre keypoints con el siguiente comando:
Con el cual se genera una gran lista de actividades en el LOG FILE.
50
OCTAVO SEMESTRE, PARALELO “B”
Ejemplo
Grafique el perfil en C100 de la siguiente figura con el comando *DO-*ENDDO. Nota: las respectivas coordenadas se ilustran en la siguiente tabla.
N° Punto
X
Y
1
0
0
2
80 0
3
80 20
4
77
20
5
77
3
6
3
3
7
3
97
8
77
97
9
77
80
10
80 80
11
80 100
12
0
100
51
OCTAVO SEMESTRE, PARALELO “B”
Paso 1. Con el comando keypoints creamos los puntos deseados.
Paso 1.1. Keypoints creados.
52
OCTAVO SEMESTRE, PARALELO “B”
Paso 2. Una vez creados los respectivos keypoints unimos los mismos con le comando *DO - *ENDDO (MULCDO).
Paso 3. Una vez utilizado el comando MULCDO (Macro), se unen los keypoints con líneas, obteniendo el perfil C100.
53
OCTAVO SEMESTRE, PARALELO “B”
Paso 4. Abrimos el Log File para ilustrar el reducido código generado por este comando.
Código APDL *DO, *ENDDO *do,i,1,11,1 l,i,i+1 *enddo l,12,1
54
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 15 *IF, *ELSEIF *ELSE, *ENDIF COMANDO IF O SENTENCIA IF
El comando *IF permite al usuario evaluar condiciones comparando dos valores numéricos, que también pueden ser parámetros. Para ejecutar un bucle *IF hace falta terminar el bucle con *ENDIF, pero también es posible utilizar el *ELSEIF o el *ELSE para crear otros opciones por el caso, que el IF no es verdad.
SINTAXIS
*IF, VAL1, Oper, VAL2, Then Proceso A (SI LA CONDICION ES VERDADERA) *ELSE (CASO CONTRARIO) Proceso B *ENDIF
Operadores de comparación
La condición puede ser: x, EQ, y x, NE, y x, LT, y x, GT, y x, LE, y x, GE, y x, ABLT, y x, ABGT, y
!x=y ! x y !xy ! x y ! x y ! |x| < |y| ! |x| > |y|
55
OCTAVO SEMESTRE, PARALELO “B”
La estructura if-then-else consiste en
Un * IF comando, seguido por Uno o más comandos opcionales * ELSEIF Un comando opcional * ELSE Un comando requerido ENDIF * , marcando el final de la construcción. Una construcción if-then-else simplemente evalúa una condición y e jecuta el siguiente bloque o salta a la siguiente instrucción
Ejemplo
El siguiente ejemplo muestra una estructura más compleja. Tenga en cuenta que sólo se puede ejecutar un bloque. Si ninguna comparación se evalúa como verdadera, se ejecuta el bloque que sigue al comando * ELSE.
La acción sólo tiene lugar si la condición es verdadera. De lo contrario, ANSYS pasará a * ELSEIF (si está presente), * ELSE (si está presente) y * ENDIF.
56
OCTAVO SEMESTRE, PARALELO “B”
Este ejemplo cubrirá la etapa de preprocesamiento de la construcción de una geometría de a rmazón. Se solicitarán variables incluyendo longitud, altura y número de divisiones de la armadura y el código APDL construirá la geometría. Código APDL
*IF, *ELSEIF *ELSE, *ENDIF /prep7 *ask,LENGTH,How long is the truss,100 *ask,HEIGHT,How tall is the truss,20 *ask,DIVISION,How many cross supports even number,2 DELTA_L = (LENGTH/(DIVISION/2))/2 NUM_K = DIVISION + 1 COUNT = -1 X_COORD = 0 *do,i,1,NUM_K,1 COUNT = COUNT + 1 OSCILATE = (-1)**COUNT X_COORD = X_COORD + DELTA_L *if,OSCILATE,GT,0,THEN k,i,X_COORD,0 *else k,i,X_COORD,HEIGHT *endif *enddo KEYP = 0 *do,j,1,DIVISION,1 KEYP = KEYP + 1 L,KEYP,(KEYP+1) *if,KEYP,LE,(DIVISION-1),THEN L,KEYP,(KEYP+2) *endif *enddo et,1,link1 r,1,100 mp,ex,1,200000 mp,prxy,1,0.3 esize,,1 lmesh,all finish
57
OCTAVO SEMESTRE, PARALELO “B”
58
OCTAVO SEMESTRE, PARALELO “B”
59
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 16 *TREAD El comando * TREAD puede leer datos de un archivo de Variable Separada por Coma (CSV), sin una instrucción de formato. * TREAD carga los datos en una tabla Array, y es flexible en si los datos están en punto flotante o formato exponencial (por ejemplo, 0.123e-2 frente a 0.00123), además, una variedad de números de dígitos de precisión es compatible. Un archivo CSV se puede escribir fácilmente desde una hoja de cálculo de EXCEL, o por otro software. Los usuarios pueden usar * TREAD para ingresar datos de archivo CSV, incluso si el uso final de los datos no estuviera en un Table Array. ESTRUCTURA
Descripciones de argumentos
Par Nombre de parámetro de matriz de tablas definido por el comando * DIM. Fname Nombre de archivo y ruta de acceso del directorio (248 caracteres como máximo, i ncluidos los caracteres necesarios para la ruta del directorio). Una ruta de directorio no especificada predeterminada es el directorio de trabajo; En este caso, puede utilizar todos los 248 caracteres para el nombre del archivo. El nombre de archivo no tiene ningún valor predeterminado. Ext Extensión del nombre de archivo (ocho caracteres máximo).La extensión no tiene ningún predeterminado.
valor
-Campo no utilizado. NSKIP Número de líneas de comentario al principio del archivo que se está leyendo que se omitirá durante la lectura. Valor predeterminado = 0. Notas Utilice este comando para leer en una tabla de datos de un archivo externo en un parámetro de matriz de tabla ANSYS. El archivo externo puede crearse utilizando un editor de texto o una aplicación o programa externo. El archivo externo debe estar en formato tabulado, delimitado en blanco o delimitado por comas para ser usado por * TREAD. El parámetro de matriz de tipo ANSYS TABLE debe definirse antes de poder leer en un archivo externo.
60
OCTAVO SEMESTRE, PARALELO “B”
Dependencia del comando *TREAD con el Comando *DIM.
Se genera una matriz tipo Table o Array según la nomenclatura siguiente:
*dim,tabla,table,7,1,1
En el comando anterior, el nombre de Table Array será “tabla ", es un array de tipo table, es tener
8 filas, 1 columna de datos (más una columna de datos Zeroth) y un plano de datos. La columna de Zeroth está destinada a representar la variable primaria si la Tabla Array anterior se utiliza en un comando ANSYS. PASOS PRELIMINARES
PARA TRASLADAR LOS DATOS DE UN DOCUMENTO CSV O TXT TENEMOS QUE: 1 CREAR UN DOCUMENTO TIPO TEXT 2 INTRODUCIR LOS VALORES QUE SE DESEA TRASLADAR 3 SEPARAR LOS DATOS DE CADA COLUMNA DE LA SIGUIENTE MANERA:
4 GUARDAR EL ARCHIVO COMO .TEXT O .CSV EN LA MISMA CARPETA DE CREACION DEL ARCHIVO APDL Comando a Ejecutar
*dim,tabla,table,8,1,1 *tread,tabla,tablaansys1,csv,,0 *vedit,tabla
61
OCTAVO SEMESTRE, PARALELO “B”
Para tablas con múltiples columnas
62
OCTAVO SEMESTRE, PARALELO “B”
COMANDO 16 *VGET Recupera los valores de los elementos especificados y almacena los valores en un vector de salida de un parámetro de array nombrado por el usuario de acuerdo con: ParR= F ( Entity, ENTNUM , Item1, IT1NUM , Item2, IT2NUM )
El propósito de esta práctica es describir los pasos necesarios para trazar Deflexión vertical vs. Longitud utilizando tablas en un tipo especial de matriz. Al trazar estos datos en una curva, en lugar de utilizar un gráfico de contorno, se puede lograr una resolución más fina. Se utilizará una viga de acero de 400 mm de largo, con una sección transversal de 40 mm x 60 mm como se muestra en la figura. Va a ser rígidamente empotrado en un extremo y una carga de -2500 N será aplicada al otro extremo.
Código APDL *VGET /prep7 elementsize=20 length=400 et,1,beam3 r,1,2400,320e3,40 mp,ex,1,200000 mp,prxy,1,0.3 k,1,0,0 k,2,length,0 l,1,2 esize,elementsize lmesh,all finish /solu antype,static dk,1,all fk,2,fy,-2500 solve
63
OCTAVO SEMESTRE, PARALELO “B”
finish /post1 rows=((length/elementsize+1)+1) *DIM,graph,TABLE,rows,2,1 *vget,graph(1,1),node,all,loc,x *vget,graph(1,2),node,all,u,y *set,graph(2,1),0 *set,graph(2,2),0 *vget,graph(rows,1),node,2,loc,x *vget,graph(rows,2),node,2,u,y *vplot,graph(1,1),graph(1,2) /axlab,x,Length /axlab,y,Vertical Deflection /replot
Elemento Beam
El módulo de Young, coeficiente de Poisson
64
OCTAVO SEMESTRE, PARALELO “B”
Geometría
Tamaño de malla Mallado Enpotamos y aplicamos la carga
65
OCTAVO SEMESTRE, PARALELO “B”
Resolver
*DIM Cree una tabla llamada "gráfico" 22 filas x 2 columnas x 1 plano
66
OCTAVO SEMESTRE, PARALELO “B”
*VGET
Localización en x,y
67
OCTAVO SEMESTRE, PARALELO “B”
Tabla de resultados
68