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

Running mapFields with Parallel Source and Parallel Target

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 2 Post By RDanks

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   February 23, 2011, 16:47
Default Running mapFields with Parallel Source and Parallel Target
  #1
New Member
 
Ryan Danks
Join Date: Jan 2011
Posts: 20
Rep Power: 15
RDanks is on a distinguished road
Hello Foamers,

Basically my problem is that I want to decompose a case, run it out for a certain number of iterations, refine where needed using a cellSet by field and then refineMesh (both with -parallel), map the coarse mesh's fields onto the finer mesh and then continue, I was hoping to do all of this without reconstructing the mesh. (By the way I'm working in OF 1.7.1.)

My only sticking point so far is the fact that when I run mapFields with the -parallelSource and -parallelTarget flags the command throws some warnings (see output below) and nothing is written out in the target directory. It looks to me like each of the source processor directories tries to map to each of the target processor directories, which doesn't make sense.

I make the call like this from the target case directory...
Code:
mapFields ../test1 -parallelTarget -consistent -sourceTime latestTime -parallelSource
The geometry is consistent between the two meshes, the only difference is the refined mesh in the target case. I've checked in paraview and the refinement worked correctly. I've also tried running this without the -consistent flag and with a dict file explicitly mapping each boundary to itself and it still doesn't work.

Does anyone have any experience working with mapFields in parallel? I have no clue what I'm doing wrong!

Thanks.

Code:
Create databases as time

Source processor 0

Source time: 20
Target time: 20
mesh size: 50580

Target processor 0
mesh size: 50580
--> FOAM Warning :
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch inlet has no faces. Not performing mapping for it.
--> FOAM Warning :
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch cube has no faces. Not performing mapping for it.

Mapping fields for time 20


Target processor 1
mesh size: 51112
--> FOAM Warning :
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch inlet has no faces. Not performing mapping for it.
--> FOAM Warning :
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch cube has no faces. Not performing mapping for it.

Mapping fields for time 20


Source processor 1

Source time: 20
Target time: 20
mesh size: 50545

Target processor 0
mesh size: 50580
--> FOAM Warning :
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch outlet has no faces. Not performing mapping for it.

Mapping fields for time 20


Target processor 1
mesh size: 51112
--> FOAM Warning :
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch outlet has no faces. Not performing mapping for it.

Mapping fields for time 20


End

Last edited by RDanks; February 23, 2011 at 17:52.
RDanks is offline   Reply With Quote

Old   February 24, 2011, 15:32
Default Updates!
  #2
New Member
 
Ryan Danks
Join Date: Jan 2011
Posts: 20
Rep Power: 15
RDanks is on a distinguished road
I don't want to be one of those people that solve the problem and don't tell anyone else how they did it...

Basically what I did was rather than use the -parallelSource and -parallelTarget flags, I ran map fields on each processor directory individually. So the call from the source case directory was:
Code:
mapFields ../TargetCase/processorX -case processorX  -sourceTime latestTime -consistent
Where X was each processor number.

The odd thing is that I would assume this is exactly how it would work if both the -parallelSource and -parallelTarget flags were set. Anyone know if this is a bug in the OF 1.7.1 code?
kiddmax and Bana like this.
RDanks is offline   Reply With Quote

Old   June 6, 2011, 08:56
Default
  #3
Member
 
David GISEN
Join Date: Jul 2009
Location: Germany
Posts: 70
Rep Power: 17
David* is on a distinguished road
Similar problem here. I tried

Code:
mapFields ../H12 -sourceTime 8.3 -parallelSource
and got

Code:
Source time: 8.3
Target time: 8.3
mesh size: 259882
--> FOAM Warning : 
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch inlet has no faces. Not performing mapping for it.
--> FOAM Warning : 
    From function meshToMesh::calcAddressing()
    in file meshToMeshInterpolation/meshToMesh/calculateMeshToMeshAddressing.C at line 164
    Source patch structure has no faces. Not performing mapping for it.

Mapping fields for time 8.3

    interpolating nut
#0  Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#1  Foam::sigSegv::sigSegvHandler(int) in "/opt/OpenFOAM/OpenFOAM-1.7.x/lib/linux64GccDPOpt/libOpenFOAM.so"
#2   in "/lib/libc.so.6"
#3  
 at mapFields.C:0
#4  
 in "/opt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/mapFields"
#5  
 in "/opt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/mapFields"
#6  
 in "/opt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/mapFields"
#7  __libc_start_main in "/lib/libc.so.6"
#8  
 in "/opt/OpenFOAM/OpenFOAM-1.7.x/applications/bin/linux64GccDPOpt/mapFields"
Speicherzugriffsfehler (=segmentation fault)
after using -reconstructPar -time 8.3 on the source case, the problem was gone. Seems like the -parallelSource option does not work as intended.
David* is offline   Reply With Quote

Old   August 2, 2016, 05:47
Default
  #4
New Member
 
Join Date: Jul 2016
Posts: 4
Rep Power: 10
yb8119 is on a distinguished road
Hi David!

I got the same problem as described in the post, and I tried your method which is to reconstruct the source case.

Then the warnings did disappeared, however, nothing was written into processor folders.

The command I used is

Code:
mapFields ../test_parallel -parallelTarget -consistent
the output in the terminal looked like:
Code:
Create databases as time
Create source mesh

Source time: 2.5
Target time: 2.5
Source mesh size: 1600

Target processor 0
mesh size: 1016

Mapping fields for time 2.5

Target processor 1
mesh size: 584

Mapping fields for time 2.5

Do you have any idea why this happens?
Thanks in advance!
yb8119 is offline   Reply With Quote

Old   August 2, 2016, 06:24
Default
  #5
Member
 
David GISEN
Join Date: Jul 2009
Location: Germany
Posts: 70
Rep Power: 17
David* is on a distinguished road
Sorry, it's been too long and there were many changes in OF since 2011 so I'm not up to date in this matter. If parallel mapping is still not working as intented, you could create a small test case and submit it to the bug tracker.

Cheers, David
David* is offline   Reply With Quote

Reply

Tags
mapfields, parallel computing


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
Running decomposePar / reconstructPar as parallel apps? carcass OpenFOAM Running, Solving & CFD 3 January 17, 2024 08:19
running OpenFoam in parallel vishwa OpenFOAM Running, Solving & CFD 22 August 2, 2015 09:53
Superlinear speedup in OpenFOAM 13 msrinath80 OpenFOAM Running, Solving & CFD 18 March 3, 2015 06:36
Running in parallel Rasmus Gjesing (Gjesing) OpenFOAM 35 March 31, 2011 19:21
mapFields ignores sourceTime for -parallel source andersking OpenFOAM Bugs 2 September 2, 2009 11:38


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