2D Surface Blocking
I'm struggling to come up with a defined method to consistently create my mesh using 2D surface blocking.
I have a two phase system, sand and air. Here is a picture of the geometry:
The lower rectangle is filled with sand while the upper portion is air. Therefore I create two surfaces, one for the air and one for the sand. The blue wall is an inlet and the green wall is an outlet. The yellow wall is just an interior wall between the solid and gas.
1. When creating the surface, I choose create from curves. However if I select curves such as the inlet and outlet to define the surface it inherits those parts (with the inherit part unchecked). If I do not use those lines to define the surface, when I mesh it the nodes do not align with the points at the inlet and outlet.
2. When I create the block from the surfaces, the air block is free. Therefore I cannot split it or add vertices to define where the inlet and outlet is. What is the proper way to do this? (Has to do with question 1 as well) I have used "add to part" to add the sections of mesh to my inlet and outlet; however the nodes of the mesh do not exactly match up with the points defining the inlet and outlet.
3. When converting it to an unstructured mesh, some of my boundaries (walls shown in red) remain as lines and the others become part of the fluid (either sand or air). How can I prevent this from happening?
4. When I import the mesh into FLUENT, the interior wall will not convert to interior because it states "zone _ only has one adjacent cell thread". What is the proper way to get around this?
Thank you in advance!
By splitting the upper half of your geometry into approximately 9 parts, and creating a structured mesh for each part, you should be able to get around all the issues you have mentioned.
The lower half of the geometry remains as a single block.
Hope this helps. Let me know if you need to me elaborate further on how the upper half needs to be split.
Is this a duplicate post? I thought I had already replied to this one with images, etc. If not, maybe something went wrong on the upload. please let me know and I will find it and post it again...
Simon: This is the same geometry as before, but my last problem was the parts not carrying over into FLUENT when imported. I had it "fixed", but no necessarily the proper way. The way that it was "fixed" was by selecting 'add to part' on the inlet/outlet then selecting the mesh that corresponded to them. However, the nodes of the mesh did not line up exactly with the points defining the inlet/outlet, so I believe it is not the correct way to handle the problem. I think the route cause of my problem is the method of meshing.
I have attempted blocks with a structured mesh, but I get loads of problems when I import it into FLUENT. I will attempt it again and show my steps to see if maybe I'm missing something.
This is my attempt at blocking:
It meshes fine in ICEM and appears to be good. Here is the mesh:
However, when I import it into FLUENT I get the following message:
FLUENT received fatal signal (ACCESS_VIOLATION)
I believe blocking is the correct way to go about this, but unfortunately I havent been able to get it to work.
Thanks for your help,
Associate Boundary Edges?
OK, so your blocking is probably correct. I don't recognize that error, but lets try the usual suspects...
The first mistake most people make when 2D blocking is forgetting to associate edges to curves... Have you done that for the complete boundary? Only associated edges result in mesh line elements in the name of the boundary.
Second, I can't see how you blocked it. If you did it top down, you will be fine. But some users try bottom up and end up with unconnected blocks. Can you right click on shells and display the diagnostics for single edges? I just want to make sure that the blocks are connected.
Not sure what else without looking at the actual model...
Yes I made sure to associate all the edges. It can be seen in this picture. This is just the edges and blocks with association shown.
I did the diagnostics and got this:
Im not sure what this means, so hopefully you can help interpret this.
As far as top down or bottom up. My procedure was to start with a 2D planar block then split it to the desired blocks. Im not sure what the top down or bottom up procedures are...
Yes, it looks right... The yellow edges show you only have single edges around the perimeter, which is what we should expect.
Top down means to start with the initial block and split it. Block connections are maintained naturally. (This is what you did). The option is to start with creating blocks for each region, in which case you would need to join the blocks intentionally...(which is easy to forget).
That does not seem to be your problem here... I will think about it.
I spent a few minutes on this today, and found the issues very quickly...
I started with a check mesh, which found some overlapping elements. I then did a quality check and found that a number of quads had been collapsed into wedges (incorrectly).
Here are some pics of my the issues I found...
This first one is the quality check that quickly clued me in to the problem areas...
This next is a zoon in on the wedge... It should be a wedge, but you can see on the left that there are only quads in this model, there are two closely spaced verts at the tip and quality is bad.
This zoom in shows more collapsed quads...
And down here too...
After I fixed the above by extending splits and moving one over, you can see the bottom separated out, but the top is misaligned... I ended up merging away that problem, and several others...
I started trying to unravel it and solved most of the problems, but there was one that I couldn't unravel... Eventually I started over. Since I can only attach 5 pics at a time, I will jump to the next response...
A little bit more on the mis-adventures...
Here is one more image of my attempts to clean up the blocking... here I am deleting a station (merge nodes, propagate), after extending one of your mystery splits to clear up the collapse on the top surface of the incline...
Eventually, I got my self stuck (the mesh looked fine, but there was an error and trick I had to do...). I will send you that anyway.
I decided you must have done this quite strangely.
There are two good ways to block this. One involves a few extra splits... one index for the space below the wedge, one for the wedge and one for the incline solid its self... Similarly, there is a vertical split to capture an index for the wedge offset... then you would collapse, etc. it is a hassle.
The easier way is to create a CGrid to represent the space under the incline... That is what I did. I will send you a replay script of the process.
Oh yea, one other thing I did was create surfaces for your air and porous regions... It is just personal preference, but I prefer working with some surface geometry rather than just curves.
Ok, so once I had decided on the CGrid to capture the solid portion (gap) of the incline, I had a few more decisions to make...
There are a variety of ways to handle the boundary layer around the incline...
First is to collapse the Wedge Hblock and delete the end Ogrid block, then create a 2D block from verts... it looks great (good quality), but messes up the index a little and I thought it may be challenging for some users... So I just hit undo and tried something more straight forward...
Then I thought, how about I just collapse the corner ogrid block (like merging the verts on both sides). This worked well, but the corner quality will be only half as good as the previous method... (same angle constraint shared by 2 quad elements)
I got distracted and work on other stuff for a couple hours, during which I accidentally shut down ICEM CFD without saving ;^) But now, just near the end of my day, I came back and blocked it again quickly, this time I decided to just leave the wedge out of it...
This final strategy was simple and robust, the only issue could be a sudden size jump if I put a very small initial size on that Ogrid, at least near the wedge... but since you probably won't have too much interesting stuff going on in there, I thought it was ok...
I didn't spend too much time adjusting the distributions, etc. you can do that later.
Anyway, then I setup for output to FLUENT... Careful to set 2D, etc.
And read it into FLUENT... Also turning on 2D...
I will send you the files.
|All times are GMT -4. The time now is 07:00.|