diff options
author | Nils Thuerey <nils@thuerey.de> | 2007-11-24 20:10:48 +0300 |
---|---|---|
committer | Nils Thuerey <nils@thuerey.de> | 2007-11-24 20:10:48 +0300 |
commit | 7dc125086526d40e8b753f655c44bcb06e44c2d9 (patch) | |
tree | b35ae28f1b569a45ba18d02cbdeff5465c25c93f | |
parent | a0658707e12869c3a54c68c2261517d5b4a2242e (diff) |
- forgot to include a file in the last commit
-rw-r--r-- | intern/elbeem/intern/paraloopend.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/intern/elbeem/intern/paraloopend.h b/intern/elbeem/intern/paraloopend.h new file mode 100644 index 00000000000..6bb224b625a --- /dev/null +++ b/intern/elbeem/intern/paraloopend.h @@ -0,0 +1,42 @@ + +// 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(int j=0; j<calcListFull.size() ; j++) mListFull.push_back( calcListFull[j] ); + for(int j=0; j<calcListEmpty.size(); j++) mListEmpty.push_back( calcListEmpty[j] ); + for(int 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; + |