Showing results for 
Search instead for 
Do you mean 
Reply
Solved! Go to solution

Memory settings for Advanced Non Linear Static Analysis (SOL601)

Hi everyone,

 

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 :

  • Run parallel = 3 (very efficient, solving time divided by 2)
  • Allocate as little as possible memory to Nastran itself (no effect)
  • Increase SMEM in order use more RAM for the IO operations (no effect, but I'm not sure I understood SMEM properly)

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 ?

 

Regards,

 

Pierre-Alain

19 REPLIES

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

Dear Pierre-Alain,

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:

  • Use 3D iterative solver (SOLVER=2) if model is predominantly parabolic hex or tet meshed.
  • Advanced Nonlinear solver scales very well with multiple CPU’s (SMP): use all processors available.
  • Use enough memory to keep solution in core by the NXNA_MEMORY keyword.

Best regards,

Blas.

Blas Molero Hidalgo, Ingeniero Industrial, Director
IBERISA • 48004 BILBAO (SPAIN)
WEB: http://www.iberisa.com
Blog Femap-NX Nastran: http://iberisa.wordpress.com/

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

Hi Blas,

 

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 :

  • SOL 601,106 NXNA_MEMORY=6500
  • SOL 601,106, NXNA_MEMORY=6500

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.

Regards,

 

Pierre-Alain

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

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.

 

 

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

Dear Jim,
I see. So the Environment Variable is defined. Now how do I make Nastran read it ?

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

Dear Pierre,

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

 

Best regards,

Blas.

Blas Molero Hidalgo, Ingeniero Industrial, Director
IBERISA • 48004 BILBAO (SPAIN)
WEB: http://www.iberisa.com
Blog Femap-NX Nastran: http://iberisa.wordpress.com/

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

Dear Blas,
I have followed this short procedure to create the environment variable : https://kb.wisc.edu/cae/page.php?id=24500
Yet according to the resource monitor, nxadina.exe still gets only about 2800 MB.

Regards,
Pierre-Alain

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

Please post the .log and .f06 files from your run.

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

Dear Pierre-Alain,

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

Best regards,

Blas.

Blas Molero Hidalgo, Ingeniero Industrial, Director
IBERISA • 48004 BILBAO (SPAIN)
WEB: http://www.iberisa.com
Blog Femap-NX Nastran: http://iberisa.wordpress.com/

Re: Memory settings for Advanced Non Linear Static Analysis (SOL601)

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 !