Difference between revisions of "Contrib/MakeAxialMesh"

From OpenFOAMWiki
m (Usage)
Line 1: Line 1:
{{VersionInfo}}{{Version1.3}}
+
{{VersionInfo}}{{Version1.3}}{{Version1.4}}
  
 
== Short description ==
 
== Short description ==
Line 14: Line 14:
 
The code assumes the following about the grid:
 
The code assumes the following about the grid:
 
* 2D-Grid (just one cell thick)
 
* 2D-Grid (just one cell thick)
* the axis of symmetry parallel to the XY-plane
+
* the axis of symmetry is parallel to the XY-plane
 
* the boundary that is the symmetry axis is a straight line
 
* the boundary that is the symmetry axis is a straight line
 
* the "front" and "back" are one patch
 
* the "front" and "back" are one patch
 +
* the domain does not cross y=0
  
 
The type of the axis-patch is set to <tt>empty</tt>, the type of the newly created patches to <tt>wedge</tt>.
 
The type of the axis-patch is set to <tt>empty</tt>, the type of the newly created patches to <tt>wedge</tt>.
Line 47: Line 48:
  
 
[[Media:makeAxialMesh.tar.gz|The tar file with the sources]]. Works only for OpenFOAM 1.3.
 
[[Media:makeAxialMesh.tar.gz|The tar file with the sources]]. Works only for OpenFOAM 1.3.
 +
 +
[[Media:makeAxialMesh1.4.tgz|The tar file with the sources]]. Works for OpenFOAM 1.4 and 1.4.1.
  
 
== History ==
 
== History ==

Revision as of 15:03, 28 December 2007

Valid versions: OF version 13.png OF version 14.png

1 Short description

Creates an axial-symmetric grid from a two-dimensional OpenFOAM grid file.

2 Usage

Prior to running makeAxialMesh, you will need to have created a mesh and have it available in a typical OpenFOAM file structure. If you have previously run blockMesh or converted a mesh from a third-party mesh generator into the OpenFOAM format, you are ready to run makeAxialMesh.

The makeAxialMesh application needs two inputs beyond the ubiquitous root and case inputs:

  1. name of the boundary that is the symmetry axis
  2. name of the boundary that is to be split into two wedge-boundaries (front and back)

The code assumes the following about the grid:

  • 2D-Grid (just one cell thick)
  • the axis of symmetry is parallel to the XY-plane
  • the boundary that is the symmetry axis is a straight line
  • the "front" and "back" are one patch
  • the domain does not cross y=0

The type of the axis-patch is set to empty, the type of the newly created patches to wedge.


To complete the construction of your axisymmetric mesh, you must next use the collapseEdges utility to remove the faces at the symmetry axis. The makeAxialMesh code doesn't manipulate the connectivity of the mesh, but only deforms the mesh so that the faces on the axis become zero size (rectangles with one side of zero area). The collapseEdges utility should remove these degenerate edges (and the faces that go with it) and stitch the mesh together. For an application like this, you would want to use collapseEdges with a very small length scale argument and an angle argument near 180 degrees.

3 Example

The original mesh
The converted mesh


The original mesh had (amongst others) these faces:

center 
The face that is to be collapsed and turned into a symmetry axis (at the bottom in the picture on the left)
frontAndBackPlanes 
The patch that contains the front and the back face and will be split into two patches)

The command

makeAxialMesh . testAxial2 center frontAndBackPlanes

converts this into the mesh seen in the picture on the right.

4 Download

The tar file with the sources. Works only for OpenFOAM 1.3.

The tar file with the sources. Works for OpenFOAM 1.4 and 1.4.1.

5 History

This utility was discussed in this thread on the Message Board.

  • 2006-03-28: New version which fixes a bug if the axis is not the whole length of the grid (fix provided by E David Huckaby)

Types of the newly created patches are set

  • 2006-04-03: New Version that works under OpenFOAM 1.3. Removes a bug that was introduced in the last version.

--Bgschaid 14:13, 31 May 2005 (CEST)