I'm using Femap 11.2 with NX Nastran 10 to model friction between steel plates and wooden blocks. The analysis is an advanced non linear static (SOL601), which means there is another solver in the game : ADINA.
The goal is to reduce solving time, so I've tried a few things in the nast10.rcf file :
In the Resource Monitor, Memory tab, I've noticed a process called "nxadina.exe" which appears right after NX Nastran's process "analysis.exe".
The latter has 3 000 MB allocated, as written in the nast10.rcf file, and uses 200 MB.
The nxadina.exe has 2800 MB allocated, and it uses almost all of this memory.
The total memory used by the program is 2500 MB, according to the .f06 file.
Increasing the memory allocated in the .rcf file has no effect on the memory allocated to nxadina.exe, only analysis.exe benefits from this.
So, the final questions : Is there a way to increase memory allocated to the nxadina.exe process ? If so, would it reduce calculation time ? If not, then how can I be sure the system uses unallocated memory for the calculation, as explained in this topic ?
Solved! Go to Solution.
You can use the environment variable NXNA_MEMORY keyword to specify the amount of memory (in MB) that the advanced nonlinear solver (SOL601) for both the solution and the input data processing. This is independent of the amount of memory specified for NX Nastran. Note that if memory < 256 MB is specified, it will be ignored.
When defining NXNA_MEMORY, include the numerical value in MB, but do not include the "MB" text describer. For example, this is a valid definition: NXNA_MEMORY=4000
This is an invalid definition: NXNA_MEMORY=4000MB
In summary, for performance reasons with the SOL601 I suggest the following:
Thank you for your answer. The Quick Reference Guide mentions this keyword, and it is exactly what I was looking for. However, I couldn't run the analysis with the environment variable NXNA_MEMORY="size in MB", added in the .DAT file. I keep getting error messages.
Here is what I have tried in the .DAT file :
I have also tried to put the variable in the .rcf file, but it's even worse.
Do you know how to write the variable properly? And in which file?
Also, there is no mention of NXNA_MEMORY in the list of valid Keywords and Environment Variables in the NX Nastran 10 Installation and Operations Guide, is it normal ?
Thanks for your help.
This is an Environment Variable, not a Nastran parameter. It cannot be defined in the input deck. It must be defined on the operating system.
Simply open an MS-DOS window (the command prompt) and write the following if you want to assign 2 GB to the ADINA solver:
D:\> set NXNA_MEMORY=2048
The NXN_MEMORY is an environment variable, not a nastran keyword, not possible to insert it in the *.dat file
To verify that you have created correctly the NXNA_MEMORY environment variable at the Windows operating system level simply open an MS-DOS window and in the command prompt write "set" an click enter, you will see the list of variables of your system, check that NXNA_MEMORY is there!!.
If you set for instance 1000 MB to the NXNA_MEMORY, then after solving if you open the *.F06 you will see the following messages (starting with *** ) that are issued by nxadina.exe and reflect the value set by NXNA_MEMORY:
*** MAXIMUM MEMORY FOR PROCESSING NASTRAN DATA = 1000 MB *** *** MAXIMUM MEMORY FOR ANALYSIS = 1000.0 MB
Dear Jim and Blas,
Please find attached the log and f06 files of an incomplete run, I killed the analysis after the memory data of the model had been printed. You can check by yourselves but here is the relevant data from my point of view, exctracted from the .f06 file :
*** ENVIRONMENT VARIABLE NXNA_MEMORY = 6500 ***
*** MAXIMUM MEMORY FOR PROCESSING NASTRAN DATA = 6500 MB ***
*** EXECUTE SOLUTION ***
*** MAXIMUM MEMORY FOR ANALYSIS = 6500 MB ***
Available total memory . . . . . . . . . . . . . 6500.0 mb
Memory used for storage of model data. . . . . . 643.4 mb
Memory used by the in-core sparse solver. . : 1910.4 mb
Total memory used by the program. . . . . . : 2553.8 mb
So the NXNA_MEMORY seems to be properly defined and used by Nastran, yet the nxadina.exe process is still limited to approx 2800 MB, according to the resource monitor. However, I've noticed a third process which is born and dies within a few seconds at the very beginning of the analysis: adnast.exe. This one gets the 6500 MB allocated by the environment variable.
Now I'm looking into the nxna.bat file to try and understand how processes and environment variables are linked.
Thank you both for your help !