|
[Sponsors] |
|
March 18, 2008, 11:21 |
CGNS converters available
|
#1 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello,
We are pleased to announce that conversion between the CGNS standard format and OpenFOAM is now possible with two new converters that we have contributed to the openfoam-extend Subversion site. The first one, foamToCGNS, will convert an OpenFOAM mesh, boundary conditions and solutions to a CGNS file. The CGNS solutions are always stored at the mesh nodes. The resulting CGNS mesh will be unstructured. The second converter, cgnsToFoam will take a CGNS mesh (structured or unstructured) and its boundary conditions and will convert them to a valid OpenFoam mesh. The solution stored in the CGNS file can also be extracted to be used as an initial solution. Currently, both converters are able to deal only with stationnary flows on a fixed mesh. The converters also depend on a set of libraries that both need to be installed and compiled as well. The first one is cgnslib_2.5, a recent version of cgnslib from http://www.cgns.org/. The second one is libcgnsoo_3.0, a C++ wrapper around cgnslib_2.5. Allwmake files are provided for compiling the libraries and the converters. A set of simple test cases illustrating the use of both converters are also available. We plan to eventually put some additionnal documentation on the OpenFoam Wiki about these converters. So watch the Sig Turbomachinery section of the Wiki for more information. For now, the -help option will give you a rough description of the available options. You might have to adjust the Allwmake and Make/options files for your own installation or for your version of OpenFoam. Please take a quick look at those files before compiling. Here are the URLs for dowloading the CGNS converters, companion libraries and the test cases using svn. Converters: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r/OSIG/TurboMachinery/applications Libraries: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r/OSIG/TurboMachinery/src Test cases: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r/OSIG/TurboMachinery/tutorials Enjoy. Martin Beaudoin, Hydro-Quebec - IREQ Robert Magnan, Hydro-Quebec - IREQ |
|
October 9, 2008, 05:16 |
Hi Martin,
Please let me know
|
#2 |
Guest
Posts: n/a
|
Hi Martin,
Please let me know how to build CGNS converters. I tried compile but not succeed. After linking some files (pointVolInterpolation.H pointVolInterpolation.C pointVolInterpolate.C ) to cgnsToFoam directory, I typed ./Allwnake under TurboMachinery. I got following message. wmake Making dependency list for source file SolutionConverter.C could not open file structure_t.H for source file SolutionConverter.C : : : Make/linux64GccDPOpt/SolutionConverter.o: In function `void Foam::pointVolInterpolation::interpolate<double>(F oam::GeometricField<double,> const&, Foam::GeometricField<double,>&) const': SolutionConverter.C.text._ZNK4Foam21pointVolInterpolation11interpolat eIdEEvRKNS_14GeometricFieldIT_ NS_15pointPatchFieldENS_9pointMeshEEERNS2_IS3_NS_1 2fvPatchFieldENS_7volMeshEEE[v oid Foam::pointVolInterpolation::interpolate<double>(F oam::GeometricField<double,> const&, Foam::GeometricField<double,>&) const]+0x14): undefined reference to `Foam::pointVolInterpolation::debug' : : : Foam::dimensionSet const&, std::vector<foam::vector<double>, std::allocator<foam::vector<double> > > const&, bool, Foam::word, Foam::fvMesh&)]+0xaf9): undefined reference to `Foam::pointVolInterpolation::~pointVolInterpolati on()' collect2: ld returned 1 exit status |
|
October 9, 2008, 13:05 |
Hello Hong,
You need to adj
|
#3 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Hong,
You need to adjust your file cgnsToFoam/Make/options. Read the comments at the top of that file. I guess a proper Readme file would be usefull here as well. It will be added when I will port the converters to OF 1.5. Martin |
|
October 10, 2008, 05:35 |
Hello Martin,
Thank you for y
|
#4 |
Guest
Posts: n/a
|
Hello Martin,
Thank you for your information. I read cgnsToFoam/Make/options, and successed in build. |
|
November 4, 2008, 10:12 |
Hello,
I'm trying to instal
|
#5 |
New Member
Anders Östman
Join Date: Mar 2009
Posts: 7
Rep Power: 17 |
Hello,
I'm trying to install the cgnsToFoam converter in OF 1.5. When I compile the utility I get the error message: cgnsToFoam.C:43:35: error: pointVolInterpolation.H: No such file or directory It seems like pointVolInterpolation is not longer a part of the OpenFOAM distribution. Has anybody managed to compile the cgnsToFoam utility for OF 1.5. Any help is greatly appreciated! Regards, Anders |
|
November 4, 2008, 14:40 |
Hello Anders,
Just read a f
|
#6 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Anders,
Just read a few posts up from this thread. (Or read the header from the file cgnsToFoam/Make/options.) The compilation will not get much further though. The code still needs some adjustments for compiling with 1.5. The source code for the CGNS converters for OF 1.5 will be posted on openfoam-extend under the Breeder_1.5 branch asap. Martin |
|
November 5, 2008, 04:43 |
Hello Martin,
Thanks for yo
|
#7 |
New Member
Anders Östman
Join Date: Mar 2009
Posts: 7
Rep Power: 17 |
Hello Martin,
Thanks for your information about the work with porting the CGNS converter to OF 1.5. You guys in the turbomachinery group are doing a good job! I'm a new user of OpenFOAM, I'm now in the process of trying it out. We have until now used our own in-house gridgenerator and solver. I'm now very curious in comparing results using OpenFOAM with our own solver. In that process I need the cgnsToFoam converter for converting the grids created using our gridgenerator. I would be very grateful if you could just e-mail me a OF 1.4 executable of the cgnsToFoam. That would help me a lot :-) . If you would like the e-mail me the executable, my address is: anders@cfdnorway.no Thanks in advance. Anders |
|
November 5, 2008, 09:46 |
Hello Anders,
cgnsToFoam an
|
#8 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Anders,
cgnsToFoam and foamToCGNS compile without any problem with OF 1.4.1-dev and OF 1.4.1. Have you tried to compile the converters with either versions of OF 1.4.1? Martin |
|
November 5, 2008, 10:26 |
Hi Martin,
No, I'm a new us
|
#9 |
New Member
Anders Östman
Join Date: Mar 2009
Posts: 7
Rep Power: 17 |
Hi Martin,
No, I'm a new user of OF and have only installed OF 1.5, I was hoping that I did not have to install older versions. But I can do that if that is the best way of getting the converter. Regards, Anders |
|
November 5, 2008, 14:20 |
Hi Anders
> No, I'm a new u
|
#10 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hi Anders
> No, I'm a new user of OF and have only installed OF 1.5, I was hoping that I did not have to install older versions. But I can do that if that is the best way of getting the converter. Well, if you want to run a binary version of the CGNS converters for OF 1.4.1, you will have to install OF 1.4.1 or 1.4.1-dev anyway because of the runtime dependency of the converters on OF dynamic libraries. So give it a try, or wait a little bit for the 1.5 version of the converters. Martin |
|
November 7, 2008, 18:51 |
Hello,
The CGNS converters
|
#11 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello,
The CGNS converters are now available for OpenFOAM 1.5 Here are the svn URLs for dowloading from openfoam-extend the CGNS converters, the companion libraries and the test cases. Converters: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r_1.5/OSIG/TurboMachinery/applications Libraries: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r_1.5/OSIG/TurboMachinery/src Test cases: https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r_1.5/OSIG/TurboMachinery/tutorials I am also in the process of writing some basic documentation for these converters. The information will be available at the following URL on the OpenFOAM Wiki: http://openfoamwiki.net/index.php/Si...GNS_Converters In the meantime, here is a quick recipe for downloading, compiling and testing the converters: # Downloading the code from openfoam-extend svn checkout https://openfoam-extend.svn.sourceforge.net/svnroot/openfoam-extend/trunk/Breede r_1.5/OSIG/TurboMachinery # Compiling the converters cd TurboMachinery/src ./Allwmake cd ../applications ./Allwmake # Testing the converters cd ../tutorials/cgnsConverters/ ./Allrun Enjoy. Martin Beaudoin, Hydro-Quebec - IREQ |
|
November 10, 2008, 03:19 |
Thanks a lot Martin!
Actuall
|
#12 |
New Member
Anders Östman
Join Date: Mar 2009
Posts: 7
Rep Power: 17 |
Thanks a lot Martin!
Actually I downloaded the 1.4.1 version of OF this weekend and managed to compile and run the cgnsToFoam converter. But this makes use of OF much easier. I will try to download and install it this evening. Regards, Anders |
|
November 28, 2008, 07:25 |
Hi,
i have installed the CG
|
#13 |
Member
Pattyn Eric
Join Date: Mar 2009
Posts: 61
Rep Power: 17 |
Hi,
i have installed the CGNS converters and i'm trying to convert some CGNS files to foam with cgnsToFoam. However, i encounter some problems like: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 2 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "QUAD_4" found in zone 0, section 3 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "BAR_2" found in zone 0, section 4 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "NODE" found in zone 0, section 5 has no OpenFOAM equivalence - skipping --> FOAM Warning : From function polyMesh::polyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 576 Found 262798 undefined faces in mesh; adding to default patch. Output of mesh and boundary conditions Other case: // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 1 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 2 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 3 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 4 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 5 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 6 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 7 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 8 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 9 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 10 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 11 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 12 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 13 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 14 has no OpenFOAM equivalence - skipping --> FOAM Warning : BC "intake" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "exhaust" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "intake ramp" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "downstream" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "lower" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "upper" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "upstream" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "strake" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "vertical tail" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "horizontal tail" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "side" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "wing" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "fuselage" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "symmetry" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : From function polyMesh::polyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 576 Found 27656 undefined faces in mesh; adding to default patch. Output of mesh and boundary conditions Is there any constraints on the cgns file, mesh or boundary name which i shuold respect ? Or is it an another problem ? Thank you in advance Eric |
|
November 28, 2008, 23:10 |
Hello Eric,
The warnings ab
|
#14 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Eric,
The warnings about the "Cell type" is for the non-3D cell types present in your CGNS file: triangles (TRI_3) rectangle (QUAD_4) line segments (BAR_2) points (NODE) As of now, the cgnsToFoam converter only supports the following type of 3D cells for unstructured mesh: tetrahedron (TETRA_4) pyramids (PYRA_5) prisms (PENTA_6) hexahedron (HEXA_8) It looks like your unstructured mesh has a lot of 2D elements (triangles and rectangles). The current implementation of cgnsToFoam will not reconstruct 3D cells from a bunch of 2D faces. This 3D topology information is normally known from your CGNS generator, so you need to find a way to export your mesh as 3D cells (tets, hexs, pyramids or prisms) and not as 2D faces. Is your unstructured mesh exported in CGNS as a bunch of 2D faces, or do you have 3D cells in your mesh as well? As for the following type of message: "FOAM Warning : BC "exhaust" : patch defined by a unsupported PointSetType_t - skipped.", It looks like some, if not all, of your boundary conditions are defined in your CGNS file as something other than a point list, or a point range. Which software did you use for generating your CGNS file? Is it possible for you to share this CGNS file? We have developped the CGNS converters based on the outputs generated by the commercial softwares we are using for our CFD simulations and mesh modelling. During that process, we have discovered that the CGNS "standard" can be implemented differently from vendor to vendor, so your CGNS file might be yet another implementation that we need to make some adjustments for. Martin |
|
November 19, 2010, 06:13 |
cgnsToFoam did not recognize faces/patches
|
#15 | |
Senior Member
|
Quote:
Hello, I had same problem when converting the CGNS file generated by MIME (Metacomp Technologies). See error messages below and file attached. // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time --> FOAM Warning : Cell type "QUAD_4" found in zone 0, section 2 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 3 has no OpenFOAM equivalence - skipping --> FOAM Warning : BC "inlet" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "outlet" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "side" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "topbottom" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "cylinder" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : From function polyMesh::polyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 582 Found 28176 undefined faces in mesh; adding to default patch. Output of mesh and boundary conditions Could you help me to fix that? Actually the code converted the mesh but all patches had zero faces associated. Only a default patch was identified with all faces. Is there any way to automatically identify the faces of each patch? See the mesh at link below: https://www.4shared.com/file/eYuxdxRQ/gridcgns.html Regards, Guilherme Last edited by aerothermal; November 19, 2010 at 06:53. |
||
November 22, 2010, 13:16 |
|
#16 |
Senior Member
|
One way to fix it is to use the utility "autoPatch"
Code:
$ autoPatch 30 just copy it to your constant/polyMesh and erase all other polyMesh after that visualize in Paraview and rename the patches and types at constant/polyMesh/boundary file regards, Guilherme |
|
March 27, 2011, 01:24 |
|
#17 |
Senior Member
Fabian Braennstroem
Join Date: Mar 2009
Posts: 407
Rep Power: 19 |
Hello,
I wonder how you handle parallel data. As I see it the cgns files are written to the processor directories. Do you think it is possible to write a large 'serial' file in parallel, so that one avoids all the processor files. Best Regards! Fabian |
|
December 1, 2008, 08:25 |
Hello Martin,
thank you ver
|
#18 |
Member
Pattyn Eric
Join Date: Mar 2009
Posts: 61
Rep Power: 17 |
Hello Martin,
thank you very much for your detailed answer. The meshes i'm trying to convert contain 3D cells as 2D cells, for the boundaries. Actually, i can see the geometry made of 3D cells which are well converted. The problem i have is that i lose the bidimensional boundaries where i will have to impose conditions in order to run an OpenFOAM simulation. Typically, it creates one "defaultWall" in place of my boundary surfaces. I don't understand how you define boundary conditions if you export only 3D elements. Do you recreate the boundaries surfaces after the conversion? Generally, the CGNS files we have have been generated by different software. In this case, i think they have been generated with IcemCFD. I don't know which commercial software you are using. Thank you again. Eric |
|
May 8, 2009, 15:53 |
Problems converting cgns grid to OpenFOAM
|
#19 | |
New Member
Ashish Nedungadi
Join Date: Mar 2009
Location: Laurel, Maryland, USA
Posts: 13
Rep Power: 17 |
Quote:
First off, thanks for developing this cgns <--> OpenFOAM converter; it is invaluable. The install instructions were perfectly clear and I was able to install with no problems at all. I am experiencing the same problems as Eric. I followed this thread, but am not sure if this got resolved or not. I get similar errors and when I look at the constant/polyMesh/boundary file I see all the bounday names, but they all have zero faces. All faces get lumped into one default patch. The grid itself looks fine in paraFoam, but now I cannot set any BCs on the individual patches. I tried the -separatePatchesoption, but to no avail. Here are the messages from cgnsToFoam: --> FOAM Warning : Cell type "QUAD_4" found in zone 0, section 2 has no OpenFOAM equivalence - skipping --> FOAM Warning : Cell type "TRI_3" found in zone 0, section 3 has no OpenFOAM equivalence - skipping --> FOAM Warning : BC "nose" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "mid-body" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "stern" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "farfield" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "symmetry" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : From function polyMesh:olyMesh(... construct from shapes...) in file meshes/polyMesh/polyMeshFromShapeMesh.C at line 581 Found 54924 undefined faces in mesh; adding to default patch. I would appreciate it if you could lend me some help with this. Thanks very much for your time and look forward to hearing from you. Regards Ashish |
||
May 8, 2009, 20:55 |
|
#20 |
Senior Member
Martin Beaudoin
Join Date: Mar 2009
Posts: 332
Rep Power: 22 |
Hello Ashish,
I would suspect those Warning messages first: --> FOAM Warning : BC "nose" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "mid-body" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "stern" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "farfield" : patch defined by a unsupported PointSetType_t - skipped. --> FOAM Warning : BC "symmetry" : patch defined by a unsupported PointSetType_t - skipped. If you take a look at the CGNS SIDS reference document: http://www.grc.nasa.gov/WWW/cgns/sids/bc.html#BC , Notes #2 You will see that a CGNS BC can be defined by either 1 of 4 types of PointSetType_t: PointRangeNow, if you take a look at the file CGNSBoundaryConditions.C, starting at line 205, you will see that the cgnsToFoam converter currently only supports the first 2 types, PointRange and PointList. So your CGNS file was probably generated with BCs defined as either ElementRange or ElementList. While developing the cgnsToFoam converter, we've basically never encountered such type of BCs definition in our own CGNS files, that why the code is not supporting it. I would suggest that you check with your CGNS file generator in order to see if you have some control on how the BC patches are exported. PointRange and PointList would be the information cgnsToFoam needs for converting your BCs. Regards, Martin |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Issues with CGNS formatted mesh in SU2 | jlwhelan28 | SU2 | 5 | February 13, 2017 11:48 |
[Gmsh] Cgns support for gmsh | robyTKD | OpenFOAM Meshing & Mesh Conversion | 1 | July 13, 2016 11:27 |
SU2 not built with CGNS support. | maximus23 | SU2 Installation | 5 | May 11, 2016 12:05 |
writing link between two CGNS files | t.teschner | Main CFD Forum | 1 | February 4, 2014 10:26 |
parallel support with CGNS format not yet implemented | kirkrich | SU2 | 3 | January 18, 2013 15:39 |