Declare a suite

saf_declare_suite is a function defined in suite.c.

Synopsis:

SAF_Suite * saf_declare_suite(SAF_ParMode pmode, SAF_Db *database, const char *name, SAF_Set *mesh_space, SAF_Set *param_space, SAF_Suite *suite)

Formal Arguments:

  • pmode: The parallel mode.
  • database: The SAF database handle.
  • name: The name of the suite.
  • mesh_space: The set representing the computational mesh. this is currently only a single set, so assume that the user cannot supply a list of mesh_space sets when declaring a suite
  • param_space: The set representing the parametric space, such as time. If this is NULL, a set will be created with a SIL role of type TYPE.
  • suite: [OUT] Optional memory for the returned handle. If null then a new handle is allocated by this function.

Description: This creates a suite with the given name.

Return Value: Returns a pointer to a new suite on success; null on failure. If the caller supplies a suite argument then this will be the pointer that is returned instead of allocating a new suite handle.

Issues: Currently, a SAF__Suite is #typedef’d to a SAF__Set. This may still work if we can identify suites with a new SIL role (“SAF__SUITE”).

The ability to declare “subsuites” may be needed but won’t be available in this implementation. This implementation will handle just 1-dimensional parametric spaces, such as time.

This function will create an extendible SAF__Set with two collections: one for associating states (fields across space at a fixed value of the specified parameter, usually time) and one for associating histories (fields across the specified parameter, usually time, at a fixed point in space). We will declare two new categories, “SAF__SPACE_SLICE” and “SAF__PARAM_SLICE”, respectively, that will be used in the declaration of these collections. These new categories will be a minor enhancement to the current self category.

If param_space is passed as NULL, this function will create a SAF__Set to represent the parametric space.

See Also:

  • Suites: Introduction for current chapter