CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Moving unstructured mesh with changing topology (http://www.cfd-online.com/Forums/openfoam-solving/58925-moving-unstructured-mesh-changing-topology.html)

meaton April 26, 2008 07:23

Heya! I am an OpenFOAM newbie
 
Heya!
I am an OpenFOAM newbie and currently I want to evaluate whether I can use OpenFOAM to simulate the flow of a melting material, the initial structure given as an unstructured tetrahedral mesh. The flow results in strong mesh deformation, for example pinching off drops or recombination of drops falling onto other material.
Because the initial structure is very nested, and it fills only a small fraction of a circumscribed box, I want to use a surface tracking solver rather than the volume-of-fluid approach.

I'd appreciate if you help me get started by answering these two questions or of course suggesting anything that you think could ease the solution:

1) This is the simple one. Are there any (documented!) examples how to have OpenFOAM operate on unstructured meshes? For example, if I don't blockmesh the box of the cavity tutorial case, but have it meshed by some CAD program, is there anything necessary to know besides how to convert the mesh into the OpenFOAM format?
Do I need to tell OpenFOAM that it is a tetrahedral (or general polygonal) mesh rather than a hex mesh as generated my blockMesh?

2) This is probably complicated, and I don't expect an answer that enables a newbie to achieve everything I mentioned above. But please give an overview what is available so that I know where to put my effort.
I have read http://openfoamwiki.net/index.php/Ho...mic_mesh_cases. Firstly, the classes mentioned there don't exist in recent versions. Does an update of this Howto exist?
Secondly, the Howto doesn't describe how to detect and repair regions of low mesh quality, but instead assumes that you know a priori where to add or remove layers. Do you have any example (documented or not) which does surface tracking of strongly deformed meshes and includes *robust* mesh motion and automatic topology correction?

Regards
Mark

deepsterblue April 26, 2008 14:03

Mark, 1. You have several o
 
Mark,

1. You have several options to convert from generic meshes to the native Foam format. (Available in: OpenFOAM/OpenFOAM-1.4.1-dev/applications/utilities/mesh/conversion)
Do take a look. FOAM will handle polyhedral meshes without problems, and you needn't specify anything.

2. I'm working with the dev version, and I know that the necessary classes for dynamic meshes with topology changes exist there (I haven't checked the OpenCFD version, though).
By detecting and repairing low mesh quality, I'm guessing that you're talking about general tetrahedral meshes. Layer addition and removal applies specifically to hexahedral zones in your mesh that have orthogonal motions prescribed on them. FOAM currently does not have the capability to handle run-time manipulation on tet-meshes (Although I'll be working on that pretty soon).
Some of my work on FOAM currently involves topological changes to 2D triangular meshes with strong deformations, surface tracking and mesh-motion. If this applies to you, I can probably help you out.

Hope this helps.

meaton April 26, 2008 16:36

Dear Sandeep, thank you for th
 
Dear Sandeep, thank you for the help.

Could you tell me which classes for changing the topology are available? I need something to get started, because there is hardly any documentation except for the very few examples in the user guide.

As you say that OpenFOAM has no tet-mesh manipulation capabilities, I'm interested to work on this after understanding the general concepts a bit better. Do any non-commercial tools (independent from OpenFOAM) exist for this kind of mesh manipulation that could be integrated in FOAM?

Mark

deepsterblue April 26, 2008 17:11

Mark, If you can get a copy
 
Mark,

If you can get a copy of the dev version from the SVN ( http://openfoam-extend.svn.sourceforge.net/ ):
and compile it successfully, you'll find the classes under:

/OpenFOAM/OpenFOAM-1.4.1-dev/src/topoChangerFvMesh

These classes are derived from classes available in:

/OpenFOAM/OpenFOAM-1.4.1-dev/src/dynamicMesh

Take a look at the tutorials (under icoDyMFoam) for a better idea on setting up dynamic mesh cases.

I'm not aware of any non-commercial tools that perform what you're looking for. If you need run-time manipulation of tet meshes, it's time to roll-up your sleeves and start writing some code.

Hope this helps.

meaton April 26, 2008 17:43

Thank you, I'll study the movi
 
Thank you, I'll study the movingCone tutorial in detail.

>If you need run-time manipulation of tet meshes,
>it's time to roll-up your sleeves and start writing
>some code.

Why can for example the routines within gmsh not be used to do run-time mesh updates? Can you mention a few keywords or references that I can search for to learn about state of the art algorithms? Then I will dive into implementing these for OpenFOAM.

Mark

deepsterblue April 26, 2008 19:15

Because those routines are int
 
Because those routines are intended for mesh generation. Regenerating the entire mesh is not only hard to automate, but a huge waste of computational time. Local re-meshing is a much better alternative.

As for algorithms, here's a popular one:
Two Discrete Optimization Algorithms for the Topological Improvement of Tetrahedral Meshes.
by Jonathan Richard Shewchuk

meaton April 27, 2008 07:56

>As for algorithms, here's a p
 
>As for algorithms, here's a popular one:
>Two Discrete Optimization Algorithms for the Topological Improvement of Tetrahedral Meshes. by Jonathan Richard Shewchuk

So you suggest these algorithms to be promising candidates for implementation in FOAM? Do you know of any existing implementations (for validation or reusing code)?

If someone else could confirm (or if noone contradicts) this paper to be a good starting point, I'll try my best after getting familiar with OpenFOAM.

Regards
Mark


All times are GMT -4. The time now is 13:39.