Saratech Inc Blog: NX Nastran 10 performance changes Saratech Inc Blog: NX Nastran 10 performance changes

NX Nastran 10 performance changes

NX Nastran 10 performance changes

NX Nastran Engine

We get a lot of customer calls at Saratech asking about ways to help improve NX Nastran performance.  Since NX Nastran 10 has some interesting changes in that area, I thought I would spend some time to talk about some of the performance changes that should help improve performance on modern computer hardware.
Previously, memory was set to “estimate” so that NX Nastran would try to estimate the amount of memory that is needed by a given job.  But for some types of jobs, it would not allocate enough memory.  Now that modern computers typically have much more RAM installed than when the estimate function was originally written, the memory setting in the NX Nastran rcf file is now set to 0.45*physical, which means 45% of the installed RAM.  So if you have a workstation with 16 GB of RAM installed, NX Nastran will allocate 7.2 GB of RAM for the NX Nastran executable.  This leaves memory available for I/O caching which often can help overall NX Nastran performance. The rcf file is a text file that will let you change NX Nastran system settings for a given installation of NX Nastran.
In a previous blog, I had recommended changing the default buffer size from 8192 to 32769 to allow more efficient I/O on modern models.  NX Nastran 10 has made that change in the rcf file to use a buffer size of 32769.  The maximum buffer size is still 65536, and increasing to the maximum will help performance running very large models, but for a large number of models, the new rcf file setting of 32769 should help performance.
There is a new describer “x” which means “percent of memory” that can be used in the rcf file or the command line.   Both the scratch memory (smemory) and buffer pool memory (buffpool) have been set to 20.0x, so they will both use 20% of the memory allocation.  In the example above, where NX Nastran would use 7.2 GB of system RAM, then 20% of 7.2, or 1.44 GB would be used for smemory, and 1.44 GB would be used for buffpool.  NX Nastran uses the smemory to write scratch data to RAM before it writes to disk.  If the model is small enough to be solved in RAM, there can be large performance gains.  The old default for smemroy was 100 blocks, so this new default is considerably larger.
NX Nastran does a huge amount of file I/O, so it is very sensitive to disk performance and memory.  It’s always best to set the Nastran scratch directory to a separate physical disk from the “C” drive.  Not just a separate partition, but a separate drive.  An all-electronic SSD drive is a great option for speed, but high speed SAS drives stripped in a RAID 0 array would be a good second choice, and currently allows larger sizes than SSD drives.  If you don’t want to do a RAID array, then a single 15K or 10K rpm drive is better than a standard hard drive.
If you want to make any changes to these values on your NX Nastran installation, you can do that by editing the NX  Nastran rcf file (nast10.rcf for NX Nastran 10.0), which is in the <install_location>\Nastran\conf directory.  You can specify both the memory sizes, and the default scratch directory location.
Feel free to contact us if you have questions on any of the information provided here.

Labels: , , ,