diff --git a/fem/transfer/mgtransfer.cc b/fem/transfer/mgtransfer.cc index d81258144a7a459265769ba2caa9b7bc529442cb..2eb346fc2869ccf11ce3825bebbcae493008635c 100644 --- a/fem/transfer/mgtransfer.cc +++ b/fem/transfer/mgtransfer.cc @@ -11,9 +11,6 @@ void Dune::MGTransfer<DiscFuncType>::setup(const FunctionSpaceType& cS, const Fu coarseLevel = cS.level(); fineLevel = fS.level(); - //assert(fL == cL+1); - //assert(level<grid_->maxlevel()); - typedef typename FunctionSpaceType::GridType GridType; int rows = fS.size(); @@ -32,7 +29,6 @@ void Dune::MGTransfer<DiscFuncType>::setup(const FunctionSpaceType& cS, const Fu ElementIterator cEndIt = grid.template lend<0>(coarseLevel); for (; cIt != cEndIt; ++cIt) { - //std::cout << "Coarse: " << cIt->index() << "\n"; const BaseFunctionSetType& coarseBaseSet = fS.getBaseFunctionSet( *cIt ); const int numCoarseBaseFct = coarseBaseSet.getNumberOfBaseFunctions(); @@ -46,7 +42,8 @@ void Dune::MGTransfer<DiscFuncType>::setup(const FunctionSpaceType& cS, const Fu for (; fIt != fEndIt; ++fIt) { - //std::cout << "Coarse: " << cIt->index() << " fine: " << fIt->index() << "\n"; + if (fIt->level()==cIt->level()) + continue; const BaseFunctionSetType& fineBaseSet = fS.getBaseFunctionSet( *fIt ); const int numFineBaseFct = fineBaseSet.getNumberOfBaseFunctions(); @@ -59,26 +56,16 @@ void Dune::MGTransfer<DiscFuncType>::setup(const FunctionSpaceType& cS, const Fu int globalFine = fS.mapToGlobal(*fIt, j); - - //std::cout << "globalCoarse: " << globalCoarse - // << " globalFine: " << globalFine << "\n"; - // Evaluate coarse grid base function at the location of the fine grid dof // first determine local fine grid dof position FieldVector<double, GridType::dimension> local = cIt->geometry().local(fIt->geometry()[j]); - //std::cout << "finePos" << fIt->geometry()[j] << "\n"; - //std::cout << "locally" << local << "\n"; - // Evaluate coarse grid base function - typename FunctionSpaceType::Range value; FieldVector<int, 0> diffVariable; coarseBaseSet.evaluate(i, diffVariable, local, value); - //std::cout << "value: " << value << "\n"; - matrix_.set(globalFine, globalCoarse, value[0]); }