En esta clase aprenderemos como escribir resultados o variables en un documento de texto (extensión .txt). Esto nos podrá ser útil si queremos exportar resultados para analizarlos, por ejemplo, en Excel.
Para ello usaremos las fórmulas *cfopen, *cfclose y *vwrite. Recordamos que el formato que se usa con la función *vwrite es FORTRAN (i para enteros, f para decimales y C para textos).
IMPORTANTE: La función *vwrite no podemos escribirla directamente en la barra de comandos, no va a funcionar. Necesitamos crear, por ejemplo un fichero .inp que contenga la función *vwrite y leerlo usando File-->Read input from y seleccionamos nuestro fichero .inp.
Ejemplo de código de ANSYS
!Importante: Como sabemos, como *vwrite no podemos escribirlo directamente en la barra de comandos, ya que no funcionará, tenemos que crear un fichero .inp y leerlo, como hemos explicado arriba.
!EJEMPLO 1. Este primer ejemplo muestra la nomenclatura de las funciones a usar y los parámetros con un caso sencillo
*cfopen,'texto',txt !Crea/Abre un archivo ´texto.txt´ en el directorio de trabajo que hayamos seleccionado al arrancar ANSYS o que hayamos seleccionado con File à Change directory. Podemos cambiar ‘texto’ por cualquier otro nombre
*vwrite !Dice a ANSYS que escriba en el fichero texto.txt que hemos abierto el texto que aparezca en la siguiente línea
Hola, esto es un ejemplo de línea sin variables
!Hasta aquí nuestro fichero contendrá:
!Creamos tres variables que usaremos luego. Estas variables podrían contener, por ejemplo, resultados
variable1=12
variable2=’Prontubeam’
variable3=1.15
*vwrite, variable1,varible2,variable3 !En este caso, le decimos a ANSYS que escriba en el txtel texto que pongamos en la línea siguiente pero le decimos que va a llevar variables de nombres variable1,varible2 y variable3. ANSYS sustituirá la variable por su valor en la siguiente línea y con el formato que asignemos. En orden, donde aparece un estilo de formato (%i o %c o %f) ANSYS sustituirá en orden, la variable en cada hueco. Se pueden usar hasta 19 variables
Imprimos esto: %i %c %f
!Le decimos que la variable1 la imprima con formato entero (%i), que la variable2 la imprima con formato texto (%c) y que la variable3 la imprima con formato decimal (%i)
!ANSYS imprimirá en el fichero texto.txt una línea que pondrá: Imprimimos esto:12 Prontubeam 1.15
*cfclos !Le decimos a ANSYS que cierre el fichero que ha abierto. Esto nos permitirá modificar/eliminar el fichero txt con el ordenador, si no, nos dirá que está abierto por otro programa.
!Este es el resultado:
!EJEMPLO 2. Este segundo ejemplo nos va a enseñar la diferencia de usar el formato i, f y c con un número decimal y un texto.
! Fichero Nombre.inp contiene lo siguiente:
numero=5.58 !Creo una variable de nombre numero y de valor 5.58. Es una variable tipo número
texto='texto prueba' !Creo una variable de nombre texto y de valor ‘texto prueba’. Hemos añadido el entrecomillado ‘…’ para crear una variable tipo texto.
*cfopen,'texto',txt !Crea/Abre un archivo ´texto.txt´ en el directorio de trabajo que hayamos seleccionado al arrancar ANSYS o que hayamos seleccionado con File à Change directory
*vwrite, numero
Numero con formato i = %i
*vwrite, numero
Numero con formato f = %f
*vwrite, numero
Numero con formato c = %C
*vwrite,texto
Texto con formato i = %i
*vwrite,texto
Texto con formato f = %f
*vwrite,texto
Texto con formato c = %C
*cfclos
!Este es el resultado:
!Vemos que los decimales cuando usamos formato entero los redondea y que cuando usamos formato C con un número nos da símbolos poco legibles. Si un texto le aplicamos formato %i o %f nos devuelve 0.