Merge pull request #626 from totto82/updateIntensive

Make a method that invalidate and updates the intensive quantities
This commit is contained in:
Atgeirr Flø Rasmussen 2020-09-28 09:02:30 +02:00 committed by GitHub
commit 0c4749b2d4

View File

@ -765,6 +765,26 @@ public:
}
}
void invalidateAndUpdateIntensiveQuantities(unsigned timeIdx) const
{
invalidateIntensiveQuantitiesCache(timeIdx);
// loop over all elements...
ThreadedEntityIterator<GridView, /*codim=*/0> threadedElemIt(gridView_);
#ifdef _OPENMP
#pragma omp parallel
#endif
{
ElementContext elemCtx(simulator_);
ElementIterator elemIt = threadedElemIt.beginParallel();
for (; !threadedElemIt.isFinished(elemIt); elemIt = threadedElemIt.increment()) {
const Element& elem = *elemIt;
elemCtx.updatePrimaryStencil(elem);
elemCtx.updatePrimaryIntensiveQuantities(/*timeIdx=*/0);
}
}
}
/*!
* \brief Move the intensive quantities for a given time index to the back.
*