View Issue Details

IDProjectCategoryView StatusLast Update
0000336OpenFOAMBugpublic2011-11-16 12:51
Reporteruser84Assigned Touser2 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary0000336: dieselFoam injects duplicate parcels at an interprocessor interface
DescriptionWith reference to parallel computations only.

If a parcel is injected along an interprocessor interface it is "claimed" by
both the adjoining processor domains with the result that two parcels are in fact injected.
( Further duplication is possible if 2 interprocessor interfaces lie "close" to the point of injection).

As an aside, although this processor decomposition appears to be very inefficient (owing
to repeating processor-processor transfers, shifts etc.) and although it does tend to produce
unstable results (usually observed through a collapse in p or singularity in U) it might deserve
a little attention, if only to run short test cases.

The difference between "serial" and "parallel" results is noticeable. In the case I happened
to be considering the spray size increased by approximately 25%.
Steps To Reproduce1) Decompose a block using the following "simple" decomposition:

( 2 2 1)

2) inject spray along the z axis and with an injection area extending over the intersection of processor
interfaces.

3) For ease of diagnostics, specify an injection of one parcel per (cfd) timestep.
Additional InformationIn sprayInject.C

instead of (Line126)

                if( injectorCell >= 0 )

I'm currently using

                if (
                        injectorCell >= 0
                        &&
                        ( Pstream::myProcNo() == iProc || !Pstream::parRun() )
                   )

where iProc corresponds to any one of the processors that "claim" the parcel (cf. findInjectorCell.H).
I'm sure you have better ideas regarding a more elegant implementation.

Regards,

Richard K.
TagsNo tags attached.

Activities

user2

2011-11-16 12:51

  ~0000800

Thanks for the report - this will be corrected for the next release

Issue History

Date Modified Username Field Change
2011-11-11 08:15 user84 New Issue
2011-11-16 12:51 user2 Note Added: 0000800
2011-11-16 12:51 user2 Status new => closed
2011-11-16 12:51 user2 Assigned To => user2
2011-11-16 12:51 user2 Resolution open => fixed
2011-11-16 12:51 user2 Fixed in Version => Other