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

Cyclic GGi

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 15, 2019, 16:32
Default
  #21
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi Hojatollah,

I suggest you try the case in solids4Foam; maybe whatever the issue is, it has been fixed.

Kind regards,
Philip
bigphil is offline   Reply With Quote

Old   November 22, 2019, 05:51
Default
  #22
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
I also check the geometry with solids4Foam and the issue still exist. It seen the problem is from Ggi class.
the geometry is work correctly with cyclic condition but it can't run with cyclicGgi.

Quote:
Originally Posted by bigphil View Post
Hi Hojatollah,

I suggest you try the case in solids4Foam; maybe whatever the issue is, it has been fixed.

Kind regards,
Philip
Hgholami is offline   Reply With Quote

Old   November 22, 2019, 08:44
Default
  #23
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Can you attach a small simple example case showing the problem?

Philip
bigphil is offline   Reply With Quote

Old   November 25, 2019, 15:14
Default
  #24
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Dear Philip
the attachment is a simple case for foam-extend4.0 and solids4Foam solver.

http://uupload.ir/view/i0vb_simplecyclicggicase.zip/ fileSize:4.1 Mb
or
https://gofile.io/?c=XNJhb1
or
https://filebin.net/vstxf2bco1ts6xbd...zip?t=ag494xny


Quote:
Originally Posted by bigphil View Post
Can you attach a small simple example case showing the problem?

Philip
Hgholami is offline   Reply With Quote

Old   November 26, 2019, 06:39
Default
  #25
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
Hi,

In the case, you did not define the top and bottom patches as cyclicGgi in the polyMesh/boundary file (as described earlier in this post) e.g.
Code:
top
{
    type            cyclicGgi;
    nFaces          200;
    startFace       27345;
    shadowPatch     bottom;
    zone            topZone;
    bridgeOverlap   false;
    rotationAxis    (0 0 1);
    rotationAngle   0;
    separationOffset (0 -0.05 0);
}

bottom
{
    type            cyclicGgi;
    nFaces          200;
    startFace       27545;
    shadowPatch     top;
    zone            bottomZone;
    bridgeOverlap   false;
    rotationAxis    (0 0 1);
    rotationAngle   0;
    separationOffset (0 0.05 0);
}
Once this is defined, the solver seems to run.

Philip
bigphil is offline   Reply With Quote

Old   November 26, 2019, 09:58
Default
  #26
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Hi ,
In zip file, I modified polyMesh/boundary file by hand (without ./Allrun) as bellow:
Quote:
7
(
inlet
{
type patch;
nFaces 50;
startFace 27295;
}

top
{
type cyclicGgi;
nFaces 200;
startFace 27345;
shadowPatch bottom;
zone topZone;
bridgeOverlap off; //or false
rotationAxis (0 0 1);
rotationAngle 0;
separationOffset (0 -0.05 0);

}

bottom
{
type cyclicGgi;
nFaces 200;
startFace 27545;
shadowPatch top;
zone bottomZone;
bridgeOverlap off; //or false
rotationAxis (0 0 1);
rotationAngle 0;
separationOffset (0 0.05 0);
}
...
It seen same as your code, but my problem is
Quote:
...
Time = 0.001, iteration: 1
Modes before clean-up : 0, modes after clean-up : 0
Current fsi under-relaxation factor: 0.05
Creating accumulated fluid interface displacement
Maximal accumulated displacement of interface points: 0
GAMG: Solving for cellMotionUx, Initial residual = 0, Final residual = 0, No Iterations 1
GAMG: Solving for cellMotionUy, Initial residual = 0, Final residual = 0, No Iterations 1
GAMG: Solving for cellMotionUx, Initial residual = 0, Final residual = 0, No Iterations 1
GAMG: Solving for cellMotionUy, Initial residual = 0, Final residual = 0, No Iterations 1


--> FOAM FATAL ERROR:
Attempting to create reconFaceCellCentres on a shadow

From function void ggiPolyPatch::calcReconFaceCellCentres() const
in file meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C at line 303.

FOAM aborting

Aborted (core dumped)
I don;t understand, where is problem? Is it work in your PC?

Quote:
Originally Posted by bigphil View Post
Hi,

In the case, you did not define the top and bottom patches as cyclicGgi in the polyMesh/boundary file (as described earlier in this post) e.g.
Code:
top
{
    type            cyclicGgi;
    nFaces          200;
    startFace       27345;
    shadowPatch     bottom;
    zone            topZone;
    bridgeOverlap   false;
    rotationAxis    (0 0 1);
    rotationAngle   0;
    separationOffset (0 -0.05 0);
}

bottom
{
    type            cyclicGgi;
    nFaces          200;
    startFace       27545;
    shadowPatch     top;
    zone            bottomZone;
    bridgeOverlap   false;
    rotationAxis    (0 0 1);
    rotationAngle   0;
    separationOffset (0 0.05 0);
}
Once this is defined, the solver seems to run.

Philip
Hgholami is offline   Reply With Quote

Old   November 26, 2019, 11:31
Default
  #27
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
OK, I didn't realise I should not use the Allrun script.

When I run it on my computer, it continues to run and does not give an error.

From examining the solution in the written time-steps, the inlet velocity condition does not seem correct (unlelated to cyclicGgi) so I then changed it to fixedValue with (3 0 0) and then the p and U fields looked reasonable.

I was using the development branch of solids4Foam (commit: 9b06f42) but I think the master should be almost the same, and foam-extend-4.0 (commit: 246a172c9).

Philip
bigphil is offline   Reply With Quote

Old   November 26, 2019, 15:39
Default
  #28
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
As you noted, I realize that the case study running continues in your computer without error. I checked the Turek&Hron benchmark with cyclicGgi in my PC and it work good. But for the case study, it take error in both fsiFoam and solids4Foam solvers.

I uses last solids4Foam in bitBucket. and the foam-extend-4.0 from https://github.com/Unofficial-Extend...oam-extend-4.0.
I think the problem comes from foam-extend's ggi but still confuse why in my PC. Can you give me your foam-extend-4.0 (commit: 246a172c9) for downloading and testing it?


Quote:
Originally Posted by bigphil View Post
OK, I didn't realise I should not use the Allrun script.

When I run it on my computer, it continues to run and does not give an error.

From examining the solution in the written time-steps, the inlet velocity condition does not seem correct (unlelated to cyclicGgi) so I then changed it to fixedValue with (3 0 0) and then the p and U fields looked reasonable.

I was using the development branch of solids4Foam (commit: 9b06f42) but I think the master should be almost the same, and foam-extend-4.0 (commit: 246a172c9).

Philip
Hgholami is offline   Reply With Quote

Old   November 27, 2019, 07:31
Default
  #29
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
I was able to reproduce your error by using a more recent commit of foam-extend-4.0.

The foam-extend-4.0 commit that does not give an error (though I have not checked if the results are correct) is:
246a172c9d9ecdbfc8f18b8224467de7f2b7606e

A more recent foam-extend-4.0 commit that gives the error is: 10298020aac73b7f4b194c0369669c07325eb438

By using "git diff" to compare the commits (git diff 246a172c9d9ecdbfc8f18b8224467de7f2b7606e.. 10298020aac73b7f4b194c0369669c07325eb438 -- $FOAM_SRC), I can see that some code has changed in the GGI classes.

So I suggest one/both of the following:
  • Run your code in debug mode and through a debugger and find where the error is coming from i.e. what class; hopefully, this will tell where the problem is and how to fix it
  • Check that the older commit above works for you and compare the code between the two commits above and see if you can find what the problem is

Philip
bigphil is offline   Reply With Quote

Old   November 28, 2019, 06:27
Default
  #30
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Dear Philip
Thanks for your reply.
I do your recommends. First I use debugSwitches for ggiInterpolation, ggi, cyclicggi, but It can't help me to recognize problem base. The attachment is log of it.
Second, I change src folder of my current foam-extend4.0 with src folder of commit 246a172c9d9ecdbfc8f18b8224467de7f2b7606e. But another error occur as:
Quote:
Selecting physicsModel fluidSolidInteraction

Selecting fluidSolidInterface method IQNILS

Selecting fluidModel icoFluid
Selecting dynamicFvMesh dynamicMotionSolverFvMesh
ggiPolyPatch::calcRemoteZoneAddressing() const for patch top
Initializing the GGI interpolator between master/shadow patches: top/bottom

From function void ggiPolyPatch::calcPatchToPatch() const
in file meshes/polyMesh/polyPatches/constraint/ggi/ggiPolyPatch.C at line 211
Calculating patch to patch interpolation for patchtop


--> FOAM FATAL ERROR:
Addressing already calculated

From function void GGIInterpolation<MasterPatch, SlavePatch>::calcAddressing() const
in file /home/itp/foam/foam-extend-4.0/src/foam/lnInclude/GGIInterpolationWeights.C at line 104.

FOAM aborting

Aborted (core dumped)
This error also occur for Turek & Hron benchmark.
Attached Files
File Type: txt log solids4Foam.txt (8.3 KB, 1 views)
Hgholami is offline   Reply With Quote

Old   December 12, 2019, 11:08
Default
  #31
Member
 
Thomas
Join Date: Nov 2017
Posts: 37
Rep Power: 9
hand90 is on a distinguished road
Hi everyone

This is probably going to be a very silly question but how do I define the faceZones?

I have imported a mesh of a 3D blade passage from ICEM with defined patches: Inlet, Outlet, Side1 (empty), Side2 (empty), SYM1 and SYM2.
Now I was able to run the simulation in a different OF version using cyclicAMI. However I am trying to use foam-extend 4.0 where I only have cyclicGgi available.

When the mesh is imported I have the following folders in polyMesh: boundary, cellZones, faces, faceZones, neighbour, owner, points,pointZones. Within the folder faceZones I do have 4 different zones, however they belong to different volume parts in the mesh and the periodic boundaries (SYM1 and SYM2) stretch through all zones.

Does anyone have a suggestion?
hand90 is offline   Reply With Quote

Old   December 12, 2019, 11:49
Default
  #32
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
You can use setSet and setsToZones.

Note: you may want to remove the old zones first i.e. rm -rf constant/polyMesh/faceZones.

Then use setSet and setsToZones:

Code:
$> setSet

readline>faceSet SYM1 new patchToFace SYM1
readline>faceSet SYM2 new patchToFace SYM2
readline>quit
Code:
$> setsToZones -noFlipMap

Philip
hand90 likes this.
bigphil is offline   Reply With Quote

Old   December 12, 2019, 12:46
Default
  #33
Member
 
Thomas
Join Date: Nov 2017
Posts: 37
Rep Power: 9
hand90 is on a distinguished road
Dear Philip

This worked a perfectly. Thank you so much for that quick answer!
I applied that to two simulation setups I have (different mesh). In one it worked without an error and in the other simulation I got the following error:

Found uncovered faces for GGI interface SYM1/SYM2 while the bridgeOverlap option is not set in the boundary file.
This is an unrecoverable error. Aborting.

But by changing bridgeOverlap to "True" it was solved.
I am not fully sure why there seems to be uncovered faces as the simulation did run before hand with cyclicAMI.

Many thanks again
hand90 is offline   Reply With Quote

Old   December 13, 2019, 05:48
Default
  #34
Super Moderator
 
bigphil's Avatar
 
Philip Cardiff
Join Date: Mar 2009
Location: Dublin, Ireland
Posts: 1,096
Rep Power: 34
bigphil will become famous soon enoughbigphil will become famous soon enough
The uncovered faces error says that your two cyclic patches do not fully overlap (to some built-in tolerance), possibly this could be due to an incorrectly prescribed transformation in the "boundary" file. Either way, it is a good idea to check the solution fields on both patches when you run your case to see if they are consistent.
hand90 likes this.
bigphil is offline   Reply With Quote

Old   February 5, 2020, 04:24
Default
  #35
Senior Member
 
Hojatollah Gholami
Join Date: Jan 2019
Posts: 171
Rep Power: 7
Hgholami is on a distinguished road
Dear foamer
In previous problem, I checked a lot of commits, that not work correctly. In another try, I use DebugSwitches in controlDict
Quote:
DebugSwitches
{
cyclicGgi 2;
ggi 2;
}
and write some Info in calcReconFaceCellCentres class.
The results show that, the solver selects correctly master patch as "top" and shadow patch as "bottom" and start running.
But after calculating pointMotionU, the calcReconFaceCellCentres class again called and after selecting top patch, go to selecting bottom patch. As the bottom patch isn't master, so the -->
Quote:
FOAM FATAL ERROR:
Attempting to create reconFaceCellCentres on a shadow
occurs. As my test, it seen this problem usually appears in problem with more than a interface (should note: In fsiFoam, multiInterface merged as single Interface).
As the pointMotionU can't has boundary as cyclicGgi, so it defined as fixedValue; and If we use any others solver without calculating dynamic Motion is work correctly. So, it seen error comes from pointMotion. But how?
Hgholami 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
Ggi FabOr OpenFOAM 17 May 9, 2013 11:19
Cyclic vs ggi vs directMapped Patches jens_klostermann OpenFOAM Running, Solving & CFD 33 May 3, 2013 03:45
Difference between ggi and overlapGgi? GGI Tips and Tricks? philippose OpenFOAM Running, Solving & CFD 7 January 16, 2013 10:40
GGI in OpenFOAM-1.5-dev philippose OpenFOAM Running, Solving & CFD 14 November 13, 2011 15:55
Pressure instability with rhoSimpleFoam daniel_mills OpenFOAM Running, Solving & CFD 44 February 17, 2011 18:08


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