CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Mesh Utilities (
-   -   Mesh3D to OpenFoam (

titan_algorithms February 7, 2008 19:14

All This is my first post t

This is my first post to your forum. I am the developer of Hyperion-Mesh3D which is a volume based hexahedral meshing tool. I am releasing this tool as freeware. In order to increase the usage and exposure of Mesh3D, I realized that I would need to create a neutral file export format to support OpenFoam.

Currently Mesh3D can export to a NASTRAN BDF format (CHEXA) in addition to other tool-specific formats, e.g. Hyperion-TFS and Ansys-TAS. However, I was not able to discern what format is applied in the OpenFoam CFD tool.

Perhaps someone could point to posts or guidance for a format that would best work with the Foam tool set. I could adopt this and add it to the export format dialog in Mesh3D.

the Mesh3D page link is:


Best Regards,


hsieh February 7, 2008 21:14

Dear Dean: It will be reall
Dear Dean:

It will be really nice to use mesh3d for OF projects. Is mesh3d released as freeware now?

I work on conjugate heat transfer projects with both fluid elements and solid elements. Does mesh3d support different elements type?


olesen February 8, 2008 04:39

Dean, Your program sounds l

Your program sounds like it could be interesting. I'm curious to take a peak and see how it handles prism (boundary) layers. I also hope it is possible to define the boundary regions within your tool, since this is an often ignored aspect.

The OpenFOAM format uses face-based addressing.
You can find a description in the user guide:

Since your mesh is pure hexa, it might the easiest to export into another format for which there is already a converter. eg, ideasUnvToFoam, fluentMeshToFoam, starToFoam. This might also provide a broad spectrum of potential users.

I don't know where the Fluent format is documented, but I can provide you information about the STAR-CD format. I also have a PDF about the ideas unv format. The unv format might be a good one anyhow, since the FEA people can probably use it too.

As a final note: I noticed from your web page that there is a 32bit windows installer. A Linux version would be extremely welcome, since this is the main platform in use by the OpenFOAM community.


vinz February 8, 2008 05:00

Dear Dean, As the others po
Dear Dean,

As the others pointed out, your program looks very interesting especially for complex meshes.
A while ago, I made a converter from GridPro to OpenFOAM. Even if I don't know the type of files you generate with your program, GridPro being a hexaedral mesher as well, it could help to have a look at this converter.
You'll see that it's not so difficult, and I hope you'll find a way to make this program available for OpenFOAM users.
Good luck,


titan_algorithms February 8, 2008 06:04

All, Hyperion Mesh3D and TF

Hyperion Mesh3D and TFS install in demo mode. Simply follow the instructions to request a codekey. I may disable this in the future. However, I will issue codekeys which release the codes to Full use mode, of course for free. All of our the products contain absolutely no spyware. The codekey just locks the code (major and minor rev) to the drive serial number. At present since I will release it free, it is just to keep a handle on who has copies (through the signup) and to make sure nobody starts unauthorized reselling.

The current grid-brick format for TFS exports looks to be close to OpenFoam:

1 6.48298217179903E-2 .486223662884927 0
2 6.48298217179903E-2 .486223662884927 1
3 9.72447325769854E-2 .486223662884927 0
4 9.72447325769854E-2 .486223662884927 1
5 .12965964343598 .486223662884927 0
6 .12965964343598 .486223662884927 1
1 53 55 3 1 54 56 4 2
2 55 57 5 3 56 58 6 4
3 57 59 7 5 58 60 8 6
4 59 61 9 7 60 62 10 8
5 61 63 11 9 62 64 12 10
6 63 65 13 11 64 66 14 12

That is, grids are 3-space orthogonal coordinates and bricks are the revolving 8 point facets.

From the link above:
(0 0 0)
(1 0 0)
(1 1 0)
(0 1 0)
(0 0 0.5)
(1 0 0.5)
(1 1 0.5)
(0 1 0.5)
A hexahedral cell would be written as:

(hex 8(0 1 2 3 4 5 6 7))

is this the format to generate for OF Hexa? How are the vertices identified?

Anyway this isn't too clear. If someone can specify the repeating example, I can commit it to code and add a direct export for OpenFoam Hex neutral files. Shouldn't take too much.

other notes:

o sorry, windows compiled only, no cross platform support, although WINE should work to provide the coupling

o no current element types beyond hex, although it would be possible to triangulate the hexa into tet's (Mesh3D was designed for TFS, which applies Hex elements)

titan_algorithms February 8, 2008 06:19

Also please note that there is
Also please note that there is a companion tool, Mesh2D which is completely different than Mesh3D. See product page:

there is a codekey request but you can disregard this as it will run in full normal usage. See also the getting started tutorials

titan_algorithms February 8, 2008 06:21

another series of notes for Me
another series of notes for Mesh3D:

Sample project files

getting started tutorial:

other tutorials (see link on left of main page)

olesen February 8, 2008 06:59

Dean, The cell shapes descr

The cell shapes described in OpenFOAM are only to help with mapping to/from conventional meshes. There is no "neutral" OpenFOAM format, but just the polyMesh. Here you have a few files: "points", "faces", "owner" and "neighbour".

Each mesh face is described by a list of points and has an owner (outward facing normal) and a neighbour (inward facing normal). Faces without any neighbours are boundary faces.

I've submitted my contact information via your web site if you wish to take this off-forum.

It is really unfortunate that it is a Windows-only program.


titan_algorithms February 8, 2008 07:08

Hi Mark The hex mesh is nat
Hi Mark

The hex mesh is naturally equivalenced in Mesh3D. that is, if there is a i+1x neighbor on the hex,then it shares the grids on the +x face, e.g. 2 3 and 5 6.

I have generated a test case, 2 hex equivalenced on the X face:

1 0 -1 -1
2 2 -1 -1
3 2 1 -1
4 0 1 -1
5 0 -1 1
6 2 -1 1
7 2 1 1
8 0 1 1
9 4 -1 -1
10 4 1 -1
11 4 -1 1
12 4 1 1
1 1 2 3 4 5 6 7 8
2 2 9 10 3 6 11 12 7

how would this file look for OpenFoam?



titan_algorithms February 8, 2008 07:12

Mark I added the following

I added the following project for this file:

this will produce the 2 hex model above

hope this helps.

gschaider February 8, 2008 09:05

Hi Dean & Mark! @windows: I
Hi Dean & Mark!

@windows: I just tried the program in Wine on my Linux-machine and it seems to work fine

@format: The structure of the format (not the syntax) looks quite similar to the format that the gambitToFoam converter reads (except that it only does hex and there are no boundary patches defined) so one might use that as a starting point for a converter.


titan_algorithms February 8, 2008 09:41

to note, boundary patches are
to note, boundary patches are known in the Mesh3D code, e.g. see menu selection for display CS (control surface, same as BC). This could be captured pretty easily.

hsieh February 8, 2008 13:42

Hi, Dean, By element type,
Hi, Dean,

By element type, I mean, if handles as ONE mesh, then, the elements in the mesh consists of solid elements (may have different material properties) and fluid elements.

Another possibility is dual-meshing, ie. one mesh for fluid and one mesh for solids. In the solid mesh, there might be several regions for each solid material. Ideally, the common surfaces between fluid and solids have idential nodes (conforming).


titan_algorithms February 9, 2008 06:16

Hi Pei I think this might h
Hi Pei

I think this might help with your question. I believe you can do some of what you are looking for. Consider this tutorial:

on the first page, you will see the following link for the Mesh3D project file, which should now run and allow export with you keyed version:

Basically it shows a fin bank which is meshed. The fin mesh is cut from edge detection and can be exported first or last and is basically the conjugate of the flow mesh.

I will try to work up an example for you to show you how this could be done.

do you have any candidate geometry (stl, dxf, obj)?

Regards, D

titan_algorithms February 9, 2008 06:23

Pei in this example, you wi

in this example, you will see two project files (.m3d). One is labeled EDGE and one is labeled FILL. Both form an equivalenced mesh. Note this is a coarse mesh designed to demonstrate the flow conductor option in TFS. You can refine the mesh block and perform the same export option, but remember to process the voxel selection identically for both models.


titan_algorithms February 9, 2008 09:21

Here I worked up a an example
Here I worked up a an example of a casting. I need to modify this slightly but this should convey the concept. You create a voxel space, then cut the EDGE or FILL or combinations, e.g. BLOCK NOT FILL.

Here is the animation comparing the casting primitive to the final mesh geometry: ue.gif

All times are GMT -4. The time now is 16:30.