CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Meshing & Mesh Conversion

[Commercial meshers] Pointwise to Foam - cyclic BC points order

Register Blogs Community New Posts Updated Threads Search

Like Tree3Likes
  • 1 Post By Pj.
  • 2 Post By cnsidero

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 16, 2014, 10:35
Default Pointwise to Foam - cyclic BC points order
  #1
Pj.
Member
 
Luca
Join Date: Mar 2013
Posts: 68
Rep Power: 13
Pj. is on a distinguished road
Hi everybody

I'm trying to run a case containing a cyclic BC using a mesh prepared with PointWise.
I'm facing some problem with the correct exportation of the two cyclic boundaries patch. I created the periodic faces (or domains in Pointwise language) in Pointwise using the create > periodic > translate command. Then I exported the mesh as OpenFoam mesh and ran the command foamUpgradeCyclics to upgrade the cyclic definition to the "new" format.

When i run checkMesh it warns me:
Code:
 **Error in coupled point location: 1 faces have their 0th or 
consecutive vertex not opposite their coupled equivalent. Average mismatch 0.
To better understand the problem I prepared two 1-by-1-by-1 meshes (a mesh with only one cell) with a cyclic BC on two opposite faces both with Pointwise and blockMesh.

I figured that the problem is in the way Pointwise orders the points of the faces of the periodic boundaries.

To make an example lets say that I want to cycle the face 1-2-3-4 to the face 1'-2'-3'-4'.
BlockMesh create two faces:
face 1: (1 2 3 4)
face 2: (1' 4' 3' 2')
that is to say that:
-the two face start with the "same" point
-the points are take once clockwise and once counter-clockwise (this way the normal is always pointing inside the volume)

Pointwise create two faces:
face 1: (1 2 3 4)
face 2: (4' 3' 2' 1')
that is to say that:
-the two face DOESN'T start with the "same" point
-the points are take once clockwise and once counter-clockwise (this way the normal is always pointing inside the volume)

As I said: checkMesh returns the error I copied above with the Pointwise version, while it accepts the checkMesh version.
I link a tar file containing the test case with the pointwise .pw file, the blockMesh dict and two polyMesh folders, one with the mesh generated by Pointwise (PW) and the one generated by blockMesh (BM).
https://www.dropbox.com/s/6y0iba661m...ST.tar.gz?dl=0

How can I solve this problem (on a way more complex mesh of course)?

Thank you very much,
Luca
foam likes this.
Pj. is offline   Reply With Quote

Old   October 16, 2014, 13:21
Default
  #2
Pj.
Member
 
Luca
Join Date: Mar 2013
Posts: 68
Rep Power: 13
Pj. is on a distinguished road
Using a script I modified the face file reordering each face belonging to the secondary cyclic patch from (1 2 3 4) to (4 1 2 3) and now checkMesh returns no error.

This is however a very "rude" solution prone to a lot of errors.

Is there a way to fix this before exporting the mesh? Is this a Pointwise exportation bug?
Pj. is offline   Reply With Quote

Old   October 16, 2014, 13:50
Default
  #3
Senior Member
 
Chris Sideroff
Join Date: Mar 2009
Location: Ottawa, ON, CAN
Posts: 434
Rep Power: 22
cnsidero is on a distinguished road
It's not a bug, just a limitation exporting periodic (aka cyclic) patches to OpenFOAM. As you've found it, it doesn't maintain the face ordering that OpenFOAM requires. To my knowledge, of the solvers that support periodic patches, OpenFOAM might be the only one that requires strict ordering of the patch faces. Someone will correct me if I'm wrong in this regard.

Fortunately, there is a relatively easy way to recover it. Use the 'createPatch' utility. In fact, the provided example 'createPatchDict' in $FOAM_UTILITIES/mesh/manipulation/createPatch/ is setup to do just that. I've successfully used it many times for both rotational and translational periodic patches.

Try it and let me know if you have any troubles or questions.
foam and AqeelAhmed168 like this.
cnsidero is offline   Reply With Quote

Old   October 17, 2014, 04:24
Default
  #4
Pj.
Member
 
Luca
Join Date: Mar 2013
Posts: 68
Rep Power: 13
Pj. is on a distinguished road
Hi Chris.

Honestly the boundary between "bug" and "unsupported feature" seams pretty weak in this case to me.

Openfoam ask for two conditions:
- the two faces must retain the "same" (in terms of patch coordinates) first point
- the faces' points must be ordered clockwise looking from outside the domain

I don't argue that these conditions could be stricter than other softwares, but I don't see the problem respecting them.

As I told you, I've been able to correct the bug using a Matlab script wrote in 10 min that simply does:

Code:
for <faces> in <slave cyclic patch>
<points_new> = circolar_shift(<points_old>,1)

The problem is that it took me 4 hours to fully understand which was the problem and which was the correct solution.

I don't think that this script would be difficult to implement in the Pointwise code. Moreover, if this is a know limit of Pointwise, it could at least warn the user of it when it sees that I'm exporting a cyclic patch to openFoam.

Thank for your help and I'm not mad with you but honestly I'm quite disappointed of this Pointwise behaviour.
Pj. is offline   Reply With Quote

Old   October 17, 2014, 09:47
Default
  #5
Senior Member
 
Chris Sideroff
Join Date: Mar 2009
Location: Ottawa, ON, CAN
Posts: 434
Rep Power: 22
cnsidero is on a distinguished road
Couple of things. First you have to realize that Pointwise is not an "OpenFOAM" mesher, it is a general "CFD" mesher. It supports around 50 different CFD solvers so they likely choose features that affect the majority. On top of that, OpenFOAM is relatively new compared to other supported solvers so they're likely still learning about its specific needs.

Second, as a customer, request the feature (or as you feel, a bug) directly to them rather than making a comment on forum, which may go unnoticed. In particular since you have a interim solution I'm sure they'd welcome your knowledge in guiding the development of the feature.
cnsidero is offline   Reply With Quote

Old   August 14, 2016, 05:47
Default checkmesh error
  #6
New Member
 
majid
Join Date: Oct 2015
Location: Iran,Tehran
Posts: 10
Rep Power: 11
majid pourdian is on a distinguished road
Hi all
I simulate a geometry with blockMesh and use two pair of cyclic Bc's but I get this error for one pair of them.
error:Error in coupled point location
I dont understand my mistake and I dont know the feature that vertexes in cyclic boundary condition shoud have,would you help me?
majid pourdian is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
[blockMesh] Errors during blockMesh meshing Madeleine P. Vincent OpenFOAM Meshing & Mesh Conversion 51 May 30, 2016 11:51
[blockMesh] non-orthogonal faces and incorrect orientation? nennbs OpenFOAM Meshing & Mesh Conversion 7 April 17, 2013 06:42
[blockMesh] error message with modeling a cube with a hold at the center hsingtzu OpenFOAM Meshing & Mesh Conversion 2 March 14, 2012 10:56
[blockMesh] BlockMeshmergePatchPairs hjasak OpenFOAM Meshing & Mesh Conversion 11 August 15, 2008 08:36
Problem with rhoSimpleFoam matteo_gautero OpenFOAM Running, Solving & CFD 0 February 28, 2008 07:51


All times are GMT -4. The time now is 13:53.