CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Cyclic boundaries in OF 21x (https://www.cfd-online.com/Forums/openfoam/108645-cyclic-boundaries-21x.html)

sam1364 May 3, 2013 18:09

Dear maddalena and Michaelthanks to your comments on this page, I was able to create cyclic patches in openfoam 2.1.0 for 2D geometry. But, when I used the same instruction for 3D geometry, it failed. what could be the possible reason?

So, in my geometry, I want the inlet,outlet, front and back planes to be cyclic

Just I want to emphasize that, to define two patches as cyclic, I did not have any problem. but for four patches to be cyclic, I had issues. I did creating cyclic patches for each pair separately which did not work either.

I have attached the createPatchDict and my boundary

I would be grateful if you can help me.

Thanks

boundary:


(
front
{
type patch;
nFaces 8288;
startFace 2780326;
}
back
{
type patch;
nFaces 8288;
startFace 2788614;
}
inflow
{
type patch;
nFaces 8362;
startFace 2796902;
}
outflow
{
type patch;
nFaces 8362;
startFace 2805264;
}
wall1
{
type wall;
nFaces 12656;
startFace 2813626;
}
wall2
{
type wall;
nFaces 12656;
startFace 2826282;
}
)



createPatch:

pointSync true;

// Patches to create.
patches
(
{
// Name of new patch
name inflow_cyclic;

// Type of new patch
patchInfo
{
type cyclic;
matchTolerance 0.001;
neighbourPatch outflow_cyclic;
}

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

// If constructFrom = patches : names of patches. Wildcards allowed.
patches ( inflow );
}


{
// Name of new patch
name outflow_cyclic;

// Type of new patch
patchInfo
{
type cyclic;
matchTolerance 0.001;
neighbourPatch inflow_cyclic;
}

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

// If constructFrom = patches : names of patches. Wildcards allowed.
patches ( outflow );
}

{
// Name of new patch
name front_cyclic;

// Type of new patch
patchInfo
{
type cyclic;
matchTolerance 0.001;
neighbourPatch back_cyclic;
}

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

// If constructFrom = patches : names of patches. Wildcards allowed.
patches ( front );
}


{
// Name of new patch
name back_cyclic;

// Type of new patch
patchInfo
{
type cyclic;
matchTolerance 0.001;
neighbourPatch front_cyclic;
}

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

// If constructFrom = patches : names of patches. Wildcards allowed.
patches ( back );
}

);

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

maddalena May 6, 2013 02:25

Hi Sam,
your problem may lay here:
Quote:

Originally Posted by sam1364 (Post 425099)
createPatch:

pointSync true;
//

as explained in createPatchDict example you have on your OpenFoam installation:
Code:

// Do a synchronisation of coupled points after creation of any patches.
// Note: this does not work with points that are on multiple coupled patches
//      with transformations (i.e. cyclics).
pointSync false;

Thus if you have front patch sharing some points with inflow or outflow patch, then your createPatch will not work.
Hope this help.

mad

NB: double posting is NEVER a good idea!

sam1364 May 8, 2013 18:06

thanks. I guess the problem is solved based on your comment.

james80 May 10, 2013 04:50

Hi,

I am running a case alongside one on fluent, hoping to compare the two. I have imported the mesh from gambit and appear to have succesfully implemented createPatchDict to create the cyclic boundarys.

The case starts to run, but when it goes to seed the first set of results, i get the following error:

More than one patch accesing the same transform but not of the same sign.
patch: cyc_half0 transform:0 sign:1 current transforms: (1 0 0)

Anyone have any ideas about how to solve this issue?

any help greatly appreciated

James

sam1364 May 13, 2013 21:34

which version of OF did you use? if you are using 2.1.X, you should be able to create the cyclic boundaries following this page instruction.

[
QUOTE=james80;426484]Hi,

I am running a case alongside one on fluent, hoping to compare the two. I have imported the mesh from gambit and appear to have succesfully implemented createPatchDict to create the cyclic boundarys.

The case starts to run, but when it goes to seed the first set of results, i get the following error:

More than one patch accesing the same transform but not of the same sign.
patch: cyc_half0 transform:0 sign:1 current transforms: (1 0 0)

Anyone have any ideas about how to solve this issue?

any help greatly appreciated

James[/QUOTE]

sam1364 May 13, 2013 22:35

Dear Mad and Michael,

I was successful in creating cyclic patches for my geometry. Now, my question is regarding the parallel processing. is it enough to add "preservepatches (cyclic boundaries);" into decomposeParDict and then run decomposePar at the terminal? or I should do something extra in order to decompose a domain with cyclic patches?

Thanks,
pooyan


All times are GMT -4. The time now is 03:24.