[Dune] [Dune-Commit] dune-grid r7362 - in trunk/dune/grid: geometrygrid io/file/dgfparser test utility

Martin Nolte nolte at mathematik.uni-freiburg.de
Tue Feb 1 10:06:49 CET 2011


Hi Oli,

I guess it is the removal of the allocator. This is used to allocate memory
for the entity. Previously, I used the SmallObjectPolyAllocator for this
purpose. But this needs further testing...

Best,

Martin

On 02/01/2011 09:55 AM, Oliver Sander wrote:
> Hi Martin!
> I didn't know there was an alternative to PolyAllocator.  I guess
> the number of allocator variants existing right now confused me.
> I agree that a 20% performance loss is asking too much from you
> guys.  But where does the loss come from?  Is it the removal
> of the allocator from GeometryGrid, from the generic geometries,
> or both?  Could you try again with yesterday's GeometryGrid?
> 
> Thanks,
> Oliver
> 
> Am 01.02.2011 09:49, schrieb Martin Nolte:
>> Hi Oli, hi all,
>>
>> I just did the performance test on the recent changes in GeometryGrid. The
>> code now needs 119.1% of the time it required before Christmas (when
>> hasSingleGeometryType was introduced). I consider this a heavy performance
>> loss.
>>
>> I really don't know whether such performance critical changes should be made
>> so shortly before a release...
>>
>> Best,
>>
>> Martin
>>
>> On 02/01/2011 07:18 AM, Oliver Sander wrote:
>>   
>>> Hi Martin!
>>> I do no think that the change has negative performance impact,
>>> for two reasons:
>>> a) in many places the allocator was simply handed over to the
>>> generic geometries. Since those don't use allocators anymore,
>>> there is no need to keep the infrastructure.
>>> b) The default allocator was the PolyAllocator, which internally
>>> calls new/delete. Hence nothing actually changed, and there
>>> is no cause for a performance drop. AFAIK no alternative
>>> for that allocator exists.
>>>
>>> If you want to retain allocator support in GeometryGrid feel free
>>> to revert the patch. Your reversion will only need to be partial
>>> because of a). Also, GeometryGrid will need to be rewritten to
>>> use std::allocator instead of PolyAllocator.
>>>
>>> Best,
>>> Oliver
>>>
>>>
>>> Am 01.02.2011 00:14, schrieb Martin Nolte:
>>>     
>>>> Hi Oli,
>>>>
>>>> since this change definitely will have a negative performance impact on
>>>> GeometryGrid (you replaced an allocator by new/delete), I think this
>>>> should be
>>>> discussed first.
>>>>
>>>> Maybe, you could provide the necessary performance benchmark, stating that
>>>> this
>>>> effect is negligible (I always use the grid-howto finitevolume code for this,
>>>> measuring only the time loop and disabling VTK output).
>>>>
>>>> Best,
>>>>
>>>> Martin
>>>>
>>>> On 01/31/2011 10:23 PM, sander at dune-project.org wrote:
>>>>
>>>>       
>>>>> Author: sander
>>>>> Date: 2011-01-31 22:23:31 +0100 (Mon, 31 Jan 2011)
>>>>> New Revision: 7362
>>>>>
>>>>> Modified:
>>>>> trunk/dune/grid/geometrygrid/capabilities.hh
>>>>> trunk/dune/grid/geometrygrid/datahandle.hh
>>>>> trunk/dune/grid/geometrygrid/entitypointer.hh
>>>>> trunk/dune/grid/geometrygrid/grid.hh
>>>>> trunk/dune/grid/geometrygrid/indexsets.hh
>>>>> trunk/dune/grid/geometrygrid/intersection.hh
>>>>> trunk/dune/grid/geometrygrid/iterator.hh
>>>>> trunk/dune/grid/geometrygrid/persistentcontainer.hh
>>>>> trunk/dune/grid/io/file/dgfparser/dgfgeogrid.hh
>>>>> trunk/dune/grid/test/test-geogrid.cc
>>>>> trunk/dune/grid/utility/hostgridaccess.hh
>>>>> Log:
>>>>> remove the PolyAllocator from GeometryGrid
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/capabilities.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/capabilities.hh 2011-01-31 17:10:49 UTC
>>>>>          
>>> (rev 7361)
>>>     
>>>>> +++ trunk/dune/grid/geometrygrid/capabilities.hh 2011-01-31 21:23:31 UTC
>>>>>          
>>> (rev 7362)
>>>     
>>>>> @@ -13,7 +13,7 @@
>>>>> // External Forward Declarations
>>>>> // -----------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> class GeometryGrid;
>>>>>
>>>>>
>>>>> @@ -27,61 +27,61 @@
>>>>> // Capabilities from dune-grid
>>>>> // ---------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct hasSingleGeometryType<  GeometryGrid<  HostGrid, CoordFunction,
>>>>>          
>>> Allocator>  >
>>>     
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct hasSingleGeometryType<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> static const bool v = hasSingleGeometryType<  HostGrid>  :: v;
>>>>> static const unsigned int topologyId = hasSingleGeometryType<  HostGrid>  ::
>>>>>          
>>> topologyId;
>>>     
>>>>> };
>>>>>
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator, int
>>>>> codim>
>>>>> - struct hasEntity<  GeometryGrid<  HostGrid, CoordFunction, Allocator>,
>>>>> codim>
>>>>> + template<  class HostGrid, class CoordFunction, int codim>
>>>>> + struct hasEntity<  GeometryGrid<  HostGrid, CoordFunction>, codim>
>>>>> {
>>>>> static const bool v = true;
>>>>> };
>>>>>
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct isParallel<  GeometryGrid<  HostGrid, CoordFunction, Allocator>  >
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct isParallel<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> static const bool v = isParallel<  HostGrid>::v;
>>>>> };
>>>>>
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator, int
>>>>> codim>
>>>>> - struct canCommunicate<  GeometryGrid<  HostGrid, CoordFunction,
>>>>> Allocator>,
>>>>>          
>>> codim>
>>>     
>>>>> + template<  class HostGrid, class CoordFunction, int codim>
>>>>> + struct canCommunicate<  GeometryGrid<  HostGrid, CoordFunction>, codim>
>>>>> {
>>>>> static const bool v = canCommunicate<  HostGrid, codim>::v;
>>>>> };
>>>>>
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct hasBackupRestoreFacilities<  GeometryGrid<  HostGrid,
>>>>> CoordFunction,
>>>>>          
>>> Allocator>  >
>>>     
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct hasBackupRestoreFacilities<  GeometryGrid<  HostGrid,
>>>>> CoordFunction>  >
>>>>> {
>>>>> static const bool v = hasBackupRestoreFacilities<  HostGrid>::v;
>>>>> };
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct isLevelwiseConforming<  GeometryGrid<  HostGrid, CoordFunction,
>>>>>          
>>> Allocator>  >
>>>     
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct isLevelwiseConforming<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> static const bool v = isLevelwiseConforming<  HostGrid>::v;
>>>>> };
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct isLeafwiseConforming<  GeometryGrid<  HostGrid, CoordFunction,
>>>>>          
>>> Allocator>  >
>>>     
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct isLeafwiseConforming<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> static const bool v = isLeafwiseConforming<  HostGrid>::v;
>>>>> };
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct threadSafe<  GeometryGrid<  HostGrid, CoordFunction, Allocator>  >
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct threadSafe<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> static const bool v = false;
>>>>> };
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct viewThreadSafe<  GeometryGrid<  HostGrid, CoordFunction,
>>>>> Allocator>  >
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct viewThreadSafe<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> static const bool v = false;
>>>>> };
>>>>> @@ -101,8 +101,8 @@
>>>>> static const bool v = hasHostEntity<  Grid, codim>::v;
>>>>> };
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator, int
>>>>> codim>
>>>>> - struct hasHostEntity<  GeometryGrid<  HostGrid, CoordFunction, Allocator>,
>>>>>          
>>> codim>
>>>     
>>>>> + template<  class HostGrid, class CoordFunction, int codim>
>>>>> + struct hasHostEntity<  GeometryGrid<  HostGrid, CoordFunction>, codim>
>>>>> {
>>>>> static const bool v = hasEntity<  HostGrid, codim>::v;
>>>>> };
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/datahandle.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/datahandle.hh 2011-01-31 17:10:49 UTC (rev
>>>>>          
>>> 7361)
>>>     
>>>>> +++ trunk/dune/grid/geometrygrid/datahandle.hh 2011-01-31 21:23:31 UTC (rev
>>>>>          
>>> 7362)
>>>     
>>>>> @@ -120,13 +120,12 @@
>>>>>
>>>>> public:
>>>>> EntityProxy ( const Grid&grid, const HostEntity&hostEntity )
>>>>> - : entity_( grid.allocator().create( Create::apply( grid, hostEntity ) ) )
>>>>> + : entity_(new MakeableEntity(Create::apply( grid, hostEntity ) ) )
>>>>> {}
>>>>>
>>>>> ~EntityProxy ()
>>>>> {
>>>>> - const Grid&grid = Grid::getRealImplementation( *entity_ ).grid();
>>>>> - grid.allocator().destroy( entity_ );
>>>>> + delete entity_;
>>>>> }
>>>>>
>>>>> const Entity&operator* () const
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/entitypointer.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/entitypointer.hh 2011-01-31 17:10:49 UTC
>>>>>          
>>> (rev 7361)
>>>     
>>>>> +++ trunk/dune/grid/geometrygrid/entitypointer.hh 2011-01-31 21:23:31 UTC
>>>>>          
>>> (rev 7362)
>>>     
>>>>> @@ -12,7 +12,7 @@
>>>>> // External Forward Declarations
>>>>> // -----------------------------
>>>>>
>>>>> - template<  class HostGrid, class CordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CordFunction>
>>>>> class GeometryGrid;
>>>>>
>>>>>
>>>>> @@ -26,7 +26,7 @@
>>>>> template<  int, int, class>
>>>>> class Entity;
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> struct ExportParams;
>>>>>
>>>>>
>>>>> @@ -56,11 +56,11 @@
>>>>> {};
>>>>> /** \endcond */
>>>>>
>>>>> - template<  int codim, class HostGrid, class CoordFunction, class
>>>>> Allocator>
>>>>> - struct EntityPointerTraits<  codim, GeometryGrid<  HostGrid,
>>>>> CoordFunction,
>>>>>          
>>> Allocator>  >
>>>     
>>>>> - : public ExportParams<  HostGrid, CoordFunction, Allocator>
>>>>> + template<  int codim, class HostGrid, class CoordFunction>
>>>>> + struct EntityPointerTraits<  codim, GeometryGrid<  HostGrid,
>>>>> CoordFunction>  >
>>>>> + : public ExportParams<  HostGrid, CoordFunction>
>>>>> {
>>>>> - typedef Dune::GeometryGrid<  HostGrid, CoordFunction, Allocator>  Grid;
>>>>> + typedef Dune::GeometryGrid<  HostGrid, CoordFunction>  Grid;
>>>>>
>>>>> static const bool fake = !Capabilities::hasHostEntity<  Grid, codim>::v;
>>>>>
>>>>> @@ -157,7 +157,7 @@
>>>>> ~EntityPointer ()
>>>>> {
>>>>> if( entity_ )
>>>>> - grid().allocator().destroy( entity_ );
>>>>> + delete( entity_ );
>>>>> }
>>>>>
>>>>> This&operator= ( const This&other )
>>>>> @@ -182,7 +182,7 @@
>>>>> Entity&dereference () const
>>>>> {
>>>>> if( entity_ == 0 )
>>>>> - entity_ = grid().allocator().create( MakeableEntity( EntityImpl( grid(),
>>>>>          
>>> *hostIterator() ) ) );
>>>     
>>>>> + entity_ = new MakeableEntity( EntityImpl( grid(), *hostIterator() ) ) ;
>>>>> return *entity_;
>>>>> }
>>>>>
>>>>> @@ -212,7 +212,7 @@
>>>>> {
>>>>> if( entity_ )
>>>>> {
>>>>> - grid().allocator().destroy( entity_ );
>>>>> + delete entity_ ;
>>>>> entity_ = 0;
>>>>> }
>>>>> }
>>>>> @@ -309,7 +309,7 @@
>>>>> ~EntityPointer ()
>>>>> {
>>>>> if( entity_ )
>>>>> - grid().allocator().destroy( entity_ );
>>>>> + delete entity_;
>>>>> }
>>>>>
>>>>> This&operator= ( const This&other )
>>>>> @@ -359,7 +359,7 @@
>>>>> Entity&dereference () const
>>>>> {
>>>>> if( entity_ == 0 )
>>>>> - entity_ = grid().allocator().create( MakeableEntity( EntityImpl( grid(),
>>>>>          
>>> *hostElementIterator(), subEntity_ ) ) );
>>>     
>>>>> + entity_ = new MakeableEntity( EntityImpl( grid(), *hostElementIterator(),
>>>>>          
>>> subEntity_ ) );
>>>     
>>>>> return *entity_;
>>>>> }
>>>>>
>>>>> @@ -384,7 +384,7 @@
>>>>> {
>>>>> if( entity_ )
>>>>> {
>>>>> - grid().allocator().destroy( entity_ );
>>>>> + delete entity_;
>>>>> entity_ = 0;
>>>>> }
>>>>> }
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/grid.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/grid.hh 2011-01-31 17:10:49 UTC (rev 7361)
>>>>> +++ trunk/dune/grid/geometrygrid/grid.hh 2011-01-31 21:23:31 UTC (rev 7362)
>>>>> @@ -3,7 +3,6 @@
>>>>>
>>>>> #include<string>
>>>>>
>>>>> -#include<dune/common/polyallocator.hh>
>>>>> #include<dune/common/static_assert.hh>
>>>>>
>>>>> #include<dune/grid/common/grid.hh>
>>>>> @@ -30,8 +29,7 @@
>>>>> template<  class HostGrid>
>>>>> class DefaultCoordFunction;
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction = DefaultCoordFunction<
>>>>>          
>>> HostGrid>,
>>>     
>>>>> - class Allocator = PolyAllocator>
>>>>> + template<  class HostGrid, class CoordFunction = DefaultCoordFunction<
>>>>>          
>>> HostGrid>  >
>>>     
>>>>> class GeometryGrid;
>>>>>
>>>>>
>>>>> @@ -52,11 +50,11 @@
>>>>> namespace GenericGeometry
>>>>> {
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Alloc>
>>>>> - struct GlobalGeometryTraits<  GeometryGrid<  HostGrid, CoordFunction,
>>>>> Alloc>  >
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct GlobalGeometryTraits<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> : public DefaultGeometryTraits<  typename HostGrid::ctype,
>>>>>          
>>> HostGrid::dimension, CoordFunction::dimRange>
>>>     
>>>>> {
>>>>> - typedef GeometryGrid<  HostGrid, CoordFunction, Alloc>  Grid;
>>>>> + typedef GeometryGrid<  HostGrid, CoordFunction>  Grid;
>>>>>
>>>>> typedef DuneCoordTraits<  typename HostGrid::ctype>  CoordTraits;
>>>>>
>>>>> @@ -91,7 +89,6 @@
>>>>> static const EvaluationType evaluateNormal = ComputeOnDemand;
>>>>> };
>>>>>
>>>>> - typedef Alloc Allocator;
>>>>> };
>>>>>
>>>>> }
>>>>> @@ -107,7 +104,7 @@
>>>>> // ExportParams
>>>>> // ------------
>>>>>
>>>>> - template<  class HG, class CF, class A>
>>>>> + template<  class HG, class CF>
>>>>> class ExportParams
>>>>> {
>>>>> static const bool isCoordFunction = isCoordFunctionInterface<  typename
>>>>>          
>>> CF::Interface>::value;
>>>     
>>>>> @@ -116,7 +113,6 @@
>>>>> public:
>>>>> typedef HG HostGrid;
>>>>> typedef CF CoordFunction;
>>>>> - typedef A Allocator;
>>>>> };
>>>>>
>>>>>
>>>>> @@ -124,13 +120,13 @@
>>>>> // GridFamily
>>>>> // ----------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> struct GridFamily
>>>>> {
>>>>> struct Traits
>>>>> - : public ExportParams<  HostGrid, CoordFunction, Allocator>
>>>>> + : public ExportParams<  HostGrid, CoordFunction>
>>>>> {
>>>>> - typedef GeometryGrid<  HostGrid, CoordFunction, Allocator>  Grid;
>>>>> + typedef GeometryGrid<  HostGrid, CoordFunction>  Grid;
>>>>>
>>>>> typedef typename HostGrid::ctype ctype;
>>>>>
>>>>> @@ -245,25 +241,24 @@
>>>>> *
>>>>> * \tparam HostGrid DUNE grid to be wrapped (called host grid)
>>>>> * \tparam CoordFunction coordinate function
>>>>> - * \tparal Allocator polymorphic allocator to use
>>>>> *
>>>>> * \nosubgrouping
>>>>> */
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> class GeometryGrid
>>>>> /** \cond */
>>>>> : public GridDefaultImplementation
>>>>> <  HostGrid::dimension, CoordFunction::dimRange, typename HostGrid::ctype,
>>>>> - GeoGrid::GridFamily<  HostGrid, CoordFunction, Allocator>  >,
>>>>> - public GeoGrid::ExportParams<  HostGrid, CoordFunction, Allocator>,
>>>>> - public GeoGrid::BackupRestoreFacilities<  GeometryGrid<  HostGrid,
>>>>>          
>>> CoordFunction, Allocator>  >
>>>     
>>>>> + GeoGrid::GridFamily<  HostGrid, CoordFunction>  >,
>>>>> + public GeoGrid::ExportParams<  HostGrid, CoordFunction>,
>>>>> + public GeoGrid::BackupRestoreFacilities<  GeometryGrid<  HostGrid,
>>>>>          
>>> CoordFunction>  >
>>>     
>>>>> /** \endcond */
>>>>> {
>>>>> - typedef GeometryGrid<  HostGrid, CoordFunction, Allocator>  Grid;
>>>>> + typedef GeometryGrid<  HostGrid, CoordFunction>  Grid;
>>>>>
>>>>> typedef GridDefaultImplementation
>>>>> <  HostGrid::dimension, CoordFunction::dimRange, typename HostGrid::ctype,
>>>>> - GeoGrid::GridFamily<  HostGrid, CoordFunction, Allocator>  >
>>>>> + GeoGrid::GridFamily<  HostGrid, CoordFunction>  >
>>>>> Base;
>>>>>
>>>>> friend class GeoGrid::HierarchicIterator<  const Grid>;
>>>>> @@ -285,7 +280,7 @@
>>>>>
>>>>> public:
>>>>> /** \cond */
>>>>> - typedef GeoGrid::GridFamily<  HostGrid, CoordFunction, Allocator> 
>>>>> GridFamily;
>>>>> + typedef GeoGrid::GridFamily<  HostGrid, CoordFunction>  GridFamily;
>>>>> /** \endcond */
>>>>>
>>>>> /** \name Traits
>>>>> @@ -392,12 +387,10 @@
>>>>> *
>>>>> * \param[in] hostGrid reference to the grid to wrap
>>>>> * \param[in] coordFunction reference to the coordinate function
>>>>> - * \param[in] allocator polymorphic allocator
>>>>> */
>>>>> - GeometryGrid ( HostGrid&hostGrid, CoordFunction&coordFunction, const
>>>>>          
>>> Allocator&allocator = Allocator() )
>>>     
>>>>> + GeometryGrid ( HostGrid&hostGrid, CoordFunction&coordFunction )
>>>>> : hostGrid_(&hostGrid ),
>>>>> coordFunction_( coordFunction ),
>>>>> - allocator_( allocator ),
>>>>> levelIndexSets_( hostGrid.maxLevel()+1, (LevelIndexSet *)0 ),
>>>>> leafIndexSet_( 0 ),
>>>>> globalIdSet_( 0 ),
>>>>> @@ -869,15 +862,9 @@
>>>>> return getRealImplementation( entity ).hostEntity();
>>>>> }
>>>>>
>>>>> - Allocator&allocator () const
>>>>> - {
>>>>> - return allocator_;
>>>>> - }
>>>>> -
>>>>> private:
>>>>> HostGrid *const hostGrid_;
>>>>> CoordFunction&coordFunction_;
>>>>> - mutable Allocator allocator_;
>>>>> mutable std::vector<  LevelIndexSet *>  levelIndexSets_;
>>>>> mutable LeafIndexSet *leafIndexSet_;
>>>>> mutable GlobalIdSet *globalIdSet_;
>>>>> @@ -889,9 +876,9 @@
>>>>> // GeometryGrid::Codim
>>>>> // -------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> template<  int codim>
>>>>> - struct GeometryGrid<  HostGrid, CoordFunction, Allocator>::Codim
>>>>> + struct GeometryGrid<  HostGrid, CoordFunction>::Codim
>>>>> : public Base::template Codim<  codim>
>>>>> {
>>>>> /** \name Entity and Entity Pointer Types
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/indexsets.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/indexsets.hh 2011-01-31 17:10:49 UTC (rev
>>>>>          
>>> 7361)
>>>     
>>>>> +++ trunk/dune/grid/geometrygrid/indexsets.hh 2011-01-31 21:23:31 UTC (rev
>>>>>          
>>> 7362)
>>>     
>>>>> @@ -16,7 +16,7 @@
>>>>> // External Forward Declarations
>>>>> // -----------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> class GeometryGrid;
>>>>>
>>>>>
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/intersection.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/intersection.hh 2011-01-31 17:10:49 UTC
>>>>>          
>>> (rev 7361)
>>>     
>>>>> +++ trunk/dune/grid/geometrygrid/intersection.hh 2011-01-31 21:23:31 UTC
>>>>>          
>>> (rev 7362)
>>>     
>>>>> @@ -10,7 +10,7 @@
>>>>> // External Forward Declataions
>>>>> // ----------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> class GeometryGrid;
>>>>>
>>>>>
>>>>> @@ -224,13 +224,13 @@
>>>>> // LeafIntersection
>>>>> // ----------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - class LeafIntersection<  const GeometryGrid<  HostGrid, CoordFunction,
>>>>>          
>>> Allocator>  >
>>>     
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + class LeafIntersection<  const GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> : public Intersection
>>>>> -<  const GeometryGrid<  HostGrid, CoordFunction, Allocator>,
>>>>> +<  const GeometryGrid<  HostGrid, CoordFunction>,
>>>>> typename HostGrid::Traits::LeafIntersection>
>>>>> {
>>>>> - typedef GeometryGrid<  HostGrid, CoordFunction, Allocator>  Grid;
>>>>> + typedef GeometryGrid<  HostGrid, CoordFunction>  Grid;
>>>>> typedef typename HostGrid::Traits::LeafIntersection HostIntersection;
>>>>>
>>>>> typedef Intersection<  const Grid, HostIntersection>  Base;
>>>>> @@ -248,13 +248,13 @@
>>>>> // LevelIntersection
>>>>> // -----------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - class LevelIntersection<  const GeometryGrid<  HostGrid, CoordFunction,
>>>>>          
>>> Allocator>  >
>>>     
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + class LevelIntersection<  const GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> : public Intersection
>>>>> -<  const GeometryGrid<  HostGrid, CoordFunction, Allocator>,
>>>>> +<  const GeometryGrid<  HostGrid, CoordFunction>,
>>>>> typename HostGrid::Traits::LevelIntersection>
>>>>> {
>>>>> - typedef GeometryGrid<  HostGrid, CoordFunction, Allocator>  Grid;
>>>>> + typedef GeometryGrid<  HostGrid, CoordFunction>  Grid;
>>>>> typedef typename HostGrid::Traits::LevelIntersection HostIntersection;
>>>>>
>>>>> typedef Intersection<  const Grid, HostIntersection>  Base;
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/iterator.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/iterator.hh 2011-01-31 17:10:49 UTC (rev
>>>>>          
>>> 7361)
>>>     
>>>>> +++ trunk/dune/grid/geometrygrid/iterator.hh 2011-01-31 21:23:31 UTC (rev
>>>>>          
>>> 7362)
>>>     
>>>>> @@ -11,7 +11,7 @@
>>>>> // External Forward Declarations
>>>>> // -----------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> class GeometryGrid;
>>>>>
>>>>>
>>>>>
>>>>> Modified: trunk/dune/grid/geometrygrid/persistentcontainer.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/geometrygrid/persistentcontainer.hh 2011-01-31 17:10:49
>>>>>          
>>> UTC (rev 7361)
>>>     
>>>>> +++ trunk/dune/grid/geometrygrid/persistentcontainer.hh 2011-01-31 21:23:31
>>>>>          
>>> UTC (rev 7362)
>>>     
>>>>> @@ -10,14 +10,14 @@
>>>>> // PersistentContainer for GeometryGrid
>>>>> // ------------------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class CoordAllocator,
>>>>>          
>>> class Data, class Allocator>
>>>     
>>>>> - class PersistentContainer<  GeometryGrid<  HostGrid, CoordFunction,
>>>>>          
>>> CoordAllocator>, Data, Allocator>
>>>     
>>>>> + template<  class HostGrid, class CoordFunction, class Data, class
>>>>> Allocator>
>>>>> + class PersistentContainer<  GeometryGrid<  HostGrid, CoordFunction>, Data,
>>>>>          
>>> Allocator>
>>>     
>>>>> : public PersistentContainer<  HostGrid, Data, Allocator>
>>>>> {
>>>>> typedef PersistentContainer<  HostGrid, Data, Allocator>  Base;
>>>>>
>>>>> public:
>>>>> - typedef GeometryGrid<  HostGrid, CoordFunction, CoordAllocator>  GridType;
>>>>> + typedef GeometryGrid<  HostGrid, CoordFunction>  GridType;
>>>>>
>>>>> typedef typename GridType::template Codim<  0>::Entity ElementType;
>>>>>
>>>>>
>>>>> Modified: trunk/dune/grid/io/file/dgfparser/dgfgeogrid.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/io/file/dgfparser/dgfgeogrid.hh 2011-01-31 17:10:49 UTC
>>>>>          
>>> (rev 7361)
>>>     
>>>>> +++ trunk/dune/grid/io/file/dgfparser/dgfgeogrid.hh 2011-01-31 21:23:31 UTC
>>>>>          
>>> (rev 7362)
>>>     
>>>>> @@ -107,10 +107,10 @@
>>>>> // DGFGridFactory for GeometryGrid
>>>>> // -------------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct DGFGridFactory<  GeometryGrid<  HostGrid, CoordFunction,
>>>>> Allocator>  >
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct DGFGridFactory<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> - typedef GeometryGrid<  HostGrid, CoordFunction, Allocator>  Grid;
>>>>> + typedef GeometryGrid<  HostGrid, CoordFunction>  Grid;
>>>>>
>>>>> const static int dimension = Grid::dimension;
>>>>> typedef MPIHelper::MPICommunicator MPICommunicator;
>>>>> @@ -181,8 +181,8 @@
>>>>> // DGFGridInfo for GeometryGrid
>>>>> // ----------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> - struct DGFGridInfo<  GeometryGrid<  HostGrid, CoordFunction, Allocator>  >
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> + struct DGFGridInfo<  GeometryGrid<  HostGrid, CoordFunction>  >
>>>>> {
>>>>> static int refineStepsForHalf ()
>>>>> {
>>>>>
>>>>> Modified: trunk/dune/grid/test/test-geogrid.cc
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/test/test-geogrid.cc 2011-01-31 17:10:49 UTC (rev 7361)
>>>>> +++ trunk/dune/grid/test/test-geogrid.cc 2011-01-31 21:23:31 UTC (rev 7362)
>>>>> @@ -51,8 +51,8 @@
>>>>> static const bool v = false;
>>>>> };
>>>>>
>>>>> -template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> -struct EnableLevelIntersectionIteratorCheck<  Dune::GeometryGrid< 
>>>>> HostGrid,
>>>>>          
>>> CoordFunction, Allocator>  >
>>>     
>>>>> +template<  class HostGrid, class CoordFunction>
>>>>> +struct EnableLevelIntersectionIteratorCheck<  Dune::GeometryGrid< 
>>>>> HostGrid,
>>>>>          
>>> CoordFunction>  >
>>>     
>>>>> {
>>>>> static const bool v = EnableLevelIntersectionIteratorCheck<  HostGrid>::v;
>>>>> };
>>>>> @@ -68,9 +68,7 @@
>>>>> typedef AnalyticalCoordFunction CoordFunction;
>>>>> #endif
>>>>>
>>>>> -typedef Dune::PolyAllocator Allocator;
>>>>> -// typedef Dune::STLPolyAllocator<>  Allocator;
>>>>> -typedef Dune::GeometryGrid<  Grid, CoordFunction, Allocator>  GeometryGrid;
>>>>> +typedef Dune::GeometryGrid<  Grid, CoordFunction>  GeometryGrid;
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Modified: trunk/dune/grid/utility/hostgridaccess.hh
>>>>> ===================================================================
>>>>> --- trunk/dune/grid/utility/hostgridaccess.hh 2011-01-31 17:10:49 UTC (rev
>>>>>          
>>> 7361)
>>>     
>>>>> +++ trunk/dune/grid/utility/hostgridaccess.hh 2011-01-31 21:23:31 UTC (rev
>>>>>          
>>> 7362)
>>>     
>>>>> @@ -9,7 +9,7 @@
>>>>> // External Forward Declarations
>>>>> // -----------------------------
>>>>>
>>>>> - template<  class HostGrid, class CoordFunction, class Allocator>
>>>>> + template<  class HostGrid, class CoordFunction>
>>>>> class GeometryGrid;
>>>>>
>>>>>
>>>>> @@ -29,13 +29,13 @@
>>>>> *
>>>>> * \nosubgrouping
>>>>> */
>>>>> - template<  class HG, class CoordFunction, class Allocator>
>>>>> - struct HostGridAccess<  GeometryGrid<  HG, CoordFunction, Allocator>  >
>>>>> + template<  class HG, class CoordFunction>
>>>>> + struct HostGridAccess<  GeometryGrid<  HG, CoordFunction>  >
>>>>> {
>>>>> /** \name Exported Types
>>>>> * \{ */
>>>>>
>>>>> - typedef GeometryGrid<  HG, CoordFunction, Allocator>  Grid;
>>>>> + typedef GeometryGrid<  HG, CoordFunction>  Grid;
>>>>>
>>>>> //! type of HostGrid
>>>>> typedef typename Grid::HostGrid HostGrid;
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Dune-Commit mailing list
>>>>> Dune-Commit at dune-project.org
>>>>> http://lists.dune-project.org/mailman/listinfo/dune-commit
>>>>>
>>>>>          
>>>>        
>>>
>>> _______________________________________________
>>> Dune mailing list
>>> Dune at dune-project.org
>>> http://lists.dune-project.org/mailman/listinfo/dune
>>>      
>>    
> 
> 
> _______________________________________________
> Dune mailing list
> Dune at dune-project.org
> http://lists.dune-project.org/mailman/listinfo/dune

-- 
Martin Nolte <nolte at mathematik.uni-freiburg.de>

Universität Freiburg                                   phone: +49-761-203-5630
Abteilung für angewandte Mathematik                    fax:   +49-761-203-5632
Hermann-Herder-Straße 10
79104 Freiburg, Germany




More information about the Dune mailing list