diff --git a/dumux/decoupled/2p/diffusion/fv/fvvelocity2padaptive.hh b/dumux/decoupled/2p/diffusion/fv/fvvelocity2padaptive.hh index 23cae493333620de98ab00edcf22ff253788b80c..0cdb01bab97d7ec95f330bbfcef1c2c7ca5da456 100644 --- a/dumux/decoupled/2p/diffusion/fv/fvvelocity2padaptive.hh +++ b/dumux/decoupled/2p/diffusion/fv/fvvelocity2padaptive.hh @@ -579,20 +579,18 @@ void FVVelocity2PAdaptive<TypeTag>::calculateVelocity(const Intersection& inters } //store velocities - Scalar faceArea = intersection.geometry().volume(); - - cellData.fluxData().setVelocity(wPhaseIdx, isIndexI, velocityW); - cellData.fluxData().setVelocity(nPhaseIdx, isIndexI, velocityNw); - cellData.fluxData().setVelocityMarker(isIndexI); + cellData.fluxData().setVelocity(wPhaseIdx, isIndexI, velocityW); + cellData.fluxData().setVelocity(nPhaseIdx, isIndexI, velocityNw); + cellData.fluxData().setVelocityMarker(isIndexI); - Scalar weightingFactor = faceArea / elementJ->template subEntity<1>(isIndexJ)->geometry().volume(); + Scalar weightingFactor = std::pow(0.5, (dim - 1)*(elementI->level() - elementJ->level())); - velocityW *= weightingFactor; - velocityNw *= weightingFactor; + velocityW *= weightingFactor; + velocityNw *= weightingFactor; - cellDataJ.fluxData().addVelocity(wPhaseIdx, isIndexJ, velocityW); - cellDataJ.fluxData().addVelocity(nPhaseIdx, isIndexJ, velocityNw); - cellDataJ.fluxData().setVelocityMarker(isIndexJ); + cellDataJ.fluxData().addVelocity(wPhaseIdx, isIndexJ, velocityW); + cellDataJ.fluxData().addVelocity(nPhaseIdx, isIndexJ, velocityNw); + cellDataJ.fluxData().setVelocityMarker(isIndexJ); } return;