Hi,
I don't have a high power computer and tend to get bogged down around 80k-100k nodes. I'm curious what other Mecway users are limited to in terms of node count. I'm using Windows 7 64-bit with 4GB of memory. However, my processor is very crappy. Plan on upgrading my computer in the future and just curious as to what I can expect. Are 200k, 300k, and so on, node models something others work with on a regular basis?
Comments
Using netgen I generated a monster 2.3 million nodes on my first attempt from a 3D cad import (it was left overnight on a 16GB Z420 workstation). I was able to load it into Mecway view and rotate around. Unfortunately this model had too many errors in the elements to solve. I had to make a coarser mess and a lot of fine tuning to get something sensible to work with.
- On the Meshing Options General Tab select very fine mesh granularity, check second order elements. If a surface model, also select Quad Dominated
- On the Meshing Options Mesh Size Tab change min mesh size to 1 if 0 fails, change elements per edge to 5, decrease max mesh-size to get even more elements
I am not really sure what min mesh size of 0 and 1 mean. I'm also not really sure what max mesh size means. But a value of 0 for min mesh size can cause the program to crash. Taking guesses at reducing max mesh size value will increase the mesh density.
That's great you can solve such a large model. Recently I have been having issues with even small surface models. So I may just have computer issues, not sure.
There is a fair amount of lag with 2.3 million node and it is not workable in my opinion. 500,000 nodes with 16Gb Z420 is okay if you don't mind running the solver overnight. In my case this was an accident because I didn't set the correct values for meshing. I am happy to use about 200,000 nodes because it allows me to try different values on the problem.
P.S. I should clarify that I mean GPGPU support. Where the GPU is used to perform FEA as opposed to standard graphics operations. Given no one can ever agree on a standard because they want to be the only one to offer such a feature and the fact that everyone has different GPU processors it makes implementing GPGPU support not very worthwhile. Nvidia CUDA was the first and most prolific but I myself do not have a Nvidia card and probably never will. So even if it was implemented it wouldn't help. OpenCL is available and Intel and AMD support that, I'm not sure if Nvidia does. But unless everyone has software and hardware it is just a waste of developer's time. On the other hand almost everyone has an x86 capable processor.
Interestingly, I tried running it in CCX and benchmarked the results (very comparable); execution times weren't remarkably different.
Mecway's matrix solver is multithreaded and optimized for Intel CPUs so that stage of the solver, which dominates the time for large models, should be as fast as or faster than other software. The matrix assembly stage is still a bit slow.
That's a good idea about a table, though it does depend on the connectivity of the mesh - a cube uses more memory than a slender rod. There is also automatic disk swapping so in theory, any amount of RAM should be OK but it can become much slower if it has to swap to disk. Also, I've sometimes seen it fail when doing that.
sorry for so many posts. i had a thought. i believe in ansys you could tell the solver how much memory you wanted it to have (say 4, 6, 8, 12, or 16gb of memory) as well as being able to turn in-core or out-of-core memory mode on. so if you had that ability you wouldn't have to actually remove memory modules from the computer (although that is easy on a desktop). perhaps you could add options like that in the settings of mecway. if you have in-core on and 4gb selected and your model becomes to big to solve, the program would stop and give you a message to reduce your model size.
- Computer: 16 GB RAM, USB 3 external hard disk drive, Intel Core i7 CPU
- All models are static 3D with hex8 elements. Hex20 elements use more memory for the same number of nodes and similar mesh topology.
- Larger models failed because there wasn't enough disk space for Windows' virtual memory paging file.
- Disk use in the table is for the out-of-core files used by the matrix solver which were put on the external USB hard drive.
- RAM in the table is the total memory used as shown by Task Manager. This is not very accurate and includes memory used by other applications.
Nodes ...... Elements ..... Time ..... Disk use .. RAM
550,000 ... 128x32x128 .. 95 min ... 29 GB ..... 7 GB
280,000 ... 102x25x102 .. 18 min ... 11 GB ..... 4 GB
140,000 ... 80x20x80 ...... 2.7 min .. 0 ............ 7 GB
530,000 ... 512x1x512 .... 3.5 min .. 0 ............ 9 GB
260,000 ... 362x1x362 .... 1.7 min .. 0 ............ 5 GB
130,000 ... 256x1x256 .... 0.8 min .. 0 ............ 3 GB
You can see that changing the mesh topology can alter the memory use and time by an order of magnitude even for the same number of nodes. A typical mesh would be somewhere between the cubiod and plate used in these tests.
Thanks for taking the time to run these tests, it is helpful to know what people can solve and with how much memory.
I put together a table comparing model size versus run time and memory use for Mecway, CCX 2.8.2 and 2.10 (kwip version) for parabolic elements. The first two models are probably more representative of an actual FEA model, the third one is just a square plate with an extra element layer or two between runs. Mecway results are for V4, but I reran a few with V5 and results are within a few seconds. V5 also seems to help a bit with the memory issue I had, I was able to run a 377k nodes tet model that crashed V4. I also had a bug with both versions of CCX where the program just crashes after the multithreaded part is done without giving any error message with large models (377k nodes for tets and 460k for bricks). Did someone else had this issue before?
As for the results, they show that CCX 2.10 is much faster than 2.8.2, which was significantly slower than Mecway despite using 2 more threads. CCX is also more efficient with memory and keeps everything in core unlike Mecway which starts using disk cache when more than 16GB of ram is required.
I hope this may be of some use to someone
It would be helpful to see your meshes because the topology has a huge effect on performance as shown in my table further up this thread. Two models took 4 minutes and 1.5 hours with the same number of nodes and the same element types. The only big difference was the shape of the model - single layer vs thick block.
So, I now had a model with 565238 quadratic elements and 2194687 nodes (565 238 and 2 194 687, if it helps), about 8x higher. Solving was seeming to take about an hour per iteration, so I left running overnight in the end. It solved fine (10 iterations) with about 0.03% difference in the peak temperature compared to the original model. Manipulation of the model was painful, taking between 5 and 10 seconds to respond to any manipulation or view change. A quick check of Task Manager indicated just over 4 GB of memory for Mecway (model open, with solution, not while solving).
Computer: Dell XPS 15 laptop, Intel Core i7-4712HQ CPU 2.30 GHz, 16 GB RAM, GeForce GT 750M graphics.
I made an analysis few weeks ago with about 150.000 elements and 500.000 nodes and it was solved with no problems quite fast in about 2 minutes. That's way I assumed there will be no problem with around double larger numbers.
Does anyone know what is the reason for this error? I'm working in Mecway 13.1 and running static 3D analysis with Internal solver. I'm using mostly quad8 and tri6 elements, with some link2 elements.