Native OpenFOAM interface in Pointwise
The CAE mesher, Pointwise (same name as company), released on January 14, 2009, now has a native OpenFOAM export interface. This means users no longer have to export their grids to an intermediate format and use one of the conversion applications from OpenFOAM.
Pointwise, Inc. has received increasing interest in using Pointwise and Gridgen with OpenFOAM. Since participating in the OpenFOAM Workshop this past summer in Milan, Pointwise, Inc has maintained active communication with Prof. Jasak. Prof. Jasak visited Pointwise, Inc in early November 2008 and implemented the native interface. The latest release of Pointwise is the first public version with the OpenFOAM interface. Many people know Pointwise, Inc for Gridgen. However, Pointwise our next generation meshing software for CAE from Pointwise, Inc. and has been in production use for more than a year. We have combined the reliable CFD meshing in Gridgen with modern software techinques to bring you the eponymous Pointwise - a major advancement in gridding capability. In addition to the high quality grid techniques we have always had, you will appreciate Pointwise's flat interface, automated grid assembly, and full undo and redo capabilities. Drop me a line if you want to know more about Pointwise. Thanks, Chris And before anyone asks, Yes, I work for Pointwise. |
Thanks, on my way to the downl
Thanks, on my way to the download page....
|
I finally got a few moments to
I finally got a few moments to try the new Pointwise native OpenFOAM interface. I exported one of my more complicated unstructured grids.
The test case has 0.5 million points and 2.8m tets. The bc I defined for the Fluent export were correctly translated to the OpenFOAM solver in Pointwise and was exported correctly. CheckMesh shows the grids properties are slightly better than the translated Fluent grid. The case is running now. I am not a Pointwise employee, however I have been using gridgen for 10yrs and was one of the people who contacted Pointwise to support OF natively. |
Dennis, thanks for your feedba
Dennis, thanks for your feedback. I'm glad to hear it is working well for you.
I was hoping Eric Patterson might chime in as well ... you there Eric? |
Hey Chris,
I'm here. I'm
Hey Chris,
I'm here. I'm also using Pointwise and am very glad that you added the direct OpenFOAM export. However, I've been using Pointwise software for even longer than Dennis, and I'm having a hard time moving from Gridgen to Pointwise (Gridgen doesn't have the OpenFOAM parser, right?). Eric |
Eric, correct - there is no na
Eric, correct - there is no native interface to OpenFOAM in Gridgen but I can help you out with your Gridgen to Pointwise transition in two ways.
1. Pointwise can read and write Gridgen's file. So you can do your work in Gridgen, open the grid in Pointwise and export to OpenFOAM. 2. To help long time Gridgen users transition more gradually into Pointwise, we have included "Gridgen" preferences into the latest version of Pointwise (v16.02). Specifically the preferences are scene manipulation and entity selection. You can find them in Edit > Preferences (Windows and Linux) and Pointwise > Preferences (Mac). Hope that helps, Chris |
Hi Dennis Kingsley
I
Hi Dennis Kingsley
I am not that lucky. When I use checkMesh to check the grid exported from Pointwise the following errors always appear even with very simple grids. FOAM FATAL ERROR : index 1944 out of range 0 ... 1943#0 Foam::error::printStack(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&) at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/OSspecific/Unix/printStack.C:203 #1 Foam::error::abort() at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/error.C:231 #2 Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream& Foam::operator<<>(Foam:http://www.cfd-online.com/OpenFOAM_D...part/proud.gifstream&, Foam::errorManip<foam::error>) at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/errorManip.H:86 #3 Foam::UList<int>::checkIndex(int) const at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/UListI.H:107 #4 Foam::UList<int>::operator[](int) at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/UListI.H:123 #5 Foam::polyMesh::initMesh() at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/meshes/polyMesh/polyMeshCalcFaceCells.C:5 2 #6 Foam::polyMesh::polyMesh(Foam::IOobject const&) at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/meshes/polyMesh/polyMesh.C:225 #7 main at ~/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/createPolyMesh.H:13 #8 __libc_start_main in "/lib/libc.so.6" #9 Foam::regIOobject::readIfModified() in "/home/sujunwei/OpenFOAM/OpenFOAM-1.4.1/applications/bin/linuxGccDPDebug/checkMe sh" From function UList<t>::checkIndex(const label) in file /home/sujunwei/OpenFOAM/OpenFOAM-1.4.1/src/OpenFOAM/lnInclude/UListI.H at line 107. Where is the problem? Best, Junwei |
I only tested with OF-1.5.x, b
I only tested with OF-1.5.x, based on the fact that the error is "index out of range" I would suspect there is a difference in the way OF-1.4.1 reads the grid.
|
I've also only run Pointwise g
I've also only run Pointwise generated meshes with 1.5.x. I just tried to run the Pointwise tutorial TransitionDuct with 1.4.1-dev, and it choked. First off, it doesn't like the "type Unspecified;" in the polymesh/boundary file. However, even after tweaking these, I still ended up with a segmentation fault.
Hrv, since you implemented this parser for Pointwise, any idea why backward compatibility would be broken? |
Yes, the mesh format has chang
Yes, the mesh format has changed: now the neighbour array only covers internal faces (as it should)., Therefore, you cannot move any mesh from OF-1.5 back to 1.4 and the Pointwise converter is written for 1.5
If you want a fixing tool, it should be easy to write: - read constant/polyMesh/owner - read constant/polyMesh.neighbour - resize neighbour array to the size of the owner and pad it with -1. - write out the new neighbour array and all will be well. Hope this helps, Hrv |
Just an example for that kind
Just an example for that kind of fixing tool using PyFoam (use it only with small to medium size meshes because PyFoam was not designed to effectively parse huge lists):
import sys from os import path from PyFoam.RunDictionary.ParsedParameterFile import ParsedParameterFile dirName=sys.argv[1] nf=ParsedParameterFile(path.join(dirName,"neighbou r"),listDictWithHeader=True) of=ParsedParameterFile(path.join(dirName,"owner"), listDictWithHeader=True) oLen=len(of.content) nLen=len(nf.content) if nLen<oLen: ....print "Extending neighbour from",nLen,"to",oLen ....nf.content+=[-1]*(oLen-nLen) ....nf.writeFile() else: ....print "Nothing done" (the .... are just there to preserve pythony formatting on the message board. Remove them) |
@Chris: I spent the weekend g
@Chris: I spent the weekend going through the Pointwise tutorials, and reading the manual. I think I'll be able to ditch Gridgen for Pointwise. I really like a number of the features, including the layer manager and masking. Are any of the core Gridgen features not included? Looks like the core grid generation algorithms are pretty much the same.
@Bernhard: thanks. Speaking of Python, I should note that pyFoamCreateBoundaryPatches.py is also useful for adding all of the B.C.s from the Pointwise-created boundary file, thus reducing the amount of handwork in the editor. It's too bad the pyFoam tool doesn't clean up and delete the boundary conditions that may be from the cloned case. This would be pretty easy to script, though. As a first test, I created a 1.25M cell hybrid mesh for a zero-Froude number (i.e., no free surface waves) model 5415 calculation (Model 5415 website). The real challenge in these ship hull meshes is the sharp edge at the deck.... |
Eric,
The core algorithms a
Eric,
The core algorithms are pretty much the same in Pointwise. One that has improved, is the block elliptic solver - you can now set internal block boundaries to "float", analogous to floating boundaries for the domain elliptic solver. As of 16.02, there are only two major features that have not transitioned from Gridgen to Pointwise. They are Solid Meshing (import/creation solid models) and Anisotropic Tet/Tri meshing (fully-unstructured viscous boundary layers). The former is currently being implemented. Note, the layer manager in Pointwise allows grid entities as well - very helpful for complex grids. |
Hey Chris, what about the Anis
Hey Chris, what about the Anisotropic Tet/Tri meshing? Will we be seeing that in future releases of Pointwise?
|
Hehe ... I was waiting for you
Hehe ... I was waiting for you to ask about that.
Yes, Anisotropic Tet/Tri meshing will be coming to Pointwise. However, we felt that the necessary precursor to it was Solid Meshing (importing native CAD solids, importing IGES b-rep solids and creating quilts/solids in the mesher). Aniso meshing will work without the existence of quilts and solid models but the workflow for aniso meshing is much more positive with it, so we decided to implement solid meshing first with aniso meshing to follow. |
Hi Eric!
The option --clear
Hi Eric!
The option --clear-unused to pyFoamCreateBoundaryPatches.py should do what you want to (remove all boundaries from the field that are not found in the boundary-file). I don't know since when it is there (but I think for the last 2 or 3 releases) Bernhard |
Eric,
One more thing I forg
Eric,
One more thing I forgot to mention about aniso meshing. The most time consuming part of meshing tends to be the surface mesh generation as the volume mesh quality is directly dependent on it. The aniso volume mesher in Gridgen is typically the last step you do before exporting your grid, i.e. set a few parameters, click button, wait a minute or two for aniso mesh to finish, export to solver. As such, you can do all the geomety/surface meshing in Pointwise and use Gridgen strictly to create the aniso volume. This is my recommend workaround for those who want to limit their use of Gridgen until aniso meshing is implemented in Pointwise. |
Hi Eric!
The option --cle
Quote:
|
Hi Eric!
Stuff like that ha
Hi Eric!
Stuff like that happens: "ah, that would be a cool feature, let's add it. <open> The first change should go there .... wait a minute: the change is already there .... when did I? ... Memo to self: check --help before adding anything" And this happened more than once to me Bernhard |
Hi,
how much euros do I hav
Hi,
how much euros do I have to pay for a licence of pointwise (in germany)? At about... Just for thinking about... The homepage suggests me, that it is for free... ;) Thanks Marco |
Marco,
We have a distributo
Marco,
We have a distributor in Germany. His name is Uli Fuchs and he can be contacted at: uli at cfdbertung dot de www.cfd-beratung.de +49 7472 282410 Sorry, the software is not free - we offer free evaluations for a short period of time but you should speak to Uli about how he handles new customers. |
Hi Chris and Hrv
Thank
Hi Chris and Hrv
Thanks for the native export utility for OpenFOAM with pointwise. But I encountered a problem with its wedge shape mesh exporter for axisymmetric application. In the axis, there are a lot of faces with zero area. yes, there should be with structure grid. However, how to set the boundary condition. I searched the discussion board and found that an empty patch is preferred for such a situation. For instance http://www.cfd-online.com/cgi-bin/Op....cgi?126/11122 But I am not that lucky, and got a message below when starting the simulation This mesh contains patches of type empty but is not 1D or 2D by virtue of the fact that the number of faces of this empty patch is not divisible by the number of cells. From function emptyFvPatchField<type>::updateCoeffs() in file fields/fvPatchFields/constraint/empty/emptyFvPatchField.C at line 148. Yes, it is indeed in my case. why not delete the faces with zero area at axis? Any suggestions for the boundary condition for axis or methods to delete these zero area faces? The native mesh with pointwise format is attached. su junwei |
|
sorry the file is too big. you
|
I think you need to have a sin
I think you need to have a single node at each longitudinal location and create poles along the axis.
Right now your patch is 2x along the axis face of the block and that is where you zero area panels are coming from. |
Still not used to Pointwise, i
Still not used to Pointwise, it looks like you do have a pole in the right place.
|
Yes, Dennis. I did set a pole
Yes, Dennis. I did set a pole at axis. That's why there are so many zero-area faces.
It seems that OpenFOAM doesn't like these zero-area faces and blockMesh utility will not generate these zero-area faces for wedge shape. I made the mesh in gridgen, and then imported into pointwise. su junwei |
Try using gridgen and export i
Try using gridgen and export it as a Fluent grid and use the FluentMeshToFoam and see if the pole behaves correctly. Its not what is ultimately wanted but it might help the Pointwise folks figure out what is wrong.
I routinely use poles in more complicated 3d grids and have not had an issue going through Fluent. I am taking off for a long weekend or I would try it myelf. |
Yes, Dennis. I have checked wi
Yes, Dennis. I have checked with fluentMeshToFoam with gridgen. It works perfectly.
Thanks, Junwei |
like I indicated last night I
like I indicated last night I am on the road.
You should log this as a bug on the pointwise website. I have had great response from their customer support over the years. |
Anyone calling my name here?
Anyone calling my name here? There are things we can do in the converter (eg collapsing pole points just like in blockMesh), but I would rather see this fixed further upstream. Sounds to me like this is a call for Pointwise (David?).
Hrv |
I will pass this information o
I will pass this information on to support so they can look at it but it would be good for one of you (Dennis of Su Junwei) to contact support with the details.
-Chris |
Just to be clear, if you creat
Just to be clear, if you create a mesh with poles in it:
1) using Pointwise and export to OF you get zero area faces 2) make mesh in Gridgen then import into Pointwise and export to OF you get zero area faces 3) make mesh in Gridgen/Pointwise then export to Fluent and convert to OF using fluentMeshToFoam it works If this is case, it seems to me the fluentMeshToFoam converter is eliminating the zero area faces (the ones on the axis). I believe Fluent (the solver) has a special way of handling cells/faces on poles. I will speak to our developers and get back to you about his. |
I have spoke to our developers
I have spoke to our developers and they are looking into the issue.
|
update to OF/PW pole export
|
Dear all
It seems that the "volume conditions" in Pointwise doesn't work for OpenFOAM native exporter in Pointwise. That is Pointwise can't export volume zone (cell zone, or face zone etc) with OpenFOAM exporter even though you have set volume conditon for the mesh. Volume conditions in Pointwise works for fluent exporter. Did you encoutered such a problem? Is it a bug or I did't use it correctly ? Junwei |
Marco:
Evaluation licenses are indeed free and we'd love to have you try it. To learn more about the software I suggest that you contact our sales partner in Germany, CFD Beratung, directly. Their contact information is on our web site's "Contact Us" page. Best Regards |
OpenFoam and Pointwise
Hi everyone-
I am trying to create a mesh for Openfoam using an IGS file I imported from Solidworks. I have a turbine in the center and a cylindrical bounding box around it. I created domains for the turbine and cylindrical outer domain but cannot seem to create blocks to export to OpenFoam. Does anyone know how to do this or have any suggestions? Thanks! |
Dr. Sideroff,
I am using Pointwise to generate meshes for OpenFOAM. As of now I can export properly fully structured and fully unstructured meshes. However with a hybrid grid, only the structured faces are exported. Note: by hybrid I mean that I created a surface with an unstructured mesh and I extrude it in the 3rd dimension. Can you give me a lead on how to proceed with such hybrid grids. Thank you for your time and best regards. Elhadji |
Elhadji,
The issue you are reporting was resolved in Pointwise V16.04R4. To resolve the issue, please download the latest version of Pointwise. Travis |
All times are GMT -4. The time now is 13:06. |