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

MRFSimpleFoam with cyclicGgi in parallel

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree1Likes
  • 1 Post By hannes

Reply
 
LinkBack Thread Tools Display Modes
Old   April 7, 2009, 03:48
Default MRFSimpleFoam with cyclicGgi in parallel
  #1
Member
 
Hannes Kröger
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 95
Rep Power: 9
hannes is on a distinguished road
Hello to everyone,

I encounter a problem when I try to use the the cyclicGgi in MRFSimpleFoam in a parallel run (using the latest OF-1.5-dev from SVN).
As I have found out, the new GGI-Implementation requires the two cyclic patches to be in two different zones whereas the MRF solver requires them to be in the rotor zone. So, I have defined the two cyclic face zones in the constant/MRFZones dict to be rotating as well (symmm and symmp are the cyclic patch face zones, the corresponding cellZones are empty):

3
(
rotor
{
patches (PROP);
origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 58.6431;
}
symmm
{
patches ();
origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 58.6431;
}
symmp
{
patches ();
origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 58.6431;
}
)

This seems to work in serial, but when I try to run the case in parallel, the following error occurs:

Starting time loop
Time = 1
smoothSolver: Solving for Ux, Initial residual = 1, Final residual = 0.0591515, No Iterations 2
smoothSolver: Solving for Uy, Initial residual = 1, Final residual = 0.0426731, No Iterations 2
smoothSolver: Solving for Uz, Initial residual = 1, Final residual = 0.0704887, No Iterations 2
[1]
[1]
[1] given label greater than the number of geometric faces
#0 Foam::error:rintStack(Foam::Ostream&) in "/home/kroegeh/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::error::abort() in "/home/kroegeh/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 Foam:olyBoundaryMesh::whichPatch(int) const in "/home/kroegeh/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libOpenFOAM.so"
#3 Foam::MRFZone::relativeFlux(Foam::GeometricField<d ouble, Foam::fvsPatchField, Foam::surfaceMesh>&) const in "/home/kroegeh/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libfiniteVolume.so"
#4 Foam::MRFZones::relativeFlux(Foam::GeometricField< double, Foam::fvsPatchField, Foam::surfaceMesh>&) const in "/home/kroegeh/OpenFOAM/OpenFOAM-1.5-dev/lib/linux64GccDPOpt/libfiniteVolume.so"
#5 main in "/home/kroegeh/OpenFOAM/kroegeh-1.5-dev/applications/bin/linux64GccDPOpt/MRFSimpleFoam"
#6 __libc_start_main in "/lib/libc.so.6"
#7 Foam::regIOobject::writeObject(Foam::IOstream::str eamFormat, Foam::IOstream::versionNumber, Foam::IOstream::compressionType) const in "/home/kroegeh/OpenFOAM/kroegeh-1.5-dev/applications/bin/linux64GccDPOpt/MRFSimpleFoam"

It seems that the MRFZones-Code tries to access some faces that are not present. Is there a nice and elegant way to fix that?

Best regards, Hannes
hannes is offline   Reply With Quote

Old   April 9, 2009, 04:55
Default
  #2
Member
 
Hannes Kröger
Join Date: Mar 2009
Location: Rostock, Germany
Posts: 95
Rep Power: 9
hannes is on a distinguished road
For those who are interested: I have fixed it by inserting the marked statement below in MRFZones.C (in function "relativeFlux"):

forAll(faces, i)
{
label facei = faces;
if (facei < mesh_.nInternalFaces())
{
phi[facei] -= (Omega ^ (Cf[facei] - origin)) & Sf[facei];
}
[i] else if (facei < mesh_.nFaces())
{
label patchi = mesh_.boundaryMesh().whichPatch(facei);
label patchFacei = mesh_.boundaryMesh()[patchi].whichFace(facei);
phi.boundaryField()[patchi][patchFacei] -=
(Omega ^ (Cf.boundaryField()[patchi][patchFacei] - origin))
& Sf.boundaryField()[patchi][patchFacei];
}
}
mm.abdollahzadeh likes this.
hannes is offline   Reply With Quote

Old   April 14, 2009, 03:51
Default
  #3
Senior Member
 
BastiL
Join Date: Mar 2009
Posts: 471
Rep Power: 11
bastil is on a distinguished road
Hannes,

take into account using the MRF from 1.5.x combined with ggi from 1.5-dev. The latest MRF can use cellZones without Facezones so you can form a cellzone for your mrf and a faceZone for the ggi.

Regards.
bastil is offline   Reply With Quote

Old   April 30, 2009, 06:49
Default
  #4
New Member
 
Ravi
Join Date: Apr 2009
Posts: 1
Rep Power: 0
raavis is on a distinguished road
Hanes

I am trying to setup a MRF simulaton with ggi. Will it be possible for you to send me your system dictionaries, constant/dictionaries, boundary file and 0/files?

Thanks
raavis is offline   Reply With Quote

Old   May 1, 2009, 04:02
Default
  #5
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,763
Rep Power: 21
hjasak will become famous soon enough
Fixed - thank you for the bug fix. Apologies - there may be a few more problems like this because the mesh is now a bit more complex.

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   April 29, 2010, 08:52
Default
  #6
Member
 
Timo K.
Join Date: Feb 2010
Location: University of Stuttgart
Posts: 66
Rep Power: 7
timo_IHS is on a distinguished road
Hello everybody,

I also want to run MRFSimpleFoam with cyclicGgi (latest OF-1.5-dev version).
Running this job in parallel doesn't work, a single run works.
Is there a mistake in my setup or is it a generell problem to run MRF with cyclicGgi in parallel?

Thanks in advance
Timo
timo_IHS is offline   Reply With Quote

Old   April 29, 2010, 11:21
Default
  #7
Senior Member
 
BastiL
Join Date: Mar 2009
Posts: 471
Rep Power: 11
bastil is on a distinguished road
Parallel run should work. Without knowing you setup I would suspect it is more likely to have an error in this than a problem with Paralleisation. How doues your setup look like? How did you decompose your case?

Regards.
bastil is offline   Reply With Quote

Old   April 29, 2010, 12:50
Default
  #8
Member
 
Timo K.
Join Date: Feb 2010
Location: University of Stuttgart
Posts: 66
Rep Power: 7
timo_IHS is on a distinguished road
The steps of my setup are:

I. the "makeMesh" file for the setup
####for MRF:
cellSet ###choose all cells of rotor
setsToZones -noFlipMap
cp system/faceSetDict_rotorFaces system/faceSetDict
faceSet ###choose all faces of set rotor
cp system/faceSetDict_delInlet system/faceSetDict
faceSet ###delete faces of patch inlet
cp system/faceSetDict_delOutlet system/faceSetDict
faceSet ###delete faces of patch outlet
####for cyclicGgi:
cp system/faceSetDict_per1 system/faceSetDict
faceSet ###create face-zone per1_zone
cp system/faceSetDict_per2 system/faceSetDict
faceSet ###create face-zone per2_zone
setsToZones -noFlipMap


II: my constant/MRFzones:
1
(
rotor
{
patches (hub per1 per2 shroud blade);
origin origin [0 1 0 0 0 0 0] (0 0 0);
axis axis [0 0 0 0 0 0 0] (0 0 1);
omega omega [0 0 -1 0 0 0 0] 100.81;
}
)


III: my system/decomposeParDict:
numberOfSubdomains 2;

method metis;

globalFaceZones ( per1_zone per2_zone );
metisCoeffs
{
processorWeights
(
1 1
);
}
...


Btw: I checked one setup possibility, I want to tell (single run):
if I delete the periodic faces of my set rotor (I), the results at the ggi are nonsens (velocity and pressure profile)

If you need some more info, let me know!
timo_IHS is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
MRFSimpleFoam Tutorial bastil OpenFOAM Running, Solving & CFD 48 August 1, 2012 10:00
Script to Run Parallel Jobs in Rocks Cluster asaha OpenFOAM Running, Solving & CFD 12 July 4, 2012 22:51
HP MPI warning...Distributed parallel processing Peter CFX 10 May 14, 2011 06:17
IcoFoam parallel woes msrinath80 OpenFOAM Running, Solving & CFD 9 July 22, 2007 02:58
Parallel Computing Classes at San Diego Supercomputer Center Jan. 20-22 Amitava Majumdar Main CFD Forum 0 January 5, 1999 13:00


All times are GMT -4. The time now is 11:50.