CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [Commercial meshers] Native OpenFOAM interface in Pointwise (https://www.cfd-online.com/Forums/openfoam-meshing/61597-native-openfoam-interface-pointwise.html)

cnsidero January 16, 2009 12:31

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.

dkingsley January 16, 2009 12:36

Thanks, on my way to the downl
 
Thanks, on my way to the download page....

dkingsley January 21, 2009 19:48

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.

cnsidero January 22, 2009 08:40

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?

egp January 22, 2009 17:24

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

cnsidero January 22, 2009 17:46

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

su_junwei January 23, 2009 14:31

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

dkingsley January 23, 2009 16:16

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.

egp January 23, 2009 17:47

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?

hjasak January 23, 2009 18:28

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

gschaider January 26, 2009 07:55

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)

egp January 26, 2009 09:29

@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....

cnsidero January 26, 2009 09:42

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.

egp January 26, 2009 09:52

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?

cnsidero January 26, 2009 10:05

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.

gschaider January 26, 2009 10:14

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

cnsidero January 26, 2009 10:46

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.

egp January 26, 2009 11:23

Hi Eric! The option --cle
 
Quote:

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
Note to self: pyFoamAppOfChoice --help gives all of the options...

gschaider January 26, 2009 14:53

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

marico January 29, 2009 07:23

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

cnsidero January 29, 2009 07:42

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.

su_junwei February 12, 2009 12:12

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

su_junwei February 12, 2009 12:16


 


su_junwei February 12, 2009 12:30

sorry the file is too big. you
 
sorry the file is too big. you can download it here
http://www.box.net/shared/0pofg2ah7o

dkingsley February 12, 2009 13:02

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.

dkingsley February 12, 2009 13:09

Still not used to Pointwise, i
 
Still not used to Pointwise, it looks like you do have a pole in the right place.

su_junwei February 12, 2009 13:18

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

dkingsley February 12, 2009 22:42

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.

su_junwei February 13, 2009 05:47

Yes, Dennis. I have checked wi
 
Yes, Dennis. I have checked with fluentMeshToFoam with gridgen. It works perfectly.

Thanks, Junwei

dkingsley February 13, 2009 08:13

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.

hjasak February 13, 2009 09:02

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

cnsidero February 13, 2009 09:33

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

cnsidero February 13, 2009 10:23

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.

cnsidero February 19, 2009 14:40

I have spoke to our developers
 
I have spoke to our developers and they are looking into the issue.

cnsidero April 13, 2009 15:59

update to OF/PW pole export
 
See the new thread:

http://www.cfd-online.com/Forums/ope...tml#post212740

su_junwei January 30, 2010 10:23

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

jchawner January 30, 2010 17:19

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

hm86 July 26, 2010 16:11

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!

ebah6 May 14, 2012 17:43

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

tcarrigan May 17, 2012 09:43

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.