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

Running mapFields with Parallel Source and Parallel Target

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

Like Tree1Likes
  • 1 Post By RDanks

Reply
 
LinkBack Thread Tools 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: 18
Rep Power: 6
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: 18
Rep Power: 6
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 likes this.
RDanks is offline   Reply With Quote

Old   June 6, 2011, 07:56
Default
  #3
Member
 
David GISEN
Join Date: Jul 2009
Location: Germany
Posts: 37
Rep Power: 8
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

Reply

Tags
mapfields, parallel computing

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 OpenFoam in parallel vishwa OpenFOAM 22 August 2, 2015 08: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 18:21
mapFields ignores sourceTime for -parallel source andersking OpenFOAM Bugs 2 September 2, 2009 10:38
Running decomposePar / reconstructPar as parallel apps? carcass OpenFOAM Running, Solving & CFD 2 July 22, 2009 10:56


All times are GMT -4. The time now is 17:51.