CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

Some questions about a multi region case run in parallel

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

Like Tree1Likes
  • 1 Post By alexeym

Reply
 
LinkBack Thread Tools Display Modes
Old   March 17, 2015, 14:41
Smile Some questions about a multi region case run in parallel
  #1
Senior Member
 
Alex
Join Date: Oct 2013
Posts: 336
Rep Power: 15
zfaraday will become famous soon enough
Dear all,

I'm running some cases in parallel using chtMultiRegionSimpleFoam solver and during the whole process a few questions arose in my mind. First of all I will explain a little all the steps I'm taking during all the process:
  • Creation of the mesh using blockMesh and refinement of some zones with refineMesh
  • Decomposition (decomposePar) of the mesh in order to work in 4 processors
  • Creation of the cellZones with topoSet to split and create later all the regions (splitMeshRegions). Some other pre-processing utiliies are used at this stage, all of them are run, indeed, in parallel.
  • chtMultiRegionSimpleFoam is run in parallel.
  • wallHeatFlux is run, also, in parallel.
  • reconstructPar gives back the whole original geometry (including all the regions created in parallel)
  • The case is totally done!

Well, first of all, I use some function objects in order to obtain some values of the run. The most of these function objects calculate some values at patches. As the case is decomposed and run in parallel the following message is shown in the solver's log file:

Code:
--> FOAM Warning : 
    From function patchFunctionObject::start()
    in file patch/patchFunctionObject/patchFunctionObject.C at line 88
    Patch procBoundary0to1 in "/home/cfd/OpenFOAM/cfd-2.3.x/run/PFC/Inicial/Final/geometryUpdated/extraInnerRefinement/parallel_3.2.1.3/tol-5/prova-2_2_1-full_decomp/system/controlDict.functions.Qr_air_patches" is coupled.
Disabling. If you want it enabled set 'allowCoupled true;'
What's the meaning of that? Is there any problem in using function objects to calculate some variables at patches that may belong to more than one processor? Should I be worried about this message (I get it more than once in a run)? In spite of this message all values seem to be calculated correctly(?) somehow.

Another problem I had to face during the process is that I can't reconstruct the case (for this reason this stage is marked in red in the list). This is the output from the utility:

Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.x                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.3.x-ddb78f96a68b
Exec   : reconstructPar -allRegions
Date   : Mar 17 2015
Time   : 17:45:21
Host   : "linux-cfd"
PID    : 11950
Case   : /home/cfd/OpenFOAM/cfd-2.3.x/run/PFC/Inicial/Final/geometryUpdated/extraInnerRefinement/parallel_3.2.1.3/tol-5/prova-2_2_1-full_decomp
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Reconstructing for all regions in regionProperties



Reconstructing fields for mesh air



--> FOAM FATAL ERROR: 
Cannot find file "points" in directory "air/polyMesh" in times 0 down to constant

    From function Time::findInstance(const fileName&, const word&, const IOobject::readOption, const word&)
    in file db/Time/findInstance.C at line 203.

FOAM exiting
Of course there is no file "points" under "constant/air/polyMesh" because regions have been created in parallel so there are 4 files called "points" under "processor*/constant/air/polyMesh".

How can I run reconstrucPar successfully in my case?

Besides that, I realised that foamLog doesn't detect regions. It would be very useful to plot residuals for each region. I also found out that pyFoam doesn't hande multi region cases when it comes to residual outputs. Is there a way that I'm missing to plot residuals for each region separately?

Many thanks in advance!

Best regards,

Alex
__________________
Web site where I present my Master's Thesis: foamingtime.wordpress.com

The case I talk about in this site was solved with chtMultiRegionSimpleFoam solver and involves radiation. Some basic tutorials are also resolved step by step in the web. If you are interested in these matters, you are invited to come in!
zfaraday is offline   Reply With Quote

Old   March 21, 2015, 12:48
Default
  #2
Senior Member
 
Alex
Join Date: Oct 2013
Posts: 336
Rep Power: 15
zfaraday will become famous soon enough
No answers by now. I don't believe that thare aren't anyone that don't know how should I proceed to reconstruct my mesh properly. Can anyone, please, give me a hint on how to correctly reconstruct my multi region mesh?

I will be very grateful if somebody sheds a light on it!
__________________
Web site where I present my Master's Thesis: foamingtime.wordpress.com

The case I talk about in this site was solved with chtMultiRegionSimpleFoam solver and involves radiation. Some basic tutorials are also resolved step by step in the web. If you are interested in these matters, you are invited to come in!
zfaraday is offline   Reply With Quote

Old   March 21, 2015, 13:41
Default
  #3
Senior Member
 
Alexey Matveichev
Join Date: Aug 2011
Location: Nancy, France
Posts: 1,735
Rep Power: 29
alexeym will become famous soon enoughalexeym will become famous soon enough
Send a message via Skype™ to alexeym
Hi,

Quote:
Originally Posted by zfaraday View Post
Well, first of all, I use some function objects in order to obtain some values of the run. The most of these function objects calculate some values at patches. As the case is decomposed and run in parallel the following message is shown in the solver's log file:

Code:
--> FOAM Warning : 
    From function patchFunctionObject::start()
    in file patch/patchFunctionObject/patchFunctionObject.C at line 88
    Patch procBoundary0to1 in "/home/cfd/OpenFOAM/cfd-2.3.x/run/PFC/Inicial/Final/geometryUpdated/extraInnerRefinement/parallel_3.2.1.3/tol-5/prova-2_2_1-full_decomp/system/controlDict.functions.Qr_air_patches" is coupled.
Disabling. If you want it enabled set 'allowCoupled true;'
If you take a look at the code (http://sourceforge.net/p/openfoam-ex...nctionObject.C), you see that in case of warning patch just will be ignored by function object. The reason, I guess, values of the patch field can differ at adjacent coupled patches if solver was not fully converged (see for example http://www.openfoam.org/mantisbt/view.php?id=625).

Quote:
Originally Posted by zfaraday View Post
Another problem I had to face during the process is that I can't reconstruct the case (for this reason this stage is marked in red in the list).
It would be great to have small example case. Multi-region tutorial case runs OK and can be reconstructed.
vs1 likes this.
alexeym is offline   Reply With Quote

Old   March 21, 2015, 14:54
Default
  #4
Senior Member
 
Alex
Join Date: Oct 2013
Posts: 336
Rep Power: 15
zfaraday will become famous soon enough
Dear Alexey,

Thanks for your answer.
Quote:
Originally Posted by alexeym View Post
It would be great to have small example case. Multi-region tutorial case runs OK and can be reconstructed.
Yes, they do, but the procedure in which they are run is a little different from the one I'm using. Check carefully the procedure list I posted on my first post (I attach it here so that you don't even need to scroll up :P):
  • Creation of the mesh using blockMesh and refinement of some zones with refineMesh
  • Decomposition (decomposePar) of the mesh in order to work in 4 processors
  • Creation of the cellZones with topoSet to split and create later all the regions (splitMeshRegions). Some other pre-processing utiliies are used at this stage, all of them are run, indeed, in parallel.
  • chtMultiRegionSimpleFoam is run in parallel.
  • wallHeatFlux is run, also, in parallel.
  • reconstructPar gives back the whole original geometry (including all the regions created in parallel)
  • The case is totally done!

However, tutorials are run with a slight difference in the step list. This would be the list I would use if I follow the tutorial's procedure:
  • Creation of the mesh using blockMesh and refinement of some zones with refineMesh
  • Creation of the cellZones with topoSet to split and create later all the regions (splitMeshRegions). Some other pre-processing utiliies are used at this stage, all of them are NOT run, indeed, in parallel.
  • Decomposition (decomposePar -allRegions) of the mesh in order to work in 4 processors
  • chtMultiRegionSimpleFoam is run in parallel.
  • wallHeatFlux is run, also, in parallel.
  • reconstructPar -allRegions gives back the whole original geometry (including all the regions created in parallel)
  • The case is totally done!

I also ran the case successfully following the steps as they are shown in the tutorials, but I wanted to try the alternative method because I wanted to first decompose the mesh and manipulate it afterwards in parallel instead of only running the solver in parallel and do the other pre-processing steps in only one processor. Can you see the difference between both methods now? I don't know if I explained it well enough... Have you any suggestion on how to properly reconstruct my mesh?

Many thanks in advance!
__________________
Web site where I present my Master's Thesis: foamingtime.wordpress.com

The case I talk about in this site was solved with chtMultiRegionSimpleFoam solver and involves radiation. Some basic tutorials are also resolved step by step in the web. If you are interested in these matters, you are invited to come in!
zfaraday is offline   Reply With Quote

Old   October 28, 2015, 13:10
Default
  #5
Member
 
Sandra
Join Date: Oct 2014
Posts: 58
Rep Power: 5
sabago is on a distinguished road
Dear OFers,
I'm having a similar issue (to the one quoted below) when I try the mpirun after decomposePar

Part of error is below
FOAM FATAL ERROR:
[4] Cannot find file "points" in directory "anode/polyMesh" in times 0 down to constant

"anode" is a sub-folder in the "constant" folder (along with the overall "polyMesh") with its own "polyMesh" but when I check the processors0-7, they do not have the "anode" folder which I think is where the problem is coming from.

Any help/ideas on how to fix thus?

Best,
Sandra

Quote:
Originally Posted by zfaraday View Post
Dear all,

I'm running some cases in parallel using chtMultiRegionSimpleFoam solver and during the whole process a few questions arose in my mind. First of all I will explain a little all the steps I'm taking during all the process:
  • Creation of the mesh using blockMesh and refinement of some zones with refineMesh
  • Decomposition (decomposePar) of the mesh in order to work in 4 processors
  • Creation of the cellZones with topoSet to split and create later all the regions (splitMeshRegions). Some other pre-processing utiliies are used at this stage, all of them are run, indeed, in parallel.
  • chtMultiRegionSimpleFoam is run in parallel.
  • wallHeatFlux is run, also, in parallel.
  • reconstructPar gives back the whole original geometry (including all the regions created in parallel)
  • The case is totally done!

Well, first of all, I use some function objects in order to obtain some values of the run. The most of these function objects calculate some values at patches. As the case is decomposed and run in parallel the following message is shown in the solver's log file:

Code:
--> FOAM Warning : 
    From function patchFunctionObject::start()
    in file patch/patchFunctionObject/patchFunctionObject.C at line 88
    Patch procBoundary0to1 in "/home/cfd/OpenFOAM/cfd-2.3.x/run/PFC/Inicial/Final/geometryUpdated/extraInnerRefinement/parallel_3.2.1.3/tol-5/prova-2_2_1-full_decomp/system/controlDict.functions.Qr_air_patches" is coupled.
Disabling. If you want it enabled set 'allowCoupled true;'
What's the meaning of that? Is there any problem in using function objects to calculate some variables at patches that may belong to more than one processor? Should I be worried about this message (I get it more than once in a run)? In spite of this message all values seem to be calculated correctly(?) somehow.

Another problem I had to face during the process is that I can't reconstruct the case (for this reason this stage is marked in red in the list). This is the output from the utility:

Code:
/*---------------------------------------------------------------------------*\
| =========                 |                                                 |
| \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox           |
|  \\    /   O peration     | Version:  2.3.x                                 |
|   \\  /    A nd           | Web:      www.OpenFOAM.org                      |
|    \\/     M anipulation  |                                                 |
\*---------------------------------------------------------------------------*/
Build  : 2.3.x-ddb78f96a68b
Exec   : reconstructPar -allRegions
Date   : Mar 17 2015
Time   : 17:45:21
Host   : "linux-cfd"
PID    : 11950
Case   : /home/cfd/OpenFOAM/cfd-2.3.x/run/PFC/Inicial/Final/geometryUpdated/extraInnerRefinement/parallel_3.2.1.3/tol-5/prova-2_2_1-full_decomp
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Reconstructing for all regions in regionProperties



Reconstructing fields for mesh air



--> FOAM FATAL ERROR: 
Cannot find file "points" in directory "air/polyMesh" in times 0 down to constant

    From function Time::findInstance(const fileName&, const word&, const IOobject::readOption, const word&)
    in file db/Time/findInstance.C at line 203.

FOAM exiting
Of course there is no file "points" under "constant/air/polyMesh" because regions have been created in parallel so there are 4 files called "points" under "processor*/constant/air/polyMesh".

How can I run reconstrucPar successfully in my case?

Besides that, I realised that foamLog doesn't detect regions. It would be very useful to plot residuals for each region. I also found out that pyFoam doesn't hande multi region cases when it comes to residual outputs. Is there a way that I'm missing to plot residuals for each region separately?

Many thanks in advance!

Best regards,

Alex
sabago is offline   Reply With Quote

Old   February 23, 2017, 11:25
Default
  #6
Senior Member
 
Zeppo's Avatar
 
Sergei
Join Date: Dec 2009
Posts: 206
Rep Power: 14
Zeppo will become famous soon enough
Quote:
Originally Posted by zfaraday View Post
I also ran the case successfully following the steps as they are shown in the tutorials, but I wanted to try the alternative method because I wanted to first decompose the mesh and manipulate it afterwards in parallel instead of only running the solver in parallel and do the other pre-processing steps in only one processor. Can you see the difference between both methods now? I don't know if I explained it well enough... Have you any suggestion on how to properly reconstruct my mesh?
What advantages does the first method has over the second one? Performance?
Zeppo is offline   Reply With Quote

Reply

Tags
chtmultiregionsimplefoam, parallel, reconstructpar

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
Running AMI case in parallel Kaskade OpenFOAM Running, Solving & CFD 3 March 14, 2016 16:58
create constant transport properties for multi region case Kumudu OpenFOAM Pre-Processing 0 November 29, 2013 02:10
Multi region meshing & recovering the original patch names fluidpath OpenFOAM Native Meshers: snappyHexMesh and Others 4 May 19, 2013 19:13
multi region case - access field from another region mabinty OpenFOAM Programming & Development 3 September 6, 2011 10:25
Free surface boudary conditions with SOLA-VOF Fan Main CFD Forum 10 September 9, 2006 12:24


All times are GMT -4. The time now is 12:15.