I've been trying for a while to successfully mesh a model with no luck. We are trying to mesh an open wheeled racing car (Formula SAE) in a large fluid domain. I have managed to create decent meshes, but what we ultimatly want is something very fine (>20M elements).
All I have been able to do is create surface and volume meshes using Tetr everywhere. I have had limited success using blocks to create a mesh of the whole domain, but no luck meshing the car.
Because the car is an open wheel racer, it is very complicated, so a structured mesh in close will not work. I really want to create a structured mesh in the domain and have a 'bubble' around the car filled with tet elements and prisms only.
I have read all the ICEM literature I could find, tutorials and Simon's 'Tips and Tricks', but am still having no luck. I saw two great examples in Simon's Tips and Tricks presentation of the airplane and racecar hybrid meshes. However, I am having trouble aplying these methods to my model.
I wonder how some of the professionals create their meshes. I have heard that Red Bull Formula One Team have 250M elements on their front wng alone, and there is well publicised example of the 1000M element America's Cup Sailing Boat.
Any help on the matter would be greatly apreciated
Big budget F1 teams
The professionals often brute force those models. They have billion dollar hardware will lots and lots of memory. Force India F1 uses Octree followed by prism and a 12 tet to 1 hex conversion. Red bull uses a complicated back and forth between ICEM CFD and TGrid (which I am probably not allowed to detail). We are working will a number of teams to evaluate/challenge/improve our soon to be released "Cutcell" meshing tech. They have fancy scripts and detailed processed that make it manageable. I have worked with NASA, Boeing, Lockheed Martin, Airbus, Toyota, GM, GE, Honeywell, etc. and none of them have the hardware or budget that the F1 teams have. My point is that you might need to come up with something else (something more efficient/modest).
The Hexa far field and tetra locally is probably the best solution for you.
It should work well. Perhaps we can discuss where that is breaking down.
In those slides, I made a complicated (actually bad) interface because I wanted to show that anything was possible, but a simple box with square corners is the best for the hexa quality. Did your tetra half work? Did you get the hexa part done? What happened during the merge? Did you have trouble with reading it into the solver? how about convergence?
Is it a memory problem? For 20 million elements, you should probably have a 64 bit machine and 8 Gigs of ram. If you only have a 32 bit machine and 4 gigs of ram, then lets scale back to 10 or 12 million cells or try to mesh more of the model with Hexa or maybe partition the model further.
Thankyou for your fast reply
Obviously, as a university organisation, we have limited resources and even more limited budgets. However, we have access to 2 brand new PC's with overclocked i7 920 CPUs and ~ 12GB RAM each.
I divided the fluid domain into a near-field (a basic shape around the car) and a far-field (the rest of the domain).
I managed to get 3M volume elements in the near-field region by Autoblock and Patch Independent surface meshing and then Delauney Triangulation for the volume. I then started putting prisms on the surfaces but had to go home after only doing some parts (it was 2 AM at this stage!)
For the far-field region, I blocked it in Hexa, but accidently refined the blocks too many times, and ended up with 72M elements! Suprisingly, converting to unstructured did not kill the computer, but it did have to use hard disk space once the RAM ran out. It is good to know that we will be able to mesh massive models even if it takes a while.
All in all, I'm going OK working towards a massive mesh. Another friend has made a 17M mesh of this car using Workbench Mesh, but I want something much more accurate. I am still open to using more meshing tools to increase accuracy, I have seen some examples of TGrid, but have never tried it myself.
Havn't tried merging or solving the ICEM mesh so far, but I will keep you updated when I finally do.
We also have a Beowulf Style cluster of 200+ Quad Core computers that we use for solving (CFX). Unfortunately we don't yet have any 'good' ideas on how to use multi computers to mesh models. In the future, I'm hoping to develop a script to divide the model into small parts that can be meshed in parallel over many computers.
Thanks once again for all your help. It's great to get a professionals opinion to problems we have no experience solving!
As an update, Ive managed to get two really good meshes so far. The "inner field" is all meshed with tetras and prisms and comes to 16M elements, and the outer field is pure hexa structured (then converted to unstructured) and comes to 25M elements.
I am having problems merging the meshes into one single part though. I have opened one project and then imported the other mesh into that project successfully, but the computer I'm using only has 12GB of RAM, and an SSD. The two meshes are killing the RAM, and making things run extremely slowly. What is the easiest and best way to join two meshes together?
We run Ansys 12.1, and have only ever used the CFX function in Workbench. Is this the best way to import and run ICEM generated meshes?
Merging large meshes with limited memory
Definitely don't display the mesh ;^)
I am assuming that the interface part(s) are only used for the interface and the perimeters are all properly associated with curve associated nodes on both sides (tetra projected to curves because they were there when it was generated and the Hexa was intentionally associated to those perimeter curves).
In that case, just go to Edit Mesh => Merge => Merge Meshes.
For the frozen volume, don't select anything (or select the hexa volume material). It already knows to freeze the hexa and adjust the tetra. This option is only important if you are merging two tetra regions and you want one to be frozen while the other adjusts.
For the interface, select all the parts required. There can be multiple parts, or even different part names for the tetra and hexa sides of the same face (not how I do it, but it works). Just make sure that every part you select is part of the interface. If you pick a part that is not required for merging or if merging only happens part way across a part, you should expect trouble.
Then hit apply...
It is easy to use. On the other hand, if you do run out of memory...
One of the biggest memory hogs is the Undo/Redo buffer. For a big step like this, it actually saves the entire before and after so you could undo the merge operation. We have improved this memory handling at 13.0, but assuming you have 12.1, you should go into settings => Memory and either uncheck "Enable Undo/Redo logging" completely, or at least uncheck it for "Large Operations".
If that still doesn't cut it, perhaps we could reduce the memory by scripting instead of running it in the GUI... You could record a replay of a few steps (load meshes, merge meshes, output to solver) with a much coarser mesh (or even a simpler model as long as all the part names were the same) and then run the script in batch mode?
to run in batch, from the command prompt...
icemcfd -batch replayscriptname.rpl
Very nice advices!
I have managed to combine the mesh in ICEM. However, when I import the mesh into CFX, it shows up with walls between the inner and outer fields where I merged the two meshes together.
There is also a bounding wall in the outer field along the surface of one of my blocks. The block on one side of the surface was refined, and the block on the other side was left unrefined. Could this have caused a wall because the nodes did not match?
Also, the density between the inner and outer fields is quite different, could this have also caused a wall to form even though they have been merged?
I defined the near-far field wall as a fluid fluid interface, but the other wall from the blocking surface is a one sided wall, and cannot be changed.
Please see all attached pictures for clarification.
Once again, thanks for all your help
After merging meshes, you must still have quads between the volumes. you could delete those or call them a fluid fluid interface... Are the volumes on both sides in the same part or do you actually have different fluid part names?
CFX does not handle 2 to 1 mesh refinement (or hanging nodes of any kind). You would need to use a non conformal interface... or you could go back to hexa and use a 3 to 1 refinement, then convert the mesh to unstructured mesh and use "Merge Meshes => Resolve refinements". it will connect up the 3 to 1 transitions so they are node for node connected. Be warned that this still leaves you with a large volume size jump which may affect accuracy in CFX...
I am not really a CFX Solver expert. Perhaps you could also ask this question on that Forum to get a second opinion...;)
|All times are GMT -4. The time now is 10:23.|