ebos: change the signature of transmissibility()

we now pass the context plus the local element indices instead of the
global ones. this allows more flexibility in how that data is stored
internally.
This commit is contained in:
Andreas Lauser 2016-10-30 18:41:58 +01:00
parent 323e4f1570
commit 2e0a8323f3
2 changed files with 10 additions and 3 deletions

View File

@ -219,7 +219,7 @@ protected:
unsigned I = stencil.globalSpaceIndex(interiorDofIdx_);
unsigned J = stencil.globalSpaceIndex(exteriorDofIdx_);
trans_ = problem.transmissibility(I, J);
trans_ = problem.transmissibility(elemCtx, interiorDofIdx_, exteriorDofIdx_);
faceArea_ = scvf.area();
thpres_ = problem.thresholdPressure(I, J);

View File

@ -595,8 +595,15 @@ public:
/*!
* \copydoc BlackOilBaseProblem::transmissibility
*/
Scalar transmissibility(unsigned elem1Idx, unsigned elem2Idx) const
{ return transmissibilities_.transmissibility(elem1Idx, elem2Idx); }
template <class Context>
Scalar transmissibility(const Context &context,
unsigned fromDofLocalIdx,
unsigned toDofLocalIdx) const
{
unsigned I = context.globalSpaceIndex(fromDofLocalIdx, /*timeIdx=*/0);
unsigned J = context.globalSpaceIndex(toDofLocalIdx, /*timeIdx=*/0);
return transmissibilities_.transmissibility(I, J);
}
/*!
* \copydoc BlackOilBaseProblem::thresholdPressure