I have found a very interesting and useful trick which has been successful in my tests so far. Not sure if it is documented or known fact, thoguht it will be useful for others hence sharing.
The approximate meshcount in the mesh dialogue box is often misleading. Especially for large and complicated meshes. And one has to wait until the meshing is completed before they know the actual mesh count. There is a trick to know the mesh count even before the meshing is completed.
Here is what I do:
1) Open the Task manager >> Processes and click on "Show processes from all users."
2) Sort the processes as per memory usage.
3) Start the meshing by running for 0 iterations in SimCFD and monitor the processes in task manager. You want to track the process called SimCFDMesher.exe which slowly starts consuming more memory.
4) Wait until the last line in output pane message changes from "creating volume mesh" to "optimizing volume mesh" and then quickly check the memory consumed by SimCFDMesher.exe. The size in KB will be the approximate meshcount.
I have successfully tried this trick on 3 models for different mesh sizes as below:
3.05 GB - 3.27 million mesh
5.3 GB - 5.9 million mesh
4.03 GB - 4.14 million mesh
3.5 GB - 3.98 million mesh
So if you see that the approximate meshcount (indicated by consumed memory ) is too small or too large, you can stop the meshing. It stops immediately. Then you can refine/coarsen and again mesh. If you wait until "meshing completed" message, the Solver is triggered and then you have to wait until the 0th iteration is finished with "Analysis is completed". And this takes as much time again. This trick saves half the time in meshing and useful especially for large meshes.
I do not know if it works across the board. I am curious to know the experience of other users if they have come across this earlier.
Solved! Go to Solution.
That is what I do as well, and you did a good job documenting. The rule of thumb is 1 GB per 1 million elements for the mesher.exe.
For large models I will watch to see how large the process is and if it becomes much larger than I expect then I will stop the analysis and adjust my mesh.
This is sometimes key when you turn on gap refinement because the estimator only really works reasonably well for the basic automatic (edge) or manual sizing.
Is the main concern here the desire to know the actual mesh count slightly quicker (at the end of the mesh process but before the 0th iteration) or is it a desire to prevent going over a max element count altogether? i.e. the ability for the program to abort the mesh process and rest of 0th iteration once it reaches a max threshold on element count set by the user.
Product Manager - Autodesk Simulation CFD
Product Manager - Simulation CFD
Heath, I would say it is combination of both for me. I typically first decide the size of mesh I want, and also the relative distribution of the mesh I desire. At initially stages, quick estimation helps in adding regions and volume size adjustments until I am happy with the distribution and the meshcount. But in the final stages, I have found that often refining size of volumes and regions does not scale the mesh linearly. For instance, sometimes refining by 0.9 once or twice doesn't have much effect at all but again refining by 0.9 increaases the total element count significantly (30%-80%). This behaviour is random. So to avoid waiting until the final stage to find out the meshcount is beyond workable, I find it convinient to just abort meshing.
It would actually be great if there was an output in the message window saying just total number of elements/nodes. Just for a reference. It doesn't have to be as detailed as what you have in the final output before the solver really starts. That way if you want you could cancel a job in the cloud or kill the solver in the task manager just to save some time for those jobs that take a long time to work through the pre-processor segment.