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