<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hi Oliver,<br>
    <br>
    without me being a PDELab-expert and assuming you are using the
    PDELab trunk, the following GFS-type does the trick for me. The
    Blocking template parameter of the VectorBackend for the
    VectorGridFunctionSpace was missing and so defaulted to
    "no_blocking".<br>
    <br>
    typedef PDELab::VectorGridFunctionSpace<<br>
            GridType::LeafGridView,<br>
            FEM,<br>
            dim,<br>
           
PDELab::ISTLVectorBackend<PDELab::ISTLParameters::static_blocking>,<br>
            PDELab::ISTLVectorBackend<>,<br>
            PDELab::ConformingDirichletConstraints,<br>
            PDELab::LexicographicOrderingTag,<br>
            PDELab::DefaultLeafOrderingTag<br>
            > GFS;<br>
    <br>
    gives the desired output<br>
    <br>
    Vector type: Dune::BlockVector<Dune::FieldVector<double,
    3>, std::allocator<Dune::FieldVector<double, 3> >
    ><br>
    Matrix type: Dune::BCRSMatrix<Dune::FieldMatrix<double, 3,
    3>, std::allocator<Dune::FieldMatrix<double, 3, 3> >
    ><br>
    <br>
    Andreas<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 05.01.2014 20:02, schrieb Oliver
      Sander:<br>
    </div>
    <blockquote cite="mid:52C9AC4C.6060503@igpm.rwth-aachen.de"
      type="cite">
      <pre wrap="">Dear Dune users,
[I'm writing this to the general Dune list instead of the pdelab list,
because it is rare (for me) to receive an answer on latter list.]

I need help setting up an FEM space.  I want to solve a standard linear
elasticity problem on a structured grid using Q1 elements.  ISTL is to
be used as the linear algebra backend, and I expect the matrix and vector
types pdelab gives me to be

BCRSMatrix<FieldMatrix<double,3,3> > and BlockVector<FieldVector<double,3> >

Unfortunately, the little test program I attach below gives me

BCRSMatrix<FieldMatrix<double,1,1> > and BlockVector<FieldVector<double,1> >

instead.  Surely I am using the wrong parameters, but as pdelab is slightly
under-documented I am stuck now.  Can somebody please tell me how I need
to adjust my code to get the matrix and vector types I want?

Many thanks,
Oliver


#include "config.h"

#include<iostream>
#include<dune/common/fvector.hh>

#include<dune/grid/yaspgrid.hh>

#include<dune/pdelab/finiteelementmap/q1fem.hh>
#include<dune/pdelab/constraints/conforming.hh>
#include<dune/pdelab/gridfunctionspace/vectorgridfunctionspace.hh>
#include<dune/pdelab/gridfunctionspace/gridfunctionspaceutilities.hh>
#include<dune/pdelab/gridfunctionspace/interpolate.hh>
#include <dune/pdelab/gridfunctionspace/vtk.hh>
#include<dune/pdelab/constraints/common/constraints.hh>
#include<dune/pdelab/common/function.hh>
#include<dune/pdelab/backend/istlvectorbackend.hh>
#include<dune/pdelab/backend/istlmatrixbackend.hh>
#include<dune/pdelab/localoperator/linearelasticity.hh>
#include<dune/pdelab/constraints/constraintsparameters.hh>
#include<dune/pdelab/gridoperator/gridoperator.hh>

using namespace Dune;

const int dim = 3;

typedef YaspGrid<dim> GridType;

typedef PDELab::Q1LocalFiniteElementMap<double,double,dim> FEM;
typedef PDELab::VectorGridFunctionSpace<
  GridType::LeafGridView,
  FEM,
  dim,
  PDELab::ISTLVectorBackend<>,
  PDELab::ISTLVectorBackend<>,
  PDELab::ConformingDirichletConstraints,
  PDELab::LexicographicOrderingTag,
  PDELab::DefaultLeafOrderingTag
  > GFS;

typedef GFS::ConstraintsContainer<double>::Type C;

typedef PDELab::GridOperator<GFS,GFS,PDELab::LinearElasticity,PDELab::ISTLMatrixBackend,double,double,double,C,C> GO;
typedef GO::Traits::Domain V;
typedef GO::Jacobian M;
typedef M::BaseT ISTL_M;
typedef V::BaseT ISTL_V;


int main(int argc, char** argv)
{
    std::cout << "Vector type: " << className<ISTL_V>() << std::endl;
    std::cout << "Matrix type: " << className<ISTL_M>() << std::endl;

}



</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Dune mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Dune@dune-project.org">Dune@dune-project.org</a>
<a class="moz-txt-link-freetext" href="http://lists.dune-project.org/mailman/listinfo/dune">http://lists.dune-project.org/mailman/listinfo/dune</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>