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] Octree not respecting curve parameters (http://www.cfd-online.com/Forums/ansys-meshing/107534-octree-not-respecting-curve-parameters.html)

siw September 30, 2012 07:35

Octree not respecting curve parameters
 
1 Attachment(s)
Hi,

I know that the octree method is patch independent but in the ICEM Help Guide it says that the octree method uses the curve parameters: max size and number of nodes (see image).

I was trying a few things in ICEM today by making a cube and assigning surface and volume sizes for octree. I also assigned a quantity of nodes to one of the cube curves (which would refine the mesh cell at the curve). I ran Build Topology and then ran the octree method but the mesh did not respect the curve nodes. Next I assigned Mesh Curve to the curve with the number of nodes and re-ran octree. But again the mesh did not respect the nodes on the curve.

This must contradict the Help Guide. Or am I missing something?

The reason for trying this is that I need to make a complex hybrid mesh and on some surfaces it would be better to use the autoblock surface method to make structured isotropic and anisotropic quad cells (then split them into tri cells). But on other surfaces I will have to make unstructured tri cells (and the best way to do that is to make an octree volume mesh and delete the volume cells and only the surface cells which will be replaced by the autoblock method - thereby leaving only the unstructured tri cells). Many topics already cover that using octree in this way makes the best quality unstructured surface mesh. So I will need octree to respect the nodes so that the two surface methods are conformal.

Thanks

PSYMN October 1, 2012 10:31

The Octree mesher algorithm sees the size on the curves the same way it sees surface sizes. If the size on the curve is smaller than the current octree size, it divides again... In this way, curve sizes can refine octree, but you won't necessarily get the distribution you want.

If you want that sort of control combined with octree you have a few ways to get it...

1) you could start with patch conforming. Make sure the surfaces you want meshed with patch conforming are in different parts from the rest of the surfaces. Mesh those with patch conforming mesh (selected surfaces). Then go to OCtree and use the option for "Use Existing Mesh Parts". You select the parts you already meshed and Compute. Behind the scenes, it will mesh those parts as normal, but then replace the surface mesh with the mesh you already generated and "make consistent" to replace the surface mesh and align the octree volume mesh to it... As a final step, I usually run Delaunay with the TGlib AF option.

2) Knowing what the above does, you could work it out as separate steps. You could mesh your octree tetra as normal, then load the adjacent mesh and merge meshes or Repair => make consistent. Again, part assignment (distinction) is important for selecting where the mesh is aligned.

PSYMN October 1, 2012 10:32

Oh yea, I will get them to fix that incorrect doc...

Thanks for pointing it out.

siw October 1, 2012 14:48

Thanks for the information Simon, yep that table in the Help Guide gave me the wrong idea of what happens. You should document all this useful knowledge in an ICEM guide annex since the Help Guide lacks so much detail compared with the other ANSYS documents.

I'll give these a try but I have found that the patch conforming surface mesher fails on the simplest of shapes - such as a hemisphere surface for an external aero farfield boundary. Even though the geometry is water-tight and Build Topo is good.

Otherwise, it's back the ever futile attempts at hexa blocking. I lost my weekend in the office trying to block this geometry and ended up on sunday evening at the same place I was on saturday morning.:mad:

PSYMN October 1, 2012 16:12

It helps to understand how each algorithm works (explanations are provided under the theory sections of the doc)...

The patch conforming algorithm starts by extracting loops from each surface (or group of surfaces) and then it seeds the perimeter with the curve node spacing.

Then it meshes the perimeter with line elements.

Then it uses a recursive loop paving algorithm, projected to surface, to lay out the shell elements.

If you have something like a hemisphere or seamless cylinder, it can't really figure out the projection or edge sizing (respectively). The fix is to subdivide the curved shapes using tools provided under geometry => Repair. Once subdivided, patch conforming should have no trouble meshing those shapes.

diamondx October 1, 2012 22:59

Quote:

You could mesh your octree tetra as normal, then load the adjacent mesh and merge meshes or Repair => make consistent.
By load, you mean meshing the surface a part, save it in a mesh file. and mesh the other part, open the saved mesh, select merge, then do the repair ? it's sounds like a boolean operation ! am i right ?

diamondx October 1, 2012 23:07

Quote:

I lost my weekend in the office trying to block this geometry and ended up on sunday evening at the same place I was on saturday morning.
I smiled when i read this.
I felt happy because i was like "oh i'm not the only one"
I know exactly how you feel and it just happened to me too this week end.
Good luck...
If it's not confidential, i'm curious to know how it looks like, may be some of us can give you a blocking strategy ?

PSYMN October 2, 2012 10:19

Quote:

it's sounds like a boolean operation ! am i right ?
A boolean operation is when you add two volumes or subtract one from another. With most geometry or meshing tools, this is really talking about changing the definition of the body, rather than just sitting two bodies next to each other.

Usually, users are asking how to subtract one volume from another so they can mesh the new region defined by the space between the bodies. In ICEM CFD, we just place a material point between the volumes and flood fill. We don't change (or even recognize) the body definitions.

In this particular case, we are just talking about meshing two volumes separately and then then merging the mesh on the shared face. No volumes were "unioned" or anything like that. We just made the nodes line up and then merged them. ;)

cfd seeker October 2, 2012 11:26

Quote:

you could start with patch conforming. Make sure the surfaces you want meshed with patch conforming are in different parts from the rest of the surfaces. Mesh those with patch conforming mesh (selected surfaces). Then go to OCtree and use the option for "Use Existing Mesh Parts". You select the parts you already meshed and Compute. Behind the scenes, it will mesh those parts as normal, but then replace the surface mesh with the mesh you already generated and "make consistent" to replace the surface mesh and align the octree volume mesh to it... As a final step, I usually run Delaunay with the TGlib AF option.
So by this way tetra will take sizes from the curves and these curve parameters will be fallowed all along the surface b/w the two curves isn't it?

siw October 2, 2012 12:39

diamondx,

no I cannot show the model as it is commerically sensitive. So I have to use generic examples (such as Far's 1/4 missile topic) to get assistance with my model when asking questions here.

PSYMN October 2, 2012 16:24

@CFD Seeker...

No, I wouldn't say that tetra takes the curve distributions... The patch conforming surface mesher does... Then we make the tetras conformal to that... But yes, in the end, you have a tetra/tri mesh that lines up with your specified curve node distribution...

siw October 3, 2012 03:46

1 Attachment(s)
To get the patch conforming tri cells to respect the nodes in a curve do we need to use the Mesh > Mesh Curve at all?

Also, the smoothing of the patch conforming surface elements detaches them from the nodes (note: I don't smooth the adjacent autoblock surface mesh). How can the node conformance be fixed during smoothing?

Thanks

PSYMN October 3, 2012 09:58

@SIW

No, you don't need to use the curve meshing option unless you only want to mesh the curves (this happens a lot in the FEA world. For instance, they may want to simulate the fluid flow by placing a curve down the middle of a pipe and generating elements on it... They tie those in to the surrounding FEA mesh as a sort of connected 1D CFD component to improve the accuracy of the cooling...)

If you want to keep a particular distribution while smoothing, you can control it at the smoother by freezing triangles or a particular part or subset. Or you could go into move nodes => Lock Elements. You could lock triangles or just the line elements between the nodes. Note that for some reason, a node is only locked if you choose the line element on both sides of it.


All times are GMT -4. The time now is 06:55.