62                                          const InteractionVolume& iv,
 
   63                                          const FVElementGeometry& fvGeometry)
 
   65        const auto& scv = iv.localScv(ivLocalScvIdx);
 
   69            const auto& firstGridScvf = fvGeometry.scvf(iv.localScvf(scv.localScvfIndex(0)).gridScvfIndex());
 
   70            const auto& secondGridScvf = fvGeometry.scvf(iv.localScvf(scv.localScvfIndex(1)).gridScvfIndex());
 
   72            typename MLGTraits::template CornerStorage<dim, dimWorld>::Type corners;
 
   73            corners[0] = fvGeometry.scv( scv.gridScvIndex() ).center();
 
   74            corners[1] = fvGeometry.facetCorner(firstGridScvf);
 
   75            corners[2] = fvGeometry.facetCorner(secondGridScvf);
 
   76            corners[3] = fvGeometry.vertexCorner(secondGridScvf);
 
   79            typename LocalScvType::LocalBasis basis;
 
   80            basis[0] = corners[1] - corners[0];
 
   81            basis[1] = corners[2] - corners[0];
 
   82            if ( !fvGeometry.gridGeometry().mpfaHelper().isRightHandSystem(basis) )
 
   83                swap(corners[1], corners[2]);
 
   85            return ScvGeometry(Dune::GeometryTypes::cube(ScvGeometry::mydimension), corners);
 
   88            DUNE_THROW(Dune::NotImplemented, 
"Mpfa-o local scv geometry computation in 3d");
 
   90            DUNE_THROW(Dune::InvalidStateException, 
"Mpfa only works in 2d or 3d");