As I mentioned in my original post, Femap 11.3+ offers some new ways to make managing memory for advanced nonlinear solutions easier.
As a reminder, the fundamental issue is that when Nastran executes SOL 601, it actually spawns a new process for the 601 solver, and passes its current memory settings down to that new process. Using the default methods, we would have to increase the memory allocation in the original process. This results in 2 processes with large memory, and the originating process is just wasting our memory resource.
We can control this by using environment variables, but this is clumsy and the user may not have privileges to set this.
With Femap 11.3+, we have added the option to use a "linked solver". This allows a user to point to an alternate solver installation on his machine. We can also use this feature to point to a batch file which contains the memory settings we desire for SOL 601 in addition to the command to submit the run. The batch file would look like this:
REM This sets the memory for translation only REM NXNA_PREMEM = memory (in MB) for adnast executable SET NXNA_PREMEM=500
REM This sets the memory for 601 solver REM NXNA_SOLMEM memory (in MB) for nxadina executable SET NXNA_SOLMEM=6000
REM Set this to your installation of NXN "C:\apps\FEMAPv1131\nastran\bin\nastran64.exe" %*
You may notice, instead of an "alternate solver" I actually pointed to my 11.3.1 Nastran installation.
After creating this batch file, let's configure our settings in Femap.
We set up the linked solver on the Femap Preferences Form under the Solvers Tab by setting it to the location of the batch file we created.
Next in the Analysis Set Manager we choose "linked solver"
Now submit the analysis as normal and the memory settings will be applied to this run only.