blender/intern/elbeem/intern/paraloopend.h
2011-02-25 10:51:01 +00:00

46 lines
1.2 KiB
C

/** \file elbeem/intern/paraloopend.h
* \ingroup elbeem
*/
// same as grid loop_end + barrier
} // i
int i=0; //dummy
ADVANCE_POINTERS(2*gridLoopBound);
} // j
# if COMPRESSGRIDS==1
# if PARALLEL==1
//frintf(stderr," (id=%d k=%d) ",id,k);
#pragma omp barrier
# endif // PARALLEL==1
# else // COMPRESSGRIDS==1
int i=0; //dummy
ADVANCE_POINTERS(mLevel[lev].lSizex*2);
# endif // COMPRESSGRIDS==1
} // all cell loop k,j,i
#pragma omp critical
{
if(doReduce) {
// synchronize global vars
for(size_t j=0; j<calcListFull.size() ; j++) mListFull.push_back( calcListFull[j] );
for(size_t j=0; j<calcListEmpty.size(); j++) mListEmpty.push_back( calcListEmpty[j] );
for(size_t j=0; j<calcListParts.size(); j++) mpParticles->addFullParticle( calcListParts[j] );
if(calcMaxVlen>mMaxVlen) {
mMxvx = calcMxvx;
mMxvy = calcMxvy;
mMxvz = calcMxvz;
mMaxVlen = calcMaxVlen;
}
if(0) {debMsgStd("OMP_CRIT",DM_MSG, "reduce id"<<id<<" curr: "<<mMaxVlen<<"|"<<mMxvx<<","<<mMxvy<<","<<mMxvz<<
" calc[ "<<calcMaxVlen<<"|"<<calcMxvx<<","<<calcMxvy<<","<<calcMxvz<<"] " ,4 ); }
}
} // critical
} /* main_region */
//?lobOutstrForce = true;