April 20, 2021 at 9:22 pm
Ansys Employee
When a job is launched in CFX, the solver estimates at the beginning how much memory is needed for each process (interpolation, partitioning, solver) based on the size of the model and the model physics. Once the memory is allocated and the solver starts, if not enough memory is allocated for each of these tasks the solver will stop and will usually print a memory allocation error. These memory allocation errors are independent of how much memory is on the system or how much of that memory the solver is currently utilizing. The memory allocation is setup such that it doesn't grab all the memory on the machine but only as much as the solver thinks it will need, and if it needs more memory it cannot dynamically allocate more.nThe first issue may possibly be memory-related. Especially with very large models, memory allocation errors may occur and no memory allocation error may be reported. I would suggest restarting from the temporary res file (i.e. zFas3A4b) and increase the solver memory allocation and see if it is able to successfully generate a backup file.nAs you noted, in some cases the memory allocation to nodes may not be uniform and can approach or exceed the memory limits on the node. The remedy is what you're currently doing: trying a different partitioning method to get a more uniform nodal memory allocation.nNote that not a errors labelled MEMERR are attributed to memory allocation. There could be other issues. I agree that the errors can be cryptic, but looking at the entire error message may give a clue as to where the issues are coming from and may help in diagnosing the problem.nWhen it comes to memory allocation, I don't believe there's a way to know beforehand what memory allocation parameters to apply unless you've run a similar problem before since it's a function of mesh size, physics, number of interfaces. If you run a certain type of problem and you find it requires certain memory allocation, this is something that was determined through experience. I'm not aware of a way to generate verbose output for error diagnostics in CFX.n