[Dune] [#743] Add a way to determine whether a grid is hybrid

Dune flyspray at dune-project.org
Fri Feb 19 14:22:01 CET 2010


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - Martin Nolte (nolte) 

Attached to Project - Dune
Summary - Add a way to determine whether a grid is hybrid
Task Type - Feature Request
Category - Grid
Status - New
Assigned To - 
Operating System - Unspecified / All
Severity - Low
Priority - Normal
Reported Version - SVN (pre2.0)
Due in Version - 2.1
Due Date - Undecided
Details - For meta-grids (like the GeometryGrid), it would be nice to know whether the underlying host grid is hybrid or not. In the non-hybrid case, the (constant) codim 0 geometry type would also be interesting (compile time constant).

Knowing the 2 things, GeometryGrid< AlbertaGrid, CoordFunction > could use the non-hybrid implementation of the generic geometries, saving some performace in explicit codes (2% in my last test, which is long ago).

One suggestion could be to add a GeometryInfo structure looking as follows:

struct GeometryInfo
{
  static const int dimension = dim;
  static const int dimensionworld = dimworld;
  static const bool hybrid = false;
  static const GeometryType::BasicType basicType = GeometryType::simplex;
};

Whether this structure can be obtained from somewhere within the grid or is a specialized structure outside the grid would, of course, need to be discussed. If this structure is not contained in the grid, we could provide a default implementation:

struct GeometryInfo
{
  static const int dimension = dim;
  static const int dimensionworld = dimworld;
  static const bool hybrid = true;
};

Apart from meta-grids, there might even be other code pieces, where this information is desirable (e.g., the MGMC mapper could does not need to look up the gemetry type for non-hybrid grids).

More information can be found at the following URL:
http://www.dune-project.org/flyspray/index.php?do=details&task_id=743

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.




More information about the Dune mailing list