Difference between revisions of "Contrib gmsh2ToFoam"

From OpenFOAMWiki
m
m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{VersionInfo}}{{Version1.3}}
+
{{VersionInfo}}{{Version1.3}}{{Version1.4}}{{Version1.4.1}}
  
 
==Short Description==
 
==Short Description==
  
A modified <tt>gmshToFoam</tt> with .msh file format version 2.0 (ASCII type only) support which became the standard in Gmsh 2.0. <tt>Gmsh2ToFoam</tt> can also handle the conventional version 1.0 format.
+
A modified <tt>gmshToFoam</tt> with <tt>.msh</tt> file format version 2.0 (ASCII type only) support which became the standard in Gmsh 2.0. <tt>Gmsh2ToFoam</tt> can also automatically detect and handle the conventional version 1.0 format.
 +
 
 +
This page describes <tt>gmsh2ToFoam</tt> that comes with [[Contrib_gmshFoam|the gmshFoam package]].
 +
 
 +
<b>You typically don't need '''''gmsh2ToFoam''''' because the genuine '''''gmshToFoam''''' that comes with recent versions of OF works a lot better than before.</b> This page is kept mostly only for archival reasons.
  
 
==Usage==
 
==Usage==
Identical to the original <tt>gmshToFoam</tt>. <tt>Gmsh2ToFoam</tt> automatically detects and handles the format versions.
 
  
In addition to the options which the original <tt>gmshToFoam</tt> has, <tt>gmsh2ToFoam</tt> has two options (for details, see the Features section below):
+
<bash>gmsh2ToFoam <root> <case> <.geo or .msh> [options]
* <tt>-noUnusedPointRemoval</tt>: disables removal of unreferred points.
+
</bash>
 +
If a <tt>.geo</tt> file is given as the third argument, <tt>gmsh2ToFoam</tt> automatically runs Gmsh with the <tt>-3</tt> option and the given <tt>.geo</tt> file as arguments, then converts the produced <tt>.msh</tt> file.
 +
 
 +
Options are (for details, see the Features section below):
 +
* <tt>-noAutoInvert</tt>: disables automatic point ordering correction.
 +
* <tt>-noCheckMesh</tt>: disables simplified checkMesh test.
 
* <tt>-noRenumberMesh</tt>: disables renumberMesh matrix bandwidth compression.
 
* <tt>-noRenumberMesh</tt>: disables renumberMesh matrix bandwidth compression.
 +
* <tt>-noUnusedPointRemoval</tt>: disables removal of unreferred points.
 +
* <tt>-verbosity verborsity (0-5; defaults to 3)</tt>: sets verbosity of gmsh2ToFoam.
  
 
==Features==
 
==Features==
Other than the .msh version 2.0 format handling, <tt>gmsh2ToFoam</tt> has several features highly focused on practical usability over the original <tt>gmshToFoam</tt> that comes with OF 1.3:
+
Other than the <tt>.msh</tt> version 2.0 format handling, <tt>gmsh2ToFoam</tt> has several features highly focused on practical usability over the original <tt>gmshToFoam</tt> that comes with OF 1.3:
  
 
====Patch and cell/face-Zone/Set labeling====
 
====Patch and cell/face-Zone/Set labeling====
* Assignment of physical region names ("inlet," "outlet," ...) defined in a .geo file insted of automatically generated names ("patch0," "patch1," ...) for patches and cell/face-Zones/Sets. Base patch types (patch, wall, symmetryPlane, empty, wedge, cyclic) can also be specified.
+
* Assignment of physical region names (<tt>inlet</tt>, <tt>outlet</tt>, ...) defined in a <tt>.geo</tt> file insted of automatically generated names (<tt>patch0</tt>, <tt>patch1</tt>, ...) for patches and cell/face-Zones/Sets. Base patch types (<tt>patch</tt>, <tt>wall</tt>, <tt>symmetryPlane</tt>, <tt>empty</tt>, <tt>wedge</tt>, <tt>cyclic</tt>) can also be specified.
* Assignment of suffix numbers of automatically generated names ("patch1," ...) based on the region numbers defined in a .geo file, instead of the order of their appearance in a .msh file, if the physical regions are labeled by numbers.
+
* Assignment of suffix numbers of automatically generated names (<tt>patch1</tt>, ...) based on the region numbers defined in a <tt>.geo</tt> file, instead of the order of their appearance in a <tt>.msh</tt> file, if the physical regions are to be labeled by numbers.
  
The above two should contribute easy correspondence between the .geo file and the final converted mesh. For details see the example below.
+
The above two should contribute easy correspondence between the original <tt>.geo</tt> file and the final converted mesh. For details see the example below.
  
 
====Mesh data structure optimizations====
 
====Mesh data structure optimizations====
* Removal of the <tt>defaultFaces</tt> patch (if its size is determined to be zero) and faceZones from polyMesh/boundary. You don't have to write dummy <tt>defaultFaces</tt> or faceZone entries in boundary description.
+
* Automatic correction of wrongly ordered points in node connectivities. (Note: the genuine <tt>gmshToFoam</tt> also has this feature.) To disable this feature, use the <tt>-noAutoInvert</tt> option.
* Removal of unreferred points (points which do not belong to any of faces nor cells; e. g. spline control points or the center of a circular arc). <tt>CheckMesh</tt> test of the converted mesh will no longer fail due to "Unused points" error. <b>The feature is considered highly experimental thus can be disabled by the <tt>-noUnusedPointRemoval</tt> option.</b>
+
* Testing of the converted mesh by simplified <tt>checkMesh</tt> test similar to the one that <tt>blockMesh</tt> does. To disable this feature, use the <tt>-noCheckMesh</tt> option.
* Matrix bandwidth compression. This is basically what the <tt>renumberMesh</tt> utility does, plus cell/face-Zone/Set handling and minus field file renumbering. <b>The feature is considered highly experimental thus can be disabled by the <tt>-noRenumberMesh</tt> option.</b>
+
* Matrix bandwidth compression. This is basically what the <tt>renumberMesh</tt> utility does, plus cell/face-Zone/Set handling and minus field file renumbering. To disable this feature, use the <tt>-noRenumberMesh</tt> option.
 +
* Removal of unreferred points (points which do not belong to any of faces nor cells; e. g. spline control points or the center of a circular arc). <tt>CheckMesh</tt> test of the converted mesh will no longer fail due to "Unused points" error. To disable this feature, use the <tt>-noUnusedPointRemoval</tt> option.
 +
* Removal of zero-sized <tt>defaultFaces</tt> and faceZones from polyMesh/boundary. You don't have to write dummy <tt>defaultFaces</tt> or faceZone entries in boundary description.
  
 
====Others====
 
====Others====
* Compatibility with .msh files generated by Windows versions of Gmsh.
+
* Automatic running of Gmsh if <tt>.geo</tt> is given instead of a <tt>.msh</tt> as input.
* Producing a fatal error if a mesh contains second-order elements, instead of silently ignoring them.
+
* Compatibility with <tt>.msh</tt> files generated by Windows versions of Gmsh.
 +
* Refined text message outputs. Reflecting my own support experience on the Message Board, error messages are written as suggestive as possible for typical user pitfalls. For example, <tt>gmsh2ToFoam</tt> complains "No volumetric cells found ... Check your mesh carefully particularly whether your physical volume definition is correct" when the converted mesh contains no volumetric cells, instead of cryptic and mysterious "Faces deallocated."
 +
* Verbosity control along with Gmsh's <tt>General.Verbosity</tt> variable.
  
 
==Technical==
 
==Technical==
 
* <b>Be sure to label at least one physical region by a number other than 0 (zero) if all the physical regions are to be labeled by numbers.</b> This restriction comes from <tt>gmsh2ToFoam</tt> following one of the Gmsh authors' suggestion. See [http://www.geuz.org/pipermail/gmsh/2007/002395.html Gmsh mailing list archive] for details.
 
* <b>Be sure to label at least one physical region by a number other than 0 (zero) if all the physical regions are to be labeled by numbers.</b> This restriction comes from <tt>gmsh2ToFoam</tt> following one of the Gmsh authors' suggestion. See [http://www.geuz.org/pipermail/gmsh/2007/002395.html Gmsh mailing list archive] for details.
* Beware that if physical regions are defined in a .geo file, Gmsh writes .msh file only with those elements that belong to the physical regions. Read Section 4.1 of Gmsh 2.0 Reference Manual carefully before using the labeling features of <tt>gmsh2ToFoam</tt>.
+
* Beware that if physical regions are defined in a .geo file, Gmsh writes .msh file only with those elements that belong to the physical regions. Read Section 4.1 of Gmsh 2.0 Reference Manual <b>including footnotes</b> carefully before using the labeling features of <tt>gmsh2ToFoam</tt>.
 
* <b><tt>Gmsh2ToFoam</tt> still has not been well tested</b>.
 
* <b><tt>Gmsh2ToFoam</tt> still has not been well tested</b>.
  
Line 38: Line 52:
  
 
==Example==
 
==Example==
First write a .geo file called <tt>cube.geo</tt> as follows and put it under <tt>cubeTetra/constant</tt> directory. Especially note that at the last part surface patches and a volume are given their names (not numbers) of "inlet," "outlet," "bottomTop" and "internalField" except the two lateral surfaces given a common number of 10. In addition, the "bottomTop" patch is given a base patch type of "symmetryPlane" by the second word of its string label. Other patches where the second words are omitted default to the "patch" type.
+
First write a <tt>.geo</tt> file called <tt>cubeHexa.geo</tt> as follows and put it under any suitable case directory. Especially note that at the last part surface patches and a volume are given their names (not numbers) of <tt>inlet</tt>, <tt>outlet</tt>, <tt>bottomTop</tt> and <tt>internalField</tt> except the two lateral surfaces given a common number of 10. In addition, the <tt>bottomTop</tt> patch is given a base patch type of <tt>symmetryPlane</tt> by the second word of its string label. Other patches where the second words are omitted default to the <tt>patch</tt> type.
 
<pre>
 
<pre>
 
// A cube of side lengths 1
 
// A cube of side lengths 1
  
// Create edges
+
// Create base line
lc = 0.1;
+
lc = 0.099;
Point(1) = {-0.5, -0.5, -0.5, lc}; Point(2) = { 0.5, -0.5, -0.5, lc};
+
Point(1) = {-0.5, -0.5, -0.5, lc};Point(2) = {0.5, -0.5, -0.5, lc};
Point(3) = { 0.5,  0.5, -0.5, lc}; Point(4) = {-0.5,  0.5, -0.5, lc};
+
Line(3) = {1, 2};
Point(5) = {-0.5, -0.5,  0.5, lc}; Point(6) = { 0.5, -0.5,  0.5, lc};
+
// Create base surface and extrude it to volume
Point(7) = { 0.5,  0.5,  0.5, lc}; Point(8) = {-0.5,  0.5,  0.5, lc};
+
e1[] = Extrude{0, 1, 0}{Line{3}; Layers{10}; Recombine;};
Line(9) = {1,2}; Line(10) = {2,3}; Line(11) = {3,4}; Line(12) = {4,1};
+
e2[] = Extrude{0, 0, 1}{Surface{e1[1]}; Layers{10}; Recombine;};
Line(13) = {5,6}; Line(14) = {6,7}; Line(15) = {7,8}; Line(16) = {8,5};
+
Line(17) = {1,5}; Line(18) = {2,6}; Line(19) = {3,7}; Line(20) = {4,8};
+
// Create surface patches
+
Line Loop(21) = {9,10,11,12}; Line Loop(22) = {17,13,-18,-9};
+
Line Loop(23) = {18,14,-19,-10}; Line Loop(24) = {19,15,-20,-11};
+
Line Loop(25) = {20,16,-17,-12}; Line Loop(26) = {-16,-15,-14,-13};
+
Plane Surface(27)={21}; Plane Surface(28)={22}; Plane Surface(29)={23};
+
Plane Surface(30)={24}; Plane Surface(31)={25}; Plane Surface(32)={26};
+
// Create a volume
+
Surface Loop(33) = {27,28,29,30,31,32}; Volume(34) = {33};
+
  
 
// Naming physical entities is a new key feature in Gmsh 2.0.
 
// Naming physical entities is a new key feature in Gmsh 2.0.
 
// To use the feature you really do need to read the Section 4.1 of Gmsh 2.0
 
// To use the feature you really do need to read the Section 4.1 of Gmsh 2.0
// Reference Manual carefully.
+
// Reference Manual, including footnotes, carefully.
  
// Generate surface patches with name.
+
// Generate surface patches with string labels.
 
// Base patch types (patch, wall, symmetryPlane, empty, wedge, cyclic) can be
 
// Base patch types (patch, wall, symmetryPlane, empty, wedge, cyclic) can be
// specified by the second word of the string labels. If omitted the type
+
// specified by second words of the string labels. If omitted the type
 
// defaults to patch. If a surface is generated inside of the volume it will be
 
// defaults to patch. If a surface is generated inside of the volume it will be
 
// recognized as a faceZone/faceSet.
 
// recognized as a faceZone/faceSet.
Physical Surface("inlet") = {31};
+
Physical Surface("inlet") = {e2[5]};
Physical Surface("outlet") = {29};
+
Physical Surface("outlet") = {e2[3]};
Physical Surface("bottomTop symmetryPlane") = {27,32};
+
Physical Surface("bottomTop symmetryPlane") = {e1[1],e2[0]};
  
 
// You can also use numbers for physical region definition. This patch will be
 
// You can also use numbers for physical region definition. This patch will be
 
// named "patch10."
 
// named "patch10."
Physical Surface(10) = {28,30}; // lateral patches
+
Physical Surface(10) = {e2[2], e2[4]}; // lateral patches
  
 
// Generate volume with cellZone/cellSet definition.
 
// Generate volume with cellZone/cellSet definition.
 
// Don't forget to make the entire volume defined because Gmsh writes only
 
// Don't forget to make the entire volume defined because Gmsh writes only
 
// parts of the mesh where physical regions are defined.
 
// parts of the mesh where physical regions are defined.
Physical Volume("internalField") = {34};
+
Physical Volume("internalField") = {e2[1]};
 
</pre>
 
</pre>
Next generate a 3D mesh <b>with Gmsh >= 2.0</b> by executing the following command under <tt>cubeTetra/constant</tt> directory.
+
Next generate a 3D mesh and convert it to the OpenFOAM polyMesh format by executing the following command under the case directory.
 
<pre>
 
<pre>
> gmsh -3 -optimize cube.geo
+
$ gmsh2ToFoam . . cubeHexa.geo
 
</pre>
 
</pre>
And finally convert to OpenFOAM polyMesh by
+
With this <tt>gmsh2ToFoam</tt> automatically runs <tt>gmsh -3 cubeHexa.geo</tt> and converts the produced <tt>cubeHexa.msh</tt> to the polyMesh format under the <tt>constant</tt> subdirectory. After that you can access the patches named <tt>inlet</tt>, <tt>outlet</tt> and <tt>bottomTop</tt> by their names instead of automatically generated <tt>patch0</tt>, <tt>patch1</tt>, ... names. The patches labeled by the number of 10 are named <tt>patch10</tt>, which means the number is retained in the suffix of automatically generated name. The <tt>bottomTop</tt> patch must have the <tt>symmetryPlane</tt> boundary condition because it has been given the base patch type of <tt>symmetryPlane</tt>. Taking all these into consideration, for example you can write the <tt>boundaryField</tt> of <tt>cubeHexa/0/U</tt> as follows.
<pre>
+
> gmsh2ToFoam ../.. cubeTetra cube.msh
+
</pre>
+
After that you can access the patches named "inlet," "outlet" and "bottomTop" by their names instead of automatically generated "patch0," "patch1," ... names. The patches labeled by the number of 10 are named "patch10," which means the number is retained in the suffix of automatically generated name. The bottomTop patch must have the symmetryPlane boundary condition because it has been given the base patch type of symmetryPlane. Taking all these into consideration, for example you can write the boundaryField of <tt>cubeTetra/0/U</tt> as follows.
+
 
<pre>
 
<pre>
 
boundaryField
 
boundaryField
Line 115: Line 115:
 
}
 
}
 
</pre>
 
</pre>
Similarly the "internalField" is accessible with its name as a cellZone or a cellSet instead of automatically generated name of "cellZone_0."
+
Similarly the <tt>internalField</tt> is accessible with its name as a cellZone or a cellSet instead of automatically generated name of <tt>cellZone_0</tt>.
  
 
==Download==
 
==Download==
 
Current version:
 
Current version:
  
*[[Media:gmsh2ToFoam-20070312.tar.gz|gmsh2ToFoam-20070312.tar.gz]]
+
* No current version available.
  
  
Past versions:
+
Past versions (will ''not'' work with the current OpenFOAM versions):
 +
*[[Media:gmsh2ToFoam-20070312.tar.gz|gmsh2ToFoam-20070312.tar.gz]]
 
*[[Media:gmsh2ToFoam-20070305.tar.gz|gmsh2ToFoam-20070305.tar.gz]]
 
*[[Media:gmsh2ToFoam-20070305.tar.gz|gmsh2ToFoam-20070305.tar.gz]]
 
*[[Media:gmsh2ToFoam-20070219.tar.gz|gmsh2ToFoam-20070219.tar.gz]]
 
*[[Media:gmsh2ToFoam-20070219.tar.gz|gmsh2ToFoam-20070219.tar.gz]]
Line 131: Line 132:
  
 
==History==
 
==History==
 +
[[User:7islands|7islands]] 06:51, 27 Oct 2007 (CEST) ([http://openfoam.cfd-online.com/forum/messages/1/3841.html Takuya Oshima]):
 +
* Update of the documentation (this page) to match the current gmsh2ToFoam.
 +
 
[[User:7islands|7islands]] 09:25, 12 Mar 2007 (CET):
 
[[User:7islands|7islands]] 09:25, 12 Mar 2007 (CET):
 
* RenumberMesh matrix bandwidth compression with cell/face-Zone/Set handling.
 
* RenumberMesh matrix bandwidth compression with cell/face-Zone/Set handling.

Latest revision as of 14:40, 23 November 2009

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

1 Short Description

A modified gmshToFoam with .msh file format version 2.0 (ASCII type only) support which became the standard in Gmsh 2.0. Gmsh2ToFoam can also automatically detect and handle the conventional version 1.0 format.

This page describes gmsh2ToFoam that comes with the gmshFoam package.

You typically don't need gmsh2ToFoam because the genuine gmshToFoam that comes with recent versions of OF works a lot better than before. This page is kept mostly only for archival reasons.

2 Usage

gmsh2ToFoam <root> <case> <.geo or .msh> [options]

If a .geo file is given as the third argument, gmsh2ToFoam automatically runs Gmsh with the -3 option and the given .geo file as arguments, then converts the produced .msh file.

Options are (for details, see the Features section below):

  • -noAutoInvert: disables automatic point ordering correction.
  • -noCheckMesh: disables simplified checkMesh test.
  • -noRenumberMesh: disables renumberMesh matrix bandwidth compression.
  • -noUnusedPointRemoval: disables removal of unreferred points.
  • -verbosity verborsity (0-5; defaults to 3): sets verbosity of gmsh2ToFoam.

3 Features

Other than the .msh version 2.0 format handling, gmsh2ToFoam has several features highly focused on practical usability over the original gmshToFoam that comes with OF 1.3:

3.1 Patch and cell/face-Zone/Set labeling

  • Assignment of physical region names (inlet, outlet, ...) defined in a .geo file insted of automatically generated names (patch0, patch1, ...) for patches and cell/face-Zones/Sets. Base patch types (patch, wall, symmetryPlane, empty, wedge, cyclic) can also be specified.
  • Assignment of suffix numbers of automatically generated names (patch1, ...) based on the region numbers defined in a .geo file, instead of the order of their appearance in a .msh file, if the physical regions are to be labeled by numbers.

The above two should contribute easy correspondence between the original .geo file and the final converted mesh. For details see the example below.

3.2 Mesh data structure optimizations

  • Automatic correction of wrongly ordered points in node connectivities. (Note: the genuine gmshToFoam also has this feature.) To disable this feature, use the -noAutoInvert option.
  • Testing of the converted mesh by simplified checkMesh test similar to the one that blockMesh does. To disable this feature, use the -noCheckMesh option.
  • Matrix bandwidth compression. This is basically what the renumberMesh utility does, plus cell/face-Zone/Set handling and minus field file renumbering. To disable this feature, use the -noRenumberMesh option.
  • Removal of unreferred points (points which do not belong to any of faces nor cells; e. g. spline control points or the center of a circular arc). CheckMesh test of the converted mesh will no longer fail due to "Unused points" error. To disable this feature, use the -noUnusedPointRemoval option.
  • Removal of zero-sized defaultFaces and faceZones from polyMesh/boundary. You don't have to write dummy defaultFaces or faceZone entries in boundary description.

3.3 Others

  • Automatic running of Gmsh if .geo is given instead of a .msh as input.
  • Compatibility with .msh files generated by Windows versions of Gmsh.
  • Refined text message outputs. Reflecting my own support experience on the Message Board, error messages are written as suggestive as possible for typical user pitfalls. For example, gmsh2ToFoam complains "No volumetric cells found ... Check your mesh carefully particularly whether your physical volume definition is correct" when the converted mesh contains no volumetric cells, instead of cryptic and mysterious "Faces deallocated."
  • Verbosity control along with Gmsh's General.Verbosity variable.

4 Technical

  • Be sure to label at least one physical region by a number other than 0 (zero) if all the physical regions are to be labeled by numbers. This restriction comes from gmsh2ToFoam following one of the Gmsh authors' suggestion. See Gmsh mailing list archive for details.
  • Beware that if physical regions are defined in a .geo file, Gmsh writes .msh file only with those elements that belong to the physical regions. Read Section 4.1 of Gmsh 2.0 Reference Manual including footnotes carefully before using the labeling features of gmsh2ToFoam.
  • Gmsh2ToFoam still has not been well tested.

For feedback and discussion go to this thread on the Message Board.

5 Example

First write a .geo file called cubeHexa.geo as follows and put it under any suitable case directory. Especially note that at the last part surface patches and a volume are given their names (not numbers) of inlet, outlet, bottomTop and internalField except the two lateral surfaces given a common number of 10. In addition, the bottomTop patch is given a base patch type of symmetryPlane by the second word of its string label. Other patches where the second words are omitted default to the patch type.

// A cube of side lengths 1

// Create base line
lc = 0.099;
Point(1) = {-0.5, -0.5, -0.5, lc};Point(2) = {0.5, -0.5, -0.5, lc};
Line(3) = {1, 2};
// Create base surface and extrude it to volume
e1[] = Extrude{0, 1, 0}{Line{3}; Layers{10}; Recombine;};
e2[] = Extrude{0, 0, 1}{Surface{e1[1]}; Layers{10}; Recombine;};

// Naming physical entities is a new key feature in Gmsh 2.0.
// To use the feature you really do need to read the Section 4.1 of Gmsh 2.0
// Reference Manual, including footnotes, carefully.

// Generate surface patches with string labels.
// Base patch types (patch, wall, symmetryPlane, empty, wedge, cyclic) can be
// specified by second words of the string labels. If omitted the type
// defaults to patch. If a surface is generated inside of the volume it will be
// recognized as a faceZone/faceSet.
Physical Surface("inlet") = {e2[5]};
Physical Surface("outlet") = {e2[3]};
Physical Surface("bottomTop symmetryPlane") = {e1[1],e2[0]};

// You can also use numbers for physical region definition. This patch will be
// named "patch10."
Physical Surface(10) = {e2[2], e2[4]}; // lateral patches

// Generate volume with cellZone/cellSet definition.
// Don't forget to make the entire volume defined because Gmsh writes only
// parts of the mesh where physical regions are defined.
Physical Volume("internalField") = {e2[1]};

Next generate a 3D mesh and convert it to the OpenFOAM polyMesh format by executing the following command under the case directory.

$ gmsh2ToFoam . . cubeHexa.geo

With this gmsh2ToFoam automatically runs gmsh -3 cubeHexa.geo and converts the produced cubeHexa.msh to the polyMesh format under the constant subdirectory. After that you can access the patches named inlet, outlet and bottomTop by their names instead of automatically generated patch0, patch1, ... names. The patches labeled by the number of 10 are named patch10, which means the number is retained in the suffix of automatically generated name. The bottomTop patch must have the symmetryPlane boundary condition because it has been given the base patch type of symmetryPlane. Taking all these into consideration, for example you can write the boundaryField of cubeHexa/0/U as follows.

boundaryField
{
    inlet
    {
        type            fixedValue;
	value           uniform (1.0 0.0 0.0);
    }
    outlet
    {
        type            convectiveOutlet;
	convectiveVelocity uniform 343.704;
    }
    bottomTop
    {
        type            symmetryPlane;
    }
    patch10
    {
        type            fixedValue;
	value           uniform (0.0 0.0 0.0);
    }
}

Similarly the internalField is accessible with its name as a cellZone or a cellSet instead of automatically generated name of cellZone_0.

6 Download

Current version:

  • No current version available.


Past versions (will not work with the current OpenFOAM versions):

7 History

7islands 06:51, 27 Oct 2007 (CEST) (Takuya Oshima):

  • Update of the documentation (this page) to match the current gmsh2ToFoam.

7islands 09:25, 12 Mar 2007 (CET):

  • RenumberMesh matrix bandwidth compression with cell/face-Zone/Set handling.
  • Deletes zero-sized patches (internal faceZones).
  • Base patch types can be defined by the second word of the string labels.

7islands 15:19, 5 Mar 2007 (CET):

  • Following one of the Gmsh authors' suggestion, another modification is made to physical/elementary region (entity) number handling. See Gmsh mailing list archive for details.
  • Automatically generated patche/cellZone/faceZone names ("patch1," ...) are now labeled by numbers based on original region numbers given in a .geo file, instead of the order of their appearence in a .msh file.
  • Deletes the defaultFaces patch if its size is determined to be zero.
  • Removes unreferred points.

7islands 08:10, 19 Feb 2007 (CET):

  • Assign physical entity names instead of automatically generating them (such as "patch0") for patches / cellZones / faceZones if a $PhysicalNames section is present in a version 2.0 .msh file.

7islands 03:32, 18 Feb 2007 (CET):

  • Incorporated primitivePatch::meshPointMap() call optimization from Bernhard's gmshToFoamMod.
  • Fixed correspondence between OpenFOAM cellZone/patch numbering and Gmsh physical/elementary entity tagging. The meaning of physical entity tag seems to be different between .msh file format versions.

7islands 03:30, 17 Feb 2007 (CET): Improved compatibility with .msh files generated by Windows versions of Gmsh.

7islands 13:28, 16 Feb 2007 (CET): First upload.