CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   ANSYS Meshing & Geometry (http://www.cfd-online.com/Forums/ansys-meshing/)
-   -   [ICEM] ICEM CFD internal Wall by using structured Grid (http://www.cfd-online.com/Forums/ansys-meshing/77667-icem-cfd-internal-wall-using-structured-grid.html)

challenger85 June 30, 2010 05:26

ICEM CFD internal Wall by using structured Grid
 
Hi All

How is it possible to introduce an internal wall to a structured grid (coming from a 3D blocking)?

Normally, I perform the following steps:
1st. Create the Blocking
2nd: Convert the Mesh from the calculted Pre-mesh to an unstructured mesh.

Normally, one could use the option int wall in the Part Mesh Setup, which I tried several times: but in this case, it just didn't work with this comination I told.

Does somebody know, how one can get over these Problems?

Best regards
Challenger

zeitistgeld July 1, 2010 02:15

the internal wall option will only function when you are using tetra mesh. if you want to do it in the blocking strategy, you just name the interal wall as a serparate part and associate the internal wall surface with block face.

challenger85 July 1, 2010 04:12

Hello Zeitistgeld

Thanks first for your reply. The thing with the tetra Mesh and internal wall thing i figured out, but thanks for the advice.
Unfortunately, I cannot track the suggested way: I guess, I already did what you said. The point where the problems seem to be ist, that there should be 2layers of mesh, which have to be recognized. But, there is just one Face that can be associated... So, do you introduce two coincident walls, or what exactly are you doing? The prlbem is, that there should be a Part for the internal wall (1 layer of mesh) and a second one, lets call its shadow, which is coincident with the other layer. And this should be a part as well: so, in the end, you have 2 parts with the same information inside it, basically.

Can you give me some more advices how to proceed?

Best
Challenger

zeitistgeld July 1, 2010 04:56

Quote:

Originally Posted by challenger85 (Post 265238)
Hello Zeitistgeld

Thanks first for your reply. The thing with the tetra Mesh and internal wall thing i figured out, but thanks for the advice.
Unfortunately, I cannot track the suggested way: I guess, I already did what you said. The point where the problems seem to be ist, that there should be 2layers of mesh, which have to be recognized. But, there is just one Face that can be associated... So, do you introduce two coincident walls, or what exactly are you doing? The prlbem is, that there should be a Part for the internal wall (1 layer of mesh) and a second one, lets call its shadow, which is coincident with the other layer. And this should be a part as well: so, in the end, you have 2 parts with the same information inside it, basically.

Can you give me some more advices how to proceed?

Best
Challenger

When you import to the solver, let's say, FLUENT, the solver will automatically recognize it and seperate the internal into two coupled walls. You will see the note something like below when you import the mesh to FLUENT:


Note: Slitting wall zone 10 into a coupled wall.

creating part.1-shadow
Just have a try, you don't have to create two coincident walls in ICEM, just one and associate the block face with it. This will be recognized by FLUENT automatically. Good luck!

challenger85 July 1, 2010 07:47

Hallo Zeitistgeld

Danke vielmals für die Ausführungen.
Funktioniert wunderbar.

Schöne Zeit
Challenger

wallace December 16, 2011 05:26

Hallo Zeitistgeld,

I think I'm having the same problem. I want to model two circular (actuator) disks in a rectangular channel - pretty simple. I started by 2d planar blocking at the disk plane and then extruded the geometry and used 2D-3D in the downstream direction and extrude block face in the upstream direction. I now find that, as the initial planar block can only be associated to one part (e.g. "GEOM" of the channel cross-section), I can't define the internal walls for the two disks. When I convert to unstructured mesh to export to Fluent, the two disks are simply empty surfaces and the mesh is only contained in the part GEOM.
I didn't fully understand your previous discussion - is this only possible with tetrahedrals/tri-elements?! I've done my 2d mesh in quads and prefer it like that.

Also I'm new to IcemCFD - is there a better / easier way of doing this?

Look forward to your reply

PSYMN December 19, 2011 12:10

If you are outputting unstructured mesh, you can split the internal wall using an option under mesh editing...

If you are doing structured mesh (this will work for unstructured also), I think you should split your blocking into two sections (stationary and rotating) and export them separately. (someone else may have an alternate solution)

wallace December 22, 2011 17:32

1 Attachment(s)
Thanks for the speedy reply Simon,

Just to clarify, (for the moment at least) I'm just trying to mesh a stationary disk normal to the flow in a rectangular channel.

I solved the previous situation by creating parts and assigning blocks to them before right-clicking "pre-mesh" and selecting "convert to unstruct". I then used extrude mesh (using curve with nodes on it) to make the channel up- and downstream of the disk, and it was no problem to define the internal face of the disk (now a meshed part) as an interior wall when exporting. Icem does complain about the edges around the central plane being "connected to multiple cells" but Fluent doesn't mind.
Unfortunately, making the long channel using 3d blocks didn't work for me as associating the long blocks to the long geometry (channel length >> 20*d) was awkward.

I've attached a screen-shot of the next step I'd like to take with this model. That is: I want to add another interior wall to apply source terms in Fluent. As you can see, I'm planning just to model a quarter of the disk and channel, using symmetry conditions at two walls.

For the first case, it was easy to block the entire 2d area of the disk plane, and then convert to unstructured. For this second case, I don't think it's ideal to block the area outside the disk, now that the little circle is there.

I've tried the following (lots of detail so you can maybe see where I'm going wrong):

1) draw geometry: points, lines, build topology to make lines all split each other ... all in part "GEOM"
2) make surfaces: in new part "disk" for the quarter circle; "fluid" for outside the circle, and then using split surface with curve to cut out the little circle surface which I add to a new part "source".
3) 2d surface blocking, for surface "disk", associate lines to edges, adjust params as desired, then convert to unstruct
4) same again for the little circle in part "source", merge to existing mesh.
5) then I edit line meshes (under mesh tab) to set height and height ratio around the "disk" and "source" ... boundary layer kind of thing.
6) I've ticked "respect line nodes" in "global mesh setup" and I surface mesh the "fluid" area with patch dependent quads.

Now as you can see from the picture, it almost works well, but the boundary layer type thing doesn't work in the corners. I've tried to assign edge nodes to the edge of my fluid surface (which seems a bit of a poor fix), but these aren't respected by the surface mesher. I've gone back and added these two edges to the part "fluid" (all edges and points were still in the standard "GEOM"), set edge nodes again - still no success. Can you tell me what is wrong please.

I'm fairly sure it will be to do with associativity of lines, points, surfaces, meshes, blocks, volumes, parts, material points, etc., etc., etc., which I'm just having difficulty getting my head around. Can you tell me your approach to just what should be assigned to each part. Obviously not every part can have all its own edges, as e.g. disk and fluid share an edge. (By the way, if it helps explaining, I've just moved to IcemCFD, but previously understood Gambit quite well)

Sorry for the long post, but more information hopefully also helps other beginners follow!

Look forward to your reply

PSYMN December 23, 2011 16:52

Personally, I would just do the whole thing with Hexa blocking, but your way should work also and could probably get the job done with fewer elements.

I think the step you are missing is that your inflation on the outside of the large quarter circle is trying to match up to the curve distribution on the outer symmetry curves.

If you go into the Mesh tab, you can set the distribution of those curves. Set a small size at the one end and a growth ratio to match your height and ratio set on the curve its self. Then you should get what you want.

Be careful to note which end of the curve is side 1 or side 2.

wallace January 5, 2012 05:39

2 Attachment(s)
Hi Simon,

Happy new year! Thanks very much for your last reply. Unfortunately I still haven't got IcemCFD to do what I need.

Here's a further attempt, which works only when the curves curve.3 and curve.6 are added to the part GAP which includes the surface srf.01. As you can see I've put edge nodes on the curves curve.3 and curve.6 which have the identical distribution (spacing and ratio) to the edge inflation of curve.05 (height and height ratio), as you said.

You can see in the image that the line elements on curve.3 are respected, but horribly in the corner, and those on crv.6 aren't - despite (as far as I can see) identical treatment! The log window includes the message:

ignore non-unique elements on curve "curve.01"
ignore non-unique elements on curve "curve.02"
ignore non-unique elements on curve "curve.3"
ignore non-unique elements on curve "curve.6"
...

Have I missed some tick-box?!

In the meantime, I'm simulating using an blocked mesh as you suggested (see attached file) but I feel there are situations like the current one where mixed surface blocking and unstructured surface meshing are more suitable and convenient.

PSYMN January 5, 2012 11:59

I assume you are inflating curve 5 with the "width" parameter on the curve?

I do not understand why the inflation continues up curve6. It should go perpendicular into curves 3 and 6.

One possibility is that your "Mesh (tab) => Global Mesh Setup => Shell Meshing Parameters => Patch Dependent => Ignore Size" is set to larger than the small initial spacing you have on that curve. This would cause it to ignore the curve size. If it is set to the same as the intial size, then perhaps significant figures are the difference between the behavior seen on 6 or 3.

As for your hexa meshing solution, are you aware that you can convert mapped blocks to free? You could use 100% blocking and still have free paved tri mesh in your far field. This is done under Blocking (tab) => Edit Block. You can change those blocks to free, change the free block type, merge or split free blocks, etc. to get exactly what you want. You would use Ogrid for inflation. For 14.5, we are working on hooking up the option to use the Gambit paving algorithm and sizing function on these unstructured hexa blocks, but for now, it uses the same recursive loop paving algorithm as patch dependent.

Far January 5, 2012 12:48

Quote:

we are working on hooking up the option to use the Gambit paving algorithm and sizing function on these unstructured hexa blocks, but for now, it uses the same recursive loop paving algorithm as patch dependent.
So it seems that GAMBIT is better in some options :) But after all Gambit is now Ansys Gambit and ICEM is already ANSYS ICEM

PSYMN January 5, 2012 21:28

All the Gambit developers are still hard at work improving ANSYS meshing technology...

wallace January 12, 2012 06:25

5 Attachment(s)
Quote:

Originally Posted by PSYMN (Post 338008)
As for your hexa meshing solution, are you aware that you can convert mapped blocks to free?

Thanks for pointing that out. As all the tutorials use blocking for structured meshes only, I didn't imagine that paving would be possible in blocks - in the meantime I've finally read the chapter on blocking in the help guide :o

So I was able to achieve the face mesh I want at the disk plane as shown in the images, both from a top-down approach starting with a 2D planar block and lots of splitting and merging, or much more simply by starting with 2D surface blocking (replay file included). Is there actually any difference between 2D planar and 2D surface blocking?

Ultimately though, I need a 3D mesh, where I basically want to extrude this surface mesh upstream and downstream of the disk. My old method is to convert this blocked surface mesh to unstructured and then use the Extrude Mesh option under the Edit Mesh tab. But I know from reading other forums that you're a fan of blocking and creating this simple 3D mesh must be possible with blocking too, right? - Importantly, this would also improve the script-ability.

I've added the basic geometry - rectangular box upstream and downstream of the disk plane, but I can't get any of the 2D-3D operations to do what I need. I tried a combination of the 2D-3D Method Translate followed by Extrusion of the Faces to achieve the two directions (upstream and downstream): Result Extrude Face fails.

I thought Fill with Fill Type Swept would work as I was able to use this to reproduce the image on pg. 345 of the help manual (V13). This requires all the surfaces to be meshed first which is a hassle, because I couldn't add new surface meshes to the 3D geometry without deleting my disk plane mesh. So I started again but: Ogrid failed to put an inflation Ogrid around the disk, and again only one side of the disk plane was meshed.

From my Gambit days - I'm just looking for the Cooper tool :D. Am I approaching the whole thing wrongly :confused:

I really appreciate your help and I'm really keen to get started 3D blocking!

I've included replay files to show what I've done so far. They're run one after the other: 2D_geometry, 2D_surface_blocking, 3D_geom

wallace January 13, 2012 13:35

Hi Simon

Here's an update on the problem: It's the "free" (unstructured) surface that can't be extruded upstream. Everything else works fine: Translating my disk plane surface mesh (structured and unstructured blocks) downstream and extruding the structured faces upstream. Mirroring the downstream blocks upstream also has the same result - the structured blocks mirror fine, but the unstructured block just gets ignored.

So, using the bottom-up meshing approach, it seems to me there is no way to have an unstructured swept hexahedral block on two sides of a thin internal wall (same sweep direction, obviously). This is something that is commonly useful, e.g. baffles in ovens, heat exchangers, etc.

Or is this somehow possible using MultiZone Fill? Is there another possible approach using Hexa blocking?

PSYMN January 13, 2012 14:14

That may be something that was fixed for 14.0, I don't recall and I am too busy today to test it. I will pass this link to one of our fantastic testing people and see if they can try it out.

wallace January 19, 2012 11:59

Hi Simon,

Thanks for passing my query on to the testing team. In the meantime, I tried yet another approach: Starting from the 2d surface mesh on the disk plane I translated this first downstream and saved the 3D blocking, then repeated this to save the upstream blocking, converted it to unstructured and loaded in the previously saved downstream blocking. I converted this also to unstructured, selected merge to existing mesh and tried to export to Fluent. In Fluent, the mesh at the disk plane could not be changed to interior - it was seen only as a wall. So I went back to ICEM and used the merge meshes function under edit mesh as in the v11 tutorial for a hybrid pipe mesh. This worked, but although the two volume meshes started from the identical surface mesh, ICEM used pyramids and tetras at the interface - which I obviously want to avoid!

I conclude again that ICEM (v13) just won't seem to allow swept meshes either side of an internal wall. :mad:

So I'm really keen to hear if this is possible in v14, or if you can think of any other approach.

By the way, would it be possible to get the hold of some other HEXA tutorial files, e.g. hexaadv.prj, tetin.port described in the presentation "Advanced HEXA features"?


All times are GMT -4. The time now is 03:51.