FEMAP V10.1 & NX Nastran 6.1 Tutorial
Palabras Clave de NX Nastran en FEMAP
(Septiembre, 2009)


El objetivo de este Tutorial es aprender a utilizar algunas palabras claves de NX NASTRAN a través de FEMAP que afectan de forma importante a la solución de ecuaciones y al tiempo de análisis con el módulo No Lineal Avanzado de NX Nastran (SOL 601). Para las pruebas vamos a utilizar un modelo sólido CAD 3D correspondiente a un accesorio de tubería con los tres agujeros de la base restringidos y una presión constante de 10 MPa de que mallaremos con elementos sólidos tetraédricos de 10-nodos, pero puedes utilizar cualquier modelo, se trata de ver el procedimiento.


Modelo CAD 3D

 

NX Nastran se ejecuta con la orden "nastran" que permite además especificar palabras clave (keywords) que afectan a la ejecución del solver NX Nastran. El formato del comando nastran es el siguiente:

nastran input_data_file [keyword1 = value1  keyword2 = value2 ...]

donde "input_data_file" es el nombre del fichero que contiene los datos de entrada del modelo de NX Nastran y "keywordi=valuei" son los argumentos asignados a las palabras clave. Por ejemplo, para correr un modelo usando el fichero de entrada "ejemplo1.dat" hay que meter lo siguiente en la ventana de comandos:

nastran ejemplo1.dat

Las palabras clave se pueden especificar como argumentos en la línea de comandos y/o pueden ser introducidas en ficheros RC. Algunas palabras clave importantes son las siguientes:

memory

memory=memory_size

Default=estimate

 

Especifica la cantidad de memoria reservada a nastran. Si se especifica “memory=estimate”, se usará ESTIMATE para determinar el tamaño. De lo contrario se deberá indicar un tamaño específico de memoria.

 

Ejemplo:

nastran example mem=1024mb

scratch

scratch={yes|no|mini}

Default=no

 

Borra los ficheros de la base de datos al finalizar el cálculo. Si la base de datos no se quiere guardar, “scratch=yes” puede usarse para borrarla. Si se especifica “mini”, se creará una base de datos reducida (que sólo se puede usar para reinicios.

 

Ejemplo:

nastran example scratch=yes

dbs

dbs=pathname

Default=input_data_file directory

 

Crea los ficheros de la base de datos usando un prefijo alternativo. Si no se especifica “dbs”, los ficheros de la base de datos se crean en el directorio actual usando de base el nombre del fichero de entrada como prefijo. Si el valor de “dbs” es un directorio, los ficheros de la base de datos se crean en el diectorio especificado usando de base el nombre del fichero de entrada como prefijo

parallel

parallel=value

Default: 0

Especifica el máximo nº de CPUs seleccionadas para el procesado en paralelo (shared-memory parallel processing, SMP). El procesado SMP reduce tiempos de espera a costa de aumentar la actividad del procesador. El valor por defecto es 0, lo cual especifica que no hay procesado SMP. Si se especifica “parallel=1", entonces el solver utiliza un único procesador. Si se dispone de una CPU con procesador QUADCORE entonces se debe especificar "PARALLEL=4" para aprovechar los cuatro cores, y así sucesivamente.

 

Ejemplo:

nastran example parallel=2

 


Detalle de cómo activar múltiples procesadores en FEMAP y NX Advanced Simulation cuando se trabaja con el solver NX NASTRAN

 

1. Examinar el fichero RC de NX Nastran
Utilizando el Block de Notas abrir el fichero "nast6.rcf" que en mi equipo se encuentra situado en "D:\UGS\FEMAPv101\nastran\conf". Los parámetros por defecto son los siguientes:

Memory=estimate
Buffsize=8193
ishellpath=%NXN_BASE%\bin
scr=yes
msgbell=no
Auth=@LocalHost
program=FEMAP
Sdir=D:\Scratch

 

2. Ejecutar el Análisis con los Parámetros por Defecto
Mallamos el modelo con más de 70.000 nodos y 42.000 elementos TETRA10 de alto orden y 10-nodos por elemento, definimos propiedades del material, aplicamos cargas y restricciones y ejecutamos el análisis con las opciones por defecto.


Modelo Malado con Elementos Sólidos 3-D CTETRA de 10-nodos

 

En el directorio donde hemos creado la base de datos de FEMAP abrimos con un editor de textos el fichero *.F06 y chequemos la información sobre la memoria y tiempo de cálculo. Vemos que el solver está utilizando únicamente un procesador, con un tiempo de cálculo de 64 seg.

 *** START SOL 601 ***  
 *** EXECUTE SOLUTION ***
 PID=468
 Initializing ... Stage 1
 Allocating 32.0 MB of memory ...    
       ***************************************************************
       *                                                             *
       *    P R O G R A M    N X   N A S T R A N    S O L   6 0 1    *
       *                                                             *
       ***************************************************************

   Starting Solution Process ...  

          ***********************************************************
          *                                                         *
          *          THIS IS A    LINEAR   STATIC ANALYSIS          *
          *                                                         *
          ***********************************************************  

                     ***   MEMORY REALLOCATION   ***
   REQUESTED MEMORY FROM THE SYSTEM...=     184.0 mb    (      23.0 mw)  
 Re-allocating 187.3 MB of memory ...  

 S O L U T I O N    B Y    S P A R S E   S O L V E R  
 TOTAL SYSTEM DATA  
     NUMBER OF EQUATIONS . . . . . . . . . . . . .(NEQ)  =    208959
     NUMBER OF NON-ZERO MATRIX TERMS. . . . . . . (NZC)  =   7995702  
     MEMORY AVAILABLE FOR STORAGE (in words). .(MSTORE)  =  23413431  
     NUMBER OF PROCESSORS USED. . . . . . . . . (NPROC)  =         1  
  
 *****************************************************************************
 Allocated memory for storage of model data . . :     250.8 mb
 Memory used for storage of model data. . . . . :     250.8 mb  
 *****************************************************************************
  
 Memory used by the in-core sparse solver. . :     863.2 mb
 Total memory used by the program. . . . . . :    1114.0 mb
   ../..  
 T O T A L   S O L U T I O N   T I M E (SEC) . . . . .      64.61
 MEMORY USED BY THE SPARSE SOLVER=  107.9mw (  863.2mb)
 TOTAL MEMORY USED BY THE PROGRAM=  139.3mw ( 1114.0mb)
 *** END SOL 601 ***

 

3. Ejecutar el Análisis con nuevos "Nastran Keywords"
Vamos a modificar los parámetros del análisis para sacar partido a la memoria RAM y nº de procesadores del sistema. Entramos en el "Analysis Manager" desde "Model > Analysis" y editamos la solución actual:


Gestor de Análisis de FEMAP

 

Haz click en "Next" para llegar a la ventana para definir las opciones de solución y ejecución de Nastran. El ordenador donde estoy ejecutando el análisis es un portátil con Windows Vista x64, 4 GB de RAM y procesador QuadCore con 4 CPUs. Si abro con un editor de texto el fichero *.LOG veo lo siguiente:

NX Nastran V6.1 (Intel64 Family 6 Model 23 Stepping 7 Windows Vista) Control File:
-------------------------------------------------------------------
Nastran BUFFSIZE=8193 $(d:/ugs/femapv101/nastran/conf/nast6.rcf[2])
Current resource limits:
 Physical memory:                     4093 MB
 Physical memory available:           2577 MB
 Paging file size:                   16310 MB
 Paging file size available:         14673 MB
 Virtual memory:                   8388607 MB
 Virtual memory available:         8388545 MB
-------------------------------------------------------------------
System configuration:
 Hostname:         QUADCORE2
 Architecture:     em64tnt
 Platform:         Intel64 Family 6 Model 23 Stepping 7 Windows Vista  
 Model:            Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
 Clock freq.:      2826 MHz
 Number of CPUs:   4
 Executable:       standard
 Raw model ID:     8666
 Config number:    8666
 Physical memory:  4093 MB
 Virtual memory:   16310 MB
 Numeric format:   32-bit little-endian IEEE.
 Bytes per word:   4
 Disk block size:  512 bytes (128 words)

 

Pues bien, para aprovechar al máximo los recursos hardware/software disponibles haremos los siguientes cambios en el "Nastran Executive and Solution Options" y resolvemos de nuevo el modelo:

  • Number of Processors = 4
  • Solver Memory = 2048 mb
  • Activar la opción "Save Database for Restart"


Parámetros del NX NASTRAN EXECUTIVE SECTION

 

Si abrimos el fichero *.F06 y comparamos resultados entre ambas soluciones vemos que el tiempo de cálculo se reduce de 64 seg. a unos 26 seg, un ahorro de tiempo del 60% !!.

 *** START SOL 601 ***  
 *** EXECUTE SOLUTION *** PID=4012
 *** MAXIMUM MEMORY FOR ANALYSIS = 2048.0 MB
 Initializing ... Stage 1
 Allocating 2048.0 MB of memory ...
  
  
       ***************************************************************
       *                                                             *
       *    P R O G R A M    N X   N A S T R A N    S O L   6 0 1    *
       *                                                             *
       ***************************************************************
          ***********************************************************
          *                                                         *
          *          THIS IS A    LINEAR   STATIC ANALYSIS          *
          *                                                         *
          ***********************************************************
  
 S O L U T I O N    B Y    S P A R S E   S O L V E R
 TOTAL SYSTEM DATA
  
     NUMBER OF EQUATIONS . . . . . . . . . . . . .(NEQ)  =    208959
     NUMBER OF NON-ZERO MATRIX TERMS. . . . . . . (NZC)  =   7995702
     MEMORY AVAILABLE FOR STORAGE (in words). .(MSTORE)  = 256000000
  
     NUMBER OF PROCESSORS USED. . . . . . . . . (NPROC)  =         4
       M E M O R Y     R E Q U I R E M E N T   (in words)
  
  AVAILABLE MEMORY FOR THE ADINA PROGRAM (MSTORE)       =           256000000
  ESTIMATED MEMORY FOR IN-CORE STORAGE .......(IOPTIM=3)=            30068898
  ESTIMATED MEMORY FOR OUT-OF-CORE STORAGE....(IOPTIM=2)=            22962185
  NOTE: WHEN SPARSE SOLVER IS USED - ADDITIONAL MEMORY
        IS REQUIRED - PLEASE SEE BELOW INFORMATION
        RELATED TO SPARSE SOLVERS.
  
  
  MAXIMUM REQUESTED (TEMPORARY) MEMORY (in words)...... =            30068898
  
  
     IN-CORE STORAGE FLAG . . . . . . . . . . . (IOPTIM)  =         2
  
  
  
 *****************************************************************************
 Available total memory . . . . . . . . . . . . .    2048.0 mb
 Memory used for storage of model data. . . . . .     209.1 mb
  
 *****************************************************************************
  
 Re-allocating 209.1 MB of memory ...
  
  
 *****************************************************************************
 *                                                                           *
 *          <<<<< SPARSE SOLVER INFORMATION >>>>>                            *
 *                                                                           *
 * NUMBER OF NON-ZERO TERMS IN FACTORIZED MATRIX......=           103059597  *
 * MEMORY USED BY THE SOLVER (in words)...............=           107900766  *
 * TOTAL MEMORY USED BY THE PROGRAM (in words)........=           134037892  *
 *             << IN-CORE SOLUTION >>                                        *
 *****************************************************************************
  
  
 Memory used by the in-core sparse solver. . :     863.2 mb
 Total memory used by the program. . . . . . :    1072.3 mb
../..  
  
 T O T A L   S O L U T I O N   T I M E (SEC) . . . . .      26.43
 MEMORY USED BY THE SPARSE SOLVER=  107.9mw (  863.2mb)
 TOTAL MEMORY USED BY THE PROGRAM=  134.0mw ( 1072.3mb)
 *** END SOL 601 ***

 

4. Uso del "3D-Iterative Solver"
Y por último para exprimir al máximo el solver en la resolución de grandes modelos mallados con elementos de alto orden NX NASTRAN dispone del 3D-Iterative Solver que es una alternativa muy eficiente al Direct Sparse Solver en la resolución de modelos con contactos superficie-a-superficie. Tengo pensado publicar una comparativa más detallada con un modelo no lineal con contactos donde se ve claramente las ventajas de este solver. De momento vamos a ver cómo se comporta con este modelo reducido entrando de nuevo en el "Analysis Manager" desde "Model > Analysis" y editamos la solución actual hasta llegar a la pantalla de "NXSTRAT Solver Parameters" donde activamos el 3D Iterative solver:


Parámetros de solución del solver No Lineal Avanzado de NX Nastran

 

Si abrimos el fichero *.F06 y comparamos resultados con la solución anterior vemos que el tiempo de cálculo se reduce de 26 seg. a 18 seg, un ahorro de tiempo del 31% !!. Y además la memoria RAM que utiliza el programa se reduce notablemente, pasa de 1072 MBytes con el Direct Sparse Solver a tan sólo 351 MBytes con el 3D-Iterative Solver, qué pasada!!.

  S O L U T I O N    B Y    3-D    I T E R A T I V E    S O L V E R
  
     TOTAL NUMBER OF EQUATIONS . . . . . . . . . .(NEQ)  =    208959
     NUMBER OF EQUATIONS EXCLUDING CONTACT . . . (NEQI)  =    208959
     NUMBER OF CONTACT EQUATIONS . . . . . . . . (NCEQ)  =         0
     NUMBER OF NON-ZERO MATRIX TERMS. . . . . . . (NZC)  =   7995702
     MEMORY AVAILABLE FOR STORAGE (in words). .(MSTORE)  = 256000000
  
     NUMBER OF PROCESSORS USED. . . . . . . . . (NPROC)  =         4
  
  
       M E M O R Y     R E Q U I R E M E N T   (in words)
  
  AVAILABLE MEMORY FOR THE ADINA PROGRAM (MSTORE)       =           256000000
  ESTIMATED MEMORY FOR IN-CORE STORAGE .......(IOPTIM=3)=            30607595
  ESTIMATED MEMORY FOR OUT-OF-CORE STORAGE....(IOPTIM=2)=            23462128
  NOTE: WHEN SPARSE SOLVER IS USED - ADDITIONAL MEMORY
        IS REQUIRED - PLEASE SEE BELOW INFORMATION
        RELATED TO SPARSE SOLVERS.
  
  MAXIMUM REQUESTED (TEMPORARY) MEMORY (in words)...... =            30607595
  
     IN-CORE STORAGE FLAG . . . . . . . . . . . (IOPTIM)  =         3
  
 *****************************************************************************
 Available total memory . . . . . . . . . . . . .    2048.0 mb
 Memory used for storage of model data. . . . . .     256.8 mb
  
 *****************************************************************************
  
 Re-allocating 274.9 MB of memory ...
  
  
 *****************************************************************************
 *                                                                           *
 *     <<<<< 3-D ITERATIVE SOLVER INFORMATION >>>>>                          *
 *                                                                           *
 * NUMBER OF MATRIX ELEMENTS TO BE STORED IN-CORE.....=             6540144  *
 * MEMORY USED BY THE SOLVER (in words)...............=             9490974  *
 * TOTAL MEMORY USED BY THE PROGRAM (in words)........=            43858622  *
 *             << IN-CORE SOLUTION >>                                        *
 *****************************************************************************
  
  
 Memory used by the in-core solver . . . . . :      75.9 mb
 Total memory used by the program. . . . . . :     350.9 mb
  
  
 T O T A L   S O L U T I O N   T I M E (SEC) . . . . .      18.08
 TOTAL MEMORY USED BY THE PROGRAM=   41.6mw (  332.7mb)
 *** END SOL 601 ***

 


Tensiones vonMises obtenidas con el módulo No Lineal Avanzado (SOL601,106)

 

Espero que el tutorial os haya resultado útil e interesante!!.

Saludos,
Blas.

Contacto IBERISA

SÍGUENOS EN: Blog de "FEMAP y NX Nastran" en WordPress


Ir a la Página de Inicio

Productos | Soporte | Consultoría | Cursos | Universidad | Libros | Enlaces

Copyright © 2001 Ibérica de Ingeniería, Simulación y Análisis, S.L. -- http://www.iberisa.com --