<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <p style="margin-bottom: 0cm; line-height: 100%">Dear Dune,</p>
    <p style="margin-bottom: 0cm; line-height: 100%">I have an
      compilation error, when I try to use the mmv-function of the
      BCRSMatrix from dune-istl regarding the ISTLBlockVectorContainer
      from
      PDELab:</p>
    <p style="margin-bottom: 0cm; line-height: 100%">----------------------------------</p>
    <p style="margin-bottom: 0cm; line-height: 100%">/home/user/Bachelor/Dune/dune-istl/dune/istl/bcrsmatrix.hh:1679:22:
error:
      no match for ‘operator[]’ (operand types are ‘const
      Dune::PDELab::ISTLBlockVectorContainer<Dune::PDELab::GridFunctionSpace<Dune::GridView<Dune::DefaultLevelGridViewTraits<const
Dune::YaspGrid<2>,
      (Dune::PartitionIteratorType)4u> >,
      Dune::PDELab::QkLocalFiniteElementMap<Dune::GridView<Dune::DefaultLevelGridViewTraits<const
Dune::YaspGrid<2>,
      (Dune::PartitionIteratorType)4u> >,
      double, double, 1ul>,
      Dune::PDELab::OverlappingConformingDirichletConstraints,
      Dune::PDELab::ISTLVectorBackend<>,
      Dune::PDELab::LeafOrderingTag<Dune::PDELab::DefaultLeafOrderingParams>
>,
      Dune::BlockVector<Dune::FieldVector<double, 1>,
      std::allocator<Dune::FieldVector<double, 1> > >
      >’
      and ‘Dune::BCRSMatrix<Dune::FieldMatrix<double, 1, 1>,
      std::allocator<Dune::FieldMatrix<double, 1, 1> >
      >::size_type {aka long unsigned int}’)
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%">
      (*j).umtv(x[i.index()],y[j.index()]);</p>
    <p style="margin-bottom: 0cm; line-height: 100%"><br>
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%">/home/user/Bachelor/Dune/dune-istl/dune/istl/bcrsmatrix.hh:1679:22:
note:
      candidates are:
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%">In file included
      from
/home/user/Bachelor/Dune/dune-pdelab/dune/pdelab/boilerplate/pdelab.hh:62:0,
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%"> from
      multigrid_overlapping.cc:7:
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%">/home/user/Bachelor/Dune/dune-pdelab/dune/pdelab/backend/istlvectorbackend.hh:206:10:
note:
      Dune::PDELab::ISTLBlockVectorContainer<GFS, C>::E&
      Dune::PDELab::ISTLBlockVectorContainer<GFS,
      C>::operator[](const
      ContainerIndex&) [with GFS =
      Dune::PDELab::GridFunctionSpace<Dune::GridView<Dune::DefaultLevelGridViewTraits<const
Dune::YaspGrid<2>,
      (Dune::PartitionIteratorType)4u> >,
      Dune::PDELab::QkLocalFiniteElementMap<Dune::GridView<Dune::DefaultLevelGridViewTraits<const
Dune::YaspGrid<2>,
      (Dune::PartitionIteratorType)4u> >,
      double, double, 1ul>,
      Dune::PDELab::OverlappingConformingDirichletConstraints,
      Dune::PDELab::ISTLVectorBackend<>,
      Dune::PDELab::LeafOrderingTag<Dune::PDELab::DefaultLeafOrderingParams>
>;
      C = Dune::BlockVector<Dune::FieldVector<double, 1>,
      std::allocator<Dune::FieldVector<double, 1> > >;
      Dune::PDELab::ISTLBlockVectorContainer<GFS, C>::E = double;
      Dune::PDELab::ISTLBlockVectorContainer<GFS,
      C>::ContainerIndex
      = Dune::PDELab::MultiIndex<long unsigned int, 1ul>]
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%"> E&
      operator[](const ContainerIndex& ci)</p>
    <p style="margin-bottom: 0cm; line-height: 100%">-------------------------------------</p>
    <p style="margin-bottom: 0cm; line-height: 100%">The affected line
      is
      the line 1607 of bcrsmatrix.hh from dune-istl.</p>
    <p style="margin-bottom: 0cm; line-height: 100%">The arguments x and
      y are of the type ISTLBlockVectorContainer.</p>
    <p style="margin-bottom: 0cm; line-height: 100%">I have noticed,
      that
      the needed method:</p>
    <p style="margin-bottom: 0cm; line-height: 100%">const
      ElementType&
      operator[](size_type i) const</p>
    <p style="margin-bottom: 0cm; line-height: 100%"> {</p>
    <p style="margin-bottom: 0cm; line-height: 100%"> return
      container()[cache().containerIndex(i)];</p>
    <p style="margin-bottom: 0cm; line-height: 100%"> }</p>
    <p style="margin-bottom: 0cm; line-height: 100%">was moved from
      ISTLBlockVectorContainer to ConstUncachedVectorView.</p>
    <p style="margin-bottom: 0cm; line-height: 100%"><br>
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%">How can I fix this?</p>
    <p style="margin-bottom: 0cm; line-height: 100%"><br>
    </p>
    <p style="margin-bottom: 0cm; line-height: 100%">Regards,</p>
    <p style="margin-bottom: 0cm; line-height: 100%">Christian</p>
    <title></title>
    <meta name="generator" content="LibreOffice 4.2.4.2 (Linux)">
    <style type="text/css">
        <!--
                @page { margin: 2cm }
                p { margin-bottom: 0.25cm; line-height: 120% }
        -->
        </style>
  </body>
</html>