CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (http://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   Cyclic BCs in PointwiseOpenFOAM export (http://www.cfd-online.com/Forums/openfoam-meshing/61596-cyclic-bcs-pointwiseopenfoam-export.html)

cnsidero February 20, 2009 15:38

Offline a questioned was asked
 
Offline a questioned was asked about the cyclic boundary condition type in Pointwise for the OpenFOAM export format.

I am told the standard OpenFOAM cyclic boundary condition requires the order of cells in a patch to match the ordering in the opposing patche.

Currently Pointwise does not have cyclic/periodic functionality - meaning even though your opposing patches are identical visually (geoemetrically, # points and distribution) there is no guarantee the cell orderings are matched. As such, exporting a grid from Pointwise to OpenFOAM with a cyclic boundary will most likely result in an error when running the mesh in OpenFOAM.

This deficiency is being addressed in two ways:

A. True cyclic/periodicity is scheduled to be implemented in the next version of Pointwise. When this happens the OpenFOAM export in Pointwise will be able to handle cyclic BCs correctly.

B. The General Grid Interface (GGI) that is currently in active development among some OpenFOAM'ers does not require matching face ordering for the opposing patches. Check with the GGI developers for the status on that functionality.

I will update this thread when periodicity is implemented in Pointwise.

maddalena February 22, 2010 12:18

fixed?
 
Hello Chris,
has this lack been fixed in Pointwise? Can I create geometrically equal faces (domains) in Pointwise and export them in OpenFOAM? If the problem is still open, could I used the Fluent format to export and than fluentMeshToFoam?
In any case... how can I create geometrically equal domains in Pointwise?
Thank you,

Maddalena

maddalena February 23, 2010 11:44

matching tolerance
 
Ok, I succeeded in creating geometrically equal faces (domains) in Pointwise and defining them as cyclic. However, when I run checkMesh (note, checkMesh and not createPatch, as a consequence that I have already defined the faces as cyclic in Pointwise), I had the following error:

Create polyMesh for time = 0

cyclicPolyPatch::calcTransforms : Writing half0 faces to OBJ file blablabla.obj
cyclicPolyPatch::calcTransforms : Writing half1 faces to OBJ file blablabla.obj
cyclicPolyPatch::calcTransforms : Writing coupled face centres as lines to blablabla.obj

face 38 area does not match neighbour 8138 by 0.101242% -- possible face ordering problem.
patch:cyclicSides my area:2.67 neighbour area:2.6727 matching tolerance:0.001
Mesh face:8797132 vertices:3((2.74863 39.0073 215.981) (1.96174 38.9641 214.09) (-2.27374e-13 39.0114 216.158))
Neighbour face:8805232 vertices:3((3.15983e-13 -39.0114 216.158) (1.96174 -38.9639 214.081) (2.74863 -39.0071 215.972))
Rerun with cyclic debug flag set for more information.

From function cyclicPolyPatch::calcTransforms()
in file meshes/polyMesh/polyPatches/constraint/cyclic/cyclicPolyPatch.C at line 180.

FOAM exiting


I know from other threads that this error may be due to the tolerance that is too high for the case. Indeed, the two faces do not meet the matching tolerance criteria, although their geometry is imported correctly, I can see it using objToVtk + paraFoam. However, changing the matching tolerance value in coupledPolyPatch.C did not help to solve the issue: the matching tolerance is still 0.001, even after wclean wmake! :confused:
Moreover, I am not able to run the case with cyclic debug flag on: changing the OpenFOAM/OpenFOAM-1.6/etc/controlDict did not produce any results! :confused:
Is this a bug or am I missing something? Thanks a lot to everyone that can shed some light!

maddalena

maddalena March 3, 2010 08:41

Solved!
 
Ok ok... The two faces were not equals... Now it works perfectly!
And thanks to hrv, the pointwise -> OF conversion is simply great! :)

rmatus March 16, 2010 16:08

Cyclic/Periodic boundaries now available
 
The just released version of Pointwise (V16.03) includes true cyclic/periodic boundaries. Look under Create->Periodic->Translate/Rotate.

If you are already using Pointwise V16.02 you can download V16.03 from the Pointwise website.

maddalena September 16, 2010 02:50

Quote:

Originally Posted by rmatus (Post 250313)
The just released version of Pointwise (V16.03) includes true cyclic/periodic boundaries. Look under Create->Periodic->Translate/Rotate.

If you are already using Pointwise V16.02 you can download V16.03 from the Pointwise website.

Hi Rick,
I was wondering if it is possible to define the order of cyclic in Pointwise, i.e. define the master and the slave face. As I showed here, this is important for some OF applications.
Regards

maddalena

maddalena October 4, 2010 05:40

I believe I have the answer...
The patch order (master-slave) is set by the surface domain number, which is a consequence on the domain creation. For example let us say I have the following domain:
domain-1
domain-2
domain-3
domain-6
domain-7
and I want to make domain-6 cyclic. First I use create->periodic with domain-6. A new domain is created: domain-4 (the first empty name on my domain list). As a consequence, domain-4 will be the master and domain-6 the slave.
In any case, it will be better if the master slave can be set manually.

mad

rmatus October 4, 2010 09:36

No master-slave in Pointwise
 
Hi Mad:

Sorry I missed your earlier post. It looks like you found the answer on your own though. There is no concept of master and slave periodic boundaries in Pointwise. They are twins. You can change either one, and its twin will be updated.

I will add your request for explicit definition of master-slave cyclic boundaries for OpenFOAM export to our feature request database.

Rick

maddalena October 4, 2010 10:06

Quote:

Originally Posted by rmatus (Post 277693)
I will add your request for explicit definition of master-slave cyclic boundaries for OpenFOAM export to our feature request database.

This will be great! Indeed, defining master and slave faces implicitly is not always easy, and you must create the same domain in different way until you get what you want. But, well, if you can define them explicitly, our life will be better for sure! ;)
One more question: where should I write for any related feature request connected with Pointwise? Of course, I will never ask: please made the mesh for me, but, well, I will be glad to help to improve the Pointwise-OF export as the software itself, suggesting something as I have just made. Is this forum ok or is there a more appropriate place?
Regards

mad

rmatus October 4, 2010 12:15

You are entitled to free technical support through email, telephone, and website. Your quickest and easiest way to get support would be through Alberto at Porto Ricerca, alberto@portoricerca.com, 039-466-9380.

You can also contact us directly in the US at support@pointwise.com, +1 817-377-2807.

Of course, we will answer questions in the forums too, but we do not always have time to check here:-)

Rick

rmatus October 4, 2010 12:17

I forgot to mention that technical support includes taking your suggestions for adding features or other improvements to our software, so please make suggestions!

maddalena October 4, 2010 13:00

Quote:

Originally Posted by rmatus (Post 277728)
Alberto at Porto Ricerca, alberto@portoricerca.com, 039-466-9380.

Yes, of course, Alberto! I am so used to open source that sometimes I forget the good side of paying a software! :rolleyes:
Let us say that I will write to Alberto for any kind of support, and of course post here if I found something that can be useful to other Foamers.
Thanks

mad

sam1364 April 28, 2013 17:32

Dear Maddalana

I have the issue of defining cyclic B.C in pointwise for OpenFoam solver. So, I want the inflow and outflow of my geometry to be cyclic. therefore, I specify cyclic B.C for inflow and outflow and then I import the grid in OpenFoam. However, there I receive some errors that the areas do not match. Can you please explain more about create- periodic in pointwise more at this forum so that everyone can see the solution.

thanks



Quote:

Originally Posted by maddalena (Post 248330)
Ok ok... The two faces were not equals... Now it works perfectly!
And thanks to hrv, the pointwise -> OF conversion is simply great! :)


maddalena April 30, 2013 10:06

Quote:

Originally Posted by sam1364 (Post 423697)
Dear Maddalana

I have the issue of defining cyclic B.C in pointwise for OpenFoam solver. So, I want the inflow and outflow of my geometry to be cyclic. therefore, I specify cyclic B.C for inflow and outflow and then I import the grid in OpenFoam. However, there I receive some errors that the areas do not match. Can you please explain more about create- periodic in pointwise more at this forum so that everyone can see the solution.

thanks

Hello,
if you are trying to use Pointwise -> OpenFoam export for OF 2.0 or following, this will not work. Export works up to previous versions. For the newest versions, you should define your boundary as patch, export the grid, and create cyclic using createPatch utility.
Enjoy

mad

lfpaulinyi June 19, 2013 12:53

PointWise to OpenFoam 2.2.0
 
Quote:

if you are trying to use Pointwise -> OpenFoam export for OF 2.0 or following, this will not work. Export works up to previous versions. For the newest versions, you should define your boundary as patch, export the grid, and create cyclic using createPatch utility.
Dear Maddalena,

I have a ascii multi-block structured mesh and I used Pointwise to extrude the mesh and generate the patches for the boundary conditions.
I really had a hard time until I started generating my mesh in the counter clockwise sense, before doing that I always had an error message saying that I probably had a face ordering problem.
I used the createPatch utility and it worked, however I believe that the matchTolerance that I had to set was to high (0.1), most of the examples that I see uses 0.0001. Is there any problem in setting such a high match tolerance?

It also creates the mesh in a new folder 0.005, why does the program does that? Can I copy the updated boundary conditions mesh on the folder 0.005 to the constant folder?

Thanks

lakeat July 19, 2013 11:31

createPatch will do the job. Here is a sample createPatchDict.

Code:

/*--------------------------------*- C++ -*----------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.1.x                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.org                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
FoamFile
{
    version    2.0;
    format      ascii;
    class      dictionary;
    object      createPatchDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

pointSync true;

patches
(
    {
            // New name
        name inlet;
        patchInfo
        {
            type cyclic;
            neighbourPatch outlet;
        }

        constructFrom patches;
        // Name you used in pointwise. It could be the same as your "New name".
        patches (inlet);
    }
    {
        name outlet;
        patchInfo
        {
            type cyclic;
            neighbourPatch inlet;
        }

        constructFrom patches;
        patches (outlet);
    }
);

// ************************************************************************* //


lakeat July 19, 2013 11:33

Quote:

Originally Posted by cnsidero (Post 200986)
Offline a questioned was asked about the cyclic boundary condition type in Pointwise for the OpenFOAM export format.

I am told the standard OpenFOAM cyclic boundary condition requires the order of cells in a patch to match the ordering in the opposing patche.

Currently Pointwise does not have cyclic/periodic functionality - meaning even though your opposing patches are identical visually (geoemetrically, # points and distribution) there is no guarantee the cell orderings are matched. As such, exporting a grid from Pointwise to OpenFOAM with a cyclic boundary will most likely result in an error when running the mesh in OpenFOAM.

This deficiency is being addressed in two ways:

A. True cyclic/periodicity is scheduled to be implemented in the next version of Pointwise. When this happens the OpenFOAM export in Pointwise will be able to handle cyclic BCs correctly.

B. The General Grid Interface (GGI) that is currently in active development among some OpenFOAM'ers does not require matching face ordering for the opposing patches. Check with the GGI developers for the status on that functionality.

I will update this thread when periodicity is implemented in Pointwise.

Hi Chris,

Is there a way to save boundary conditions to a file in pointwise? Because there are so many boundaries names and types in my case, and I have a few cases that are having the same names and types, I just want to re-use them. I don't want to type them every time. Any ideas?

lfpaulinyi July 30, 2013 05:43

pointwise to OpenFoam 2.2.0
 
Dear lakeat,

thanks for the createPatchDict file. I was already using one and it was apparently working. I was only able to make it work with a tolerance of 0.1 which I thought was very weird since the cells coordinates match exactly on the cyclic boundaries.

I am very happy that I found out what was the problem in my mesh, the problem was that I used the Pointwise command Create>Extrude>Normal to create 1 cell thickness on the mesh. The generated mesh did not work whith the createPatch command for tolerances higher than 0.1, my simulations ran for a while and then broke down...
When I used Create>Extrude>Translate to extrude the mesh worked perfectly.

Thanks for your help.

Paulinyi

lakeat July 30, 2013 09:36

Yes, I always use "Create>Extrude>Translate" procedure. :D

Muhammad Omer Mughal December 31, 2014 23:58

P { margin-bottom: 0.21cm; } Hi Daniel

I am using terrainBlockMesher to mesh the terrain file.It generates the block mesh for my case but it lacks the capability to create cyclic boundary conditions.I therefore use the following createPatchDict to solve the problem but I got empty point and cell zones files and no cyclic patches are created and I donot see any error message as well .Can you kindly suggest what could be the problem?
pointSync true;

patches
(
{
// Name of new patch
name west;

// Type of new patch
patchInfo
{
type cyclic;
neighbourPatch east;

}
// How to construct: either from 'patches' or 'set'
constructFrom patches;

// If constructFrom = patches : names of patches. Wildcards allowed.
patches (west);
}
{
name east;
patchInfo
{
type cyclic;
neighbourPatch west;
}

constructFrom patches;
patches (east);
}
{
name north;
patchInfo
{
type cyclic;
neighbourPatch south;
}
constructFrom patches;
patches (north);
}
{
name south;
patchInfo
{
type cyclic;
neighbourPatch north;
}

constructFrom patches;
patches (south);
}
);


All times are GMT -4. The time now is 19:28.