CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   ANSYS Meshing & Geometry (https://www.cfd-online.com/Forums/ansys-meshing/)
-   -   [ICEM] Hybrid mesh for 2D boundary layer (https://www.cfd-online.com/Forums/ansys-meshing/92668-hybrid-mesh-2d-boundary-layer.html)

Bigio September 21, 2011 08:06

Hybrid mesh for 2D boundary layer
 
2 Attachment(s)
Hy Guys,
I am trying to do an hybrid mesh around an airfoil to do a viscous analisys with fluent; I tried to do thta i some manner but everyone of this doesn't work well.
Solution 1: I scale my profile to do the boundary layer region and i mesh this space with an hexa mesh using the bocking startegy( blocking--> 2Dplanar) and the i mesh the external surface with an unstrucutured mesh, and this work but the problem is that when i export it into fluent the bpundary between the BLayer and the external surface is seen as a wall( this is i think because in the region between the airfoil and the boundary there is no surface, so i try to make a surface also in this region, but when i mesh the external surface with unstructured icem mesh also the internal surface)

Solution 2: I meke an unstructured mesh in all the field and i make the boundary layer using curve mesh stup--> height,ratio,layer and this work well but gave me problem at the trailing edge.

I post two images, i hope someone could help me, It's vey important.
Thanks
Andrea

PSYMN September 22, 2011 09:00

Remove the line elements
 
Lets fix your first approach since the offset method is really more for FEA users making bolt spiders...


A wall just means you have line elements in 2D... These formed when you created the hexa mesh (when you associated the blocking to curves and then converted to unstructured mesh, you got line elements along those curves), which was good because the paving method used those line elements to make sure the new mesh fit to the previous mesh...

You just need to do a couple more steps at the end to get what you want...

1) assuming this will be one fluid zone, you must put all the shells in the same part (such as FLUID). If you don't Fluent will expect you to have a wall between the zones and will give you an error if you remove the line elements...

2) Remove the line elements between the quads and tris... If you know the part name of your offset curve (and if this name is not used elsewhere) you can just Edit mesh => Delete mesh => Select by part. If the offset curve is in the same part as the airfoil curve (whose line elements you absolutely should not delete), then you could just turn off all the other element types except line elements and use the box select to delete the line elements of the offset curve.

Remember, line elements are very important to Fluent. You must NOT delete the line elements around your perimeter. Fluent needs those for bocos and will give you a variety of errors (such as null pointer) if you delete any of those.

Actually, I guess if your offset line elements were in a unique part between elements of the same part (FLUID), you could just turn it into an internal wall... But there are usually multiple solutions to any problem.

Bigio September 26, 2011 10:34

3 Attachment(s)
Hi Simon,
thanks for your replies to my threads.
In reference with the last one ('hybrid mesh for 2D boundary layer') I did my job in another way, different from your.
I did an hexa mesh for the boundary layer with a 2D planar blocking, then I did my farfield and I made an overall surface into that. I cut the surface into the airfoil and i leave the surface between the airfoil and the boundary layer calling him 'stlim', the rest of the surface, betwen the boundary layer and the external domain is called fluido. Then i make some subregions for the refinement of the mesh and i create the unstructured all tri mesh with the 'respect line element' enabled, and the results is good. But the lines that delimitates the subregions are for me only construction line and they shouldn't have seen from fluent, so i export my mesh in fluent and i gave to these lines ( for examples the red line delimitating hexa and all tri mesh in the following picture) the 'interior Bounday Condition', do you think that this approach could be correct ?
Thanks a lot
Andrea

PSYMN October 3, 2011 14:50

Delete the line elements.
 
Yea, if you don't mind the work, this is a great example of the flexibly of a tool like ICEM CFD.

Your only problem is that you still have line elements between your regions and Fluent is seeing these as walls. The fix is easy.

1) make sure your shell elements are all in the same part (aka zone in fluent), otherwise you will have trouble with the next step...

2) Delete all the line elements from the construction curves (and only from the construction curves since you need them elsewhere). You can do this by part if they were done with a unique part name, or you can just turn off all the other element types and select the lines manually with a box. Once these line elements are gone (assuming the parts on either side are the same) you shouldn't have any trouble.

3) another option is just to define the lines as "internal walls" for Fluent, but I would just delete them.

Mmc December 31, 2012 11:31

Boundary layer zone creation for an airfoil
 
Hi Andrea,
How did you manage to create the region of the boundary layer by scaling the airfoil in icem? I have tried geometry/transform geometry/scale but the created curve is not satisfactory, it does not create a "parallel" airfoil with constant distance from the original airfoil.
Thanks,
Manuel

jiejie March 15, 2013 20:34

Hi Bigio and PSYMN

I am trying to build a simple hybrid mesh of a circular flow domain with wall around it as I am trying to simulate a stationary vortex (an inner circle-vortex core + an outer circle around the core). I meshed the vortex core which is unstructured (orange region). Then, I meshed the outer region, which is structured. Then, I load both meshes together and merge them by icemcfd. However, when I load it into OpenFOAM, the interface between the two meshes become undefined surface with type wall. I tried to delete the interface in icemcfd, but I got some unclosed the surface error. I just wonder how should I merge the two mesh properly so that I would not have these undefined surface at the interface?

I will try to attached the picture shortly.

Thank you.

jiejie

PSYMN March 16, 2013 08:46

If the two volumes are different materials it will expect a wall between them.

You can handle that in the solver (just call it an internal wall), or you can put all the volume elements into the same volume part and remove the wall (assuming the nodes are merged).

jiejie March 16, 2013 17:16

1 Attachment(s)
Quote:

Originally Posted by PSYMN (Post 414387)
If the two volumes are different materials it will expect a wall between them.

You can handle that in the solver (just call it an internal wall), or you can put all the volume elements into the same volume part and remove the wall (assuming the nodes are merged).

Hi PSYMN

Thanks for the quick reply. When I created two meshes, I define both flow domain as FLUID.

I tried to remove the "interface" wall, but it cause open cells in this case. As I am doing a 2d mesh, there is no volume element in this case.

I have attached the mesh here: the orange is the vortex core region and pink is the outer region. I created them separately. After I merged them, the interface between the two meshes become a wall.

Thanks

jiejie

PSYMN March 17, 2013 12:43

The same rule applies with one dimension less. You can't have a zone like "Core", adjacent to another zone, without something between them to apply the boundary condition to. This is just a basic need of the solver.

If the core and the surrounding quad mesh are node for node conformal mesh and your only problem is boundary between them, just put all the shell elements in the same part. For instance, put it all in CORE, or create a new Part called FLUID and put all the shell elements in that. Don't put the line elements or point elements in that FLUID part, they need to be in separate parts so you can apply boundary conditions.

jiejie March 17, 2013 18:05

Hi PSYMN

Unfortunately, the core and surrounding nodes at the interface are not conformal. What should I do in this case? or what should be the correct procedure to produce such a mesh in this case?

Thanks a lot.

jiejie

PSYMN March 17, 2013 20:43

You could go with a non conformal interface. Or you could use the edit mesh => Repair mesh command to sew the meshes together...

If it were me, I would probably have generated the core mesh after the hexa mesh and would have just started from the perimeter so it would have been generated conformally. It is mostly just a matter of doing things in the right order.

How did you generate the core mesh?

jiejie March 17, 2013 20:46

Hi PSYMN

I generated the core mesh and outer mesh separately as in two separate icem project, then I load the two mesh into a new project and try to merge them together.

For the core mesh, I create a 2d circle with surface and then mesh it with the unstructured tri-elements.

I think my problem is how to mesh the two region. In my case, I can mesh the outer region with the proper block topology and I define a material point in the out region as "FLUID". Then, the problem appears as I move on to mesh the core region. If I tried to mesh the core region with unstructured mesh by "Mesh" -> "Part mesh setup" -> "Computer mesh", icemcfd will remesh the outer region as well as the outer region was in the "Part mesh setup" as well. Or should I define a different material point in the core region? I think my problem is no matter which part I mesh first, this part will be overridden by the second part of the mesh.

jiejie

jiejie March 17, 2013 23:22

Hi PSYMN

I think I fixed the problem I had previously by trying a coarse two region mesh and I will try a properly built one. Now I can mesh both region together by shifting the body (material point) from the one region to the other. In my case, I mesh the outer region then the core region.

Thank you very much for your time and help.

jiejie

PSYMN March 18, 2013 07:25

In 2D meshing, the body (material Point) is irrelevant.

But if you load your quad mesh and mesh the core region afterward with the option to "respect line elements", the mesh in the middle will be generated conformal with the pre-existing mesh.

jiejie March 20, 2013 00:42

Hi PSYMN

The material point is irrelevant for 2D mesh (almost forgot it after a lot of 3D meshes) as I managed to create the mesh without moving the material point.

I am also curious about the merging mesh you mentioned. I load the core region mesh. Then load the outer region mesh. After I chose the 2nd mesh (outer region), icem asks whether I want to merge them together. However, I could not find the option to "respect line elements"?

Thanks

jiejie

Far June 28, 2013 11:42

Quote:

Originally Posted by PSYMN (Post 326525)
Yea, if you don't mind the work, this is a great example of the flexibly of a tool like ICEM CFD.

Your only problem is that you still have line elements between your regions and Fluent is seeing these as walls. The fix is easy.

1) make sure your shell elements are all in the same part (aka zone in fluent), otherwise you will have trouble with the next step...

2) Delete all the line elements from the construction curves (and only from the construction curves since you need them elsewhere). You can do this by part if they were done with a unique part name, or you can just turn off all the other element types and select the lines manually with a box. Once these line elements are gone (assuming the parts on either side are the same) you shouldn't have any trouble.

3) another option is just to define the lines as "internal walls" for Fluent, but I would just delete them.

Hi Simon.

Greeting. I found both solutions useful and making a tutorial on it. 4

I have one question, is it possible to add density in tetra mesh ?

sadjad.s June 28, 2013 12:23

question
 
hi ahmed,
you mean "tri"?

Far June 28, 2013 12:30

yes :D and tetra (patch dependent)

sadjad.s June 28, 2013 13:05

Answer
 
i tried it already and my experience says that:
Density boxes are just for 3D.
For getting smaller mesh in particular regions in 2D, separate those regions in other surfaces and mesh them separately with smaller mesh size.
It seems that absence of Gambit Size function is sensible, particularly in 2D cases.:(

Far June 28, 2013 13:09

yeah, I am also missing gambit size function speically in 2d

PSYMN June 28, 2013 13:19

Agreed... You should try ANSYS Meshing with patch conforming meshing if you want to get your Gambit Size function like behavior back.

Far June 28, 2013 13:24

Dear Simon

Any plan to implement gambit tri pave and gambit size function in ICEM?

PSYMN June 29, 2013 10:10

Sort of... It was implemented in Multizone. Multizone uses the Hexa framework, but when you have an unstructured block or paved face, it can use the gambit sizing function...

But I don't expect we will be hooking up the Gambit sizing function to the patch conforming mesher directly... Instead the direction is forward with ICEM CFD technology being hybridized with gambit (and other) technology in future products.

This is probably because users who want surface mesh to respect a sizing function can just use patch independent in ICEM CFD, which does respect the sizing function and also includes patch independence.

sadjad.s June 29, 2013 10:20

Quote:

Originally Posted by PSYMN (Post 436757)
This is probably because users who want surface mesh to respect a sizing function can just use patch independent in ICEM CFD, which does respect the sizing function and also includes patch independence.

Hi Simon,
By "Size function" you mean Curvature/Proximity Based Refinement?

PSYMN June 29, 2013 10:22

Quote:

Originally Posted by sadjad.s (Post 436759)
Hi Simon,
By "Size function" you mean Curvature/Proximity Based Refinement?

Yes, that is the ICEM CFD size function. It works with patch independent tetra and surface mesh.

sadjad.s June 29, 2013 10:25

Question
 
But it is different with Gambit Size Function except for name.;)

PSYMN June 29, 2013 10:47

Yes, the ICEM CFD and Gambit Sizing functions are different code, independently developed, but for the same purpose.

TO me, the main difference is that the ICEM CFD tetra mesh is octree, and the mesh actually shows the sizing function directly. With Gambit, they actually run a size function controlled octree in the background and then use that to indirectly guide the patch conforming and delaunay mesh generation.

So the difference is less about the size functions and more about how the mesh uses the size function.

Far June 29, 2013 10:57

But the gambit mesh stick (and more uniform) more to surface as compared to ICEM even though they are also using octree, denauly etc. e.g. mesh on high aspect ratio wing

Quote:

TO me, the main difference is that the ICEM CFD tetra mesh is octree, and the mesh actually shows the sizing function directly. With Gambit, they actually run a size function controlled octree in the background and then use that to indirectly guide the patch conforming and delaunay mesh generation.
What is differnce between size function controlled octree and octree with size function?
I thought gambit needs the surfaces mesh first and that is patch conforming (as gambit is bottom up mesher).

When it uses dalaunay mesher?

Far June 29, 2013 11:38

Ok. Here is full tutorial on hybrid 2d meshing in ICEM CFD. Everything is attached with post. Hope you will like it.

https://dl.dropboxusercontent.com/u/..._2dairfoil.rar

sadjad.s June 29, 2013 13:24

explanation
 
Quote:

TO me, the main difference is that the ICEM CFD tetra mesh is octree, and the mesh actually shows the sizing function directly. With Gambit, they actually run a size function controlled octree in the background and then use that to indirectly guide the patch conforming and delaunay mesh generation.
I think this post of Simon totally explains what Gambit does in Size function.
But the point is in 3D cases, with a little more job, by making nested densities we can get that size function. And it is actually just similar to what we get in gambit.

Quote:

Ok. Here is full tutorial on hybrid 2d meshing in ICEM CFD. Everything is attached with post. Hope you will like it.
I would donate if I could due to these free and complete tutorials.:) Thank you.

Far June 29, 2013 13:36

Quote:

But the point is in 3D cases, with a little more job, by making nested densities we can get that size function. And it is actually just similar to what we get in gambit.
Thats the whole point. one of my friend is making surface mesh in gambit with very good and nice looking surface mesh in gambit with size function and also volume mesh with size function. The mesh density is very much fine where they want and mesh is much more uniform.

And then they take it to icem where they create geometry and insert 3d prism layers which is almost impossible in Gambit.

What I feel is that with ICEM Octree and patch independent surface mesh you can mesh a very complex geometry within few hours while in gmaibt you need detailed working in defining size functions for edges, surfaces and volumes. Sizing on each edge. Still Gambit has difficulty in making volume mesh. Moreover it does not support heavy meshes and hangs often.

Only requirement of ICEM is that you should know the appropriate settings for your model ;) which I find some times difficult to get in first place.

Far June 29, 2013 13:42

Quote:

I would donate if I could due to these free and complete tutorials.:) Thank you.
I should have said that, this tutorial is based on instructions by Simon

kozalp January 9, 2014 10:26

Quote:

Originally Posted by Mmc (Post 399555)
Hi Andrea,
How did you manage to create the region of the boundary layer by scaling the airfoil in icem? I have tried geometry/transform geometry/scale but the created curve is not satisfactory, it does not create a "parallel" airfoil with constant distance from the original airfoil.
Thanks,
Manuel

Hey Manuel,

Since your curve has a varying slope, you can't have a perfect boundary layer jus by scaling. If you look carefully the boundary layer which Andrea did, the distance between BL and geometry varies.
You can have a fine BL by scaling with different x and y offset coefficients.

If you want a perfect BL, you can do it following this steps:

1) You should know the equation of your curve or at least coordinates of points.
2) Then you can find slopes at given points by taking the first derivative of your curve equation or numerically deriving by using points.
3) Then calculate your max boundary layer thickness by using BL equation.
4) Find the points which will lay on your boundary curve by using the slope at each point and BL thickness.

I did it in excel. It takes time but, for me it was the only way to do it.

jainanup27 November 18, 2019 09:15

Quote:

Originally Posted by Far (Post 436771)
Ok. Here is full tutorial on hybrid 2d meshing in ICEM CFD. Everything is attached with post. Hope you will like it.

https://dl.dropboxusercontent.com/u/..._2dairfoil.rar

Hi Far,

I am not able to open the file. Can you please share it again?


All times are GMT -4. The time now is 12:58.