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

distributedTriSurfaceMesh and findLine in parallel run

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   July 6, 2018, 08:11
Default distributedTriSurfaceMesh and findLine in parallel run
  #1
Member
 
Join Date: Jun 2011
Posts: 42
Rep Power: 14
mikeP is on a distinguished road
I have come across a problem with findLine function (the one in shootRays.H in viewFactorsGen). I am using findLine to see if a ray between two points intersects a distributedTriSurfaceMesh.

I had no problem so far, until the day I needed to use cyclic boundaries in a parallel run with the case decomposed with preservePatches option (so that the coupled cyclic boundaries are preserved on one processor). With this configuration, findLine function seems to see only the local surface mesh in each processor and not the global one.

If I use a serial case, there is no problem and the surface intersects the ray.
If I use a parallel case, but without preservePatches option, there is again no problem and the surface intersects the ray.
This only happens when the case is decomposed with preservePatches flag. It behaves as if the parts of the surface mesh on other processors do not exist.

Do you guys have any idea what could be leading to this? I can upload a particular case if someone is interested.
mikeP is offline   Reply With Quote

Old   July 6, 2018, 18:46
Default
  #2
Member
 
Join Date: Jun 2011
Posts: 42
Rep Power: 14
mikeP is on a distinguished road
I prepared a simple case with a slightly modified version of viewFactorsGen to demonstrate this behavior. (this is on of4x)

I simply try to send a ray from point (5.01 5 5) to (15.01 5 5), which should hit wall2 at point (15 5 5).
the modified utility in the attachment outputs several start points, end points, and hitInfo. Have a look at the point I noted above.

If I decompose with preservePatches option, the ray does not hit wall2. But, without preservePatches, the ray hits wall2 (which is the expected behavior).

I observe different behavior when I use different number of processors. So far, 5 and 8 processors did not cause the issue.

run the following commands to reproduce:
1) decomposePar -region air
2) mpirun -np 4 faceAgglomerate -region air -parallel
2) mpirun -np 4 viewFactorsGenTest -region air -parallel
Attached Files
File Type: zip viewFactorsGenTest.zip (170.2 KB, 0 views)
File Type: zip test_viewFactorsGen_4proc.zip (73.9 KB, 1 views)
mikeP 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



All times are GMT -4. The time now is 09:55.