Skip to content

#252 ownersFather of ALUvertices does not find father

Metadata

Property Value
Reported by Uli Sack (usack@math.fu-berlin.de)
Reported at Feb 2, 2007 08:35
Type Bug Report
Version Git (pre2.4) [autotools]
Operating System Unspecified / All
Closed by Oliver Sander (oliver.sander@tu-dresden.de)
Closed at Feb 11, 2007 14:44
Closed in version Unknown
Resolution Won't implement
Comment The methods ownersFather() and positionInOwnersFather() have been removed from the interface in revision 3521.

Description

ownersFather and consequently positionInOwnersFather do not work properly with ALUSimplexGrid<2,2>. Invariably there is no father found. The following code reproduces the problem:

#ifdef HAVE_CONFIG_H

include "config.h"

#endif

#include #include

#include <dune/grid/alugrid.hh> #include <dune/grid/io/file/dgfparser/dgfalu.hh>

using namespace Dune;

int main (int argc, char *argv[]) try { // The grid const int dim = 2; typedef ALUSimplexGrid<dim,dim> GridType; Dune::GridPtr gridptr; gridptr = Dune::GridPtr("data/square.dgf"); GridType& grid = *gridptr; grid.globalRefine(3);

typedef GridType::Codim<dim>::LevelIterator NodeLevelIterator;
typedef GridType::Codim<dim>::LeafIterator NodeLeafIterator;
typedef GridType::Codim<0>::Entity::EntityPointer ElementPointer;

FieldVector<double,dim> posInOwnersFather;

//~ NodeLeafIterator nodeLeafEnd = grid.leafend<dim>();
//~ for (NodeLeafIterator nodeLeafIt = grid.leafbegin<dim>(); nodeLeafIt!=nodeLeafEnd; ++nodeLeafIt)
//~ {
	//~ ElementPointer ownersFather = (*nodeLeafIt).ownersFather();
	//~ posInOwnersFather = (*nodeLeafIt).positionInOwnersFather();
//~ }

NodeLevelIterator nodeLevelEnd = grid.lend<dim>(3);
for (NodeLevelIterator nodeLevelIt = grid.lbegin<dim>(3); nodeLevelIt!=nodeLevelEnd; ++nodeLevelIt)
{
	ElementPointer ownersFather = (*nodeLevelIt).ownersFather();
	posInOwnersFather = (*nodeLevelIt).positionInOwnersFather();
}
		
return 0;

}

catch (Exception e) { std::cout << e << std::endl; }