Skip to content

#974 StructureGrid<Grid<2,3>> in vertexordertest.cc

Metadata

Property Value
Reported by Andreas Dedner (A.S.Dedner@warwick.ac.uk)
Reported at Nov 8, 2011 21:02
Type Bug Report
Version 2.0
Operating System Unspecified / All

Description

in dune/grid/utility/test/vertexordertest.cc there is a test for the surface version of alugrid which does not work. The problem is the usage of the StructuredGridFactory.

We have in vertexorder.hh:

246   static const std::size_t dim = Grid::dimension;
247   typedef typename Grid::ctype DF;
248   typedef Dune::FieldVector<DF, dim> Domain;
250   Dune::array<unsigned, dim> elements;
251   std::fill(elements.begin(), elements.end(), 4);
253   Dune::shared_ptr<Grid> gridp = Dune::StructuredGridFactory<Grid>::
254     createSimplexGrid(Domain(0), Domain(1), elements);

while in structuregridfactory.hh:

198         static shared_ptr<GridType> createSimplexGrid(const FieldVector<ctype,dimworld>& lowerLeft,
199                                                       const FieldVector<ctype,dimworld>& upperRight,
200                                                       const array<unsigned int,dim>& elements)

but then again in a method used by structuregridfactory.hh:

 83         static void insertVertices(GridFactory<GridType>& factory,
 84                                    const FieldVector<ctype,dim>& lowerLeft,
 85                                    const FieldVector<ctype,dim>& upperRight,
 86                                    const array<unsigned int,dim>& vertices)

What is wanted?

  • A: pass FV<dimension> to the create method (and all vertices are zero in the remaining components).
  • B: pass FV<dimworld> to the create method (which 'plane' through lower,upper to take?)

I guess A is right and the create method has the wrong signature?