Proposal for telling an implementation what adjacency info an app/service needs

Carl Ollivier-Gooch cfog at mech.ubc.ca
Fri Nov 6 14:36:22 CST 2009


One thing that's been discussed, and even openly experimented with is a 
way to inform a mesh database of the actual adjacency information 
required by an app/service.  (Also, which entity types need to be 
iterable.)   This is how the swapping service communicates its adjacency 
needs with MOAB, for instance.  FMDB's internal capabilities should 
match up very well with this notion as well, allowing specialization 
when appropriate.  Other implementations (GRUMMP, for instance) may or 
may not be able to take much if any advantage of this, but that's no 
reason not to allow an app/service to express what it actually needs.

The other possibility is to specify this at creation time, but if we're 
going to do that, we should do the same with spatial dimension.  This 
change provides the needed (?) capability in a way that's symmetric with 
other calls.

Carl

     /**\brief  Tell an implementation the minimum adjacency information 
required
      *
      * Tell an implementation the minimum adjacency information required
      * by a service or application, in the form of an adjacency table.
      * This table is a 4x4 array, with indices 0-based, where A(i,j)
      * (i=row, j=column) is 1 if the service or application will require
      * adjacencies between entities of dimension i to entities of
      * dimension j and 0 otherwise.  A(i,i) is 1 if the service or
      * application will iterate over entities of dimension i and 0
      * otherwise.
      * \param instance iMesh instance handle
      * \param *adjacency_table Array representing adjacency table
      *        required
      * \param *err Pointer to error type returned from function
      */
   void iMesh_setAdjTable (iMesh_Instance instance,
                           /*in*/ int* adjacency_table,
                           /*out*/ int *err);
-- 
------------------------------------------------------------------------
Dr. Carl Ollivier-Gooch, P.Eng.                   Voice: +1-604-822-1854
Associate Professor                                 Fax: +1-604-822-2403
Department of Mechanical Engineering             email: cfog at mech.ubc.ca
University of British Columbia              http://www.mech.ubc.ca/~cfog
Vancouver, BC  V6T 1Z4                  http://tetra.mech.ubc.ca/ANSLab/
------------------------------------------------------------------------


More information about the tstt-interface mailing list