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

Mark Miller miller86 at llnl.gov
Wed Nov 11 10:43:16 CST 2009


If a client calls the proposed iMesh_setAdjTable and that call succeeds,
does that mean a succeeding call to iMesh_getAdjTable returns what was
set? Or, does it means it returns a table that represents AT LEAST the
adjacencies that were set? How do these two calls relate?

Mark

On Fri, 2009-11-06 at 12:36, Carl Ollivier-Gooch wrote:
> 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);
-- 
Mark C. Miller, Lawrence Livermore National Laboratory
email: mailto:miller86 at llnl.gov
(M/T/W) (925)-423-5901 (!!LLNL BUSINESS ONLY!!)
(Th/F)  (530)-753-8511 (!!LLNL BUSINESS ONLY!!)



More information about the tstt-interface mailing list