Products

Improving NX Nastran Performance

By Teague

Improving NX Nastran Performance

NX Nastran actually comes with two different 64 Bit executables, the standard LP-64, and the optional ILP-64 executable.  The LP-64 executable still uses 32 bit integers, and is limited to 8 GB of RAM.  The ILP-64 executable uses 64 bit integers, so is a full 64 bit system.  It’s RAM limited is 2,000,000 TB.  Yes, that’s 2 million terabytes.  So it will be some time before you can buy a system where you can test the full memory capacity of the ILP version.  Both FEMAP and NX Advanced Simulation default to use the LP-64 executable.  So that means NX Nastran will only use up to 8 GB’s of RAM maximum, even if you have 32 or 64 GB installed.  If you have more than 16 GB of RAM, and a large NX Nastran model that needs more than 8 GB of RAM, then you are better off using the ILP-64 version.  But if your model does not need more than 8 GB of RAM for the solution, the standard LP-64 executable will be faster.


By default, NX Nastran will try to allocate the proper amount of memory.  This works well for linear statics, but for other solution sequences it may not work as well.  So it’s possible you will find that NX Nastran needs more memory.  Both FEMAP and NX Advanced Simulation will let you change the default memory allocation.  If you do use the manual option to set the memory, don’t go past about 50-60% of the total system memory for Windows.  The Windows OS needs space for itself, and will use extra memory to cache the disk I/O for applications like NX Nastran that can help improve the performance.  If you over allocate system RAM for NX Nastran you can actually hurt the overall system performance since the memory available for the I/O Cache is reduced.  In that case, the answer may be to add more RAM to your system.  We have customers running 32 GB of RAM on engineering desktop systems, and 64-128GB of RAM is common in dedicated NX Nastran server machines, so don’t be afraid to load up your computer with more RAM.


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.


Increasing the default buffer size from 8192 to 32769 will allow more efficient I/O for models that are bigger than about 400,000 degrees of freedom, which these days is not a really big model any more.  You can do that by editing the “BUFFSIZE=8192” line in the Nastran rcf file (nast9.rcf for NX Nastran 9.0), which is in the <install_location>Nastranconf directory.


RAM performance is also important.  If you are configuring a new system, always go for the fastest RAM that the vendor will provide.  It can be more important to have a large amount of fast RAM that a slightly higher clock speed on the CPU, so don’t just focus on what CPU model the system has.


I hope this information is helpful and feel free to contact us if you have questions on any of the information provided here.

Chris Teague
This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/simcenter/improving-nx-nastran-performance/