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 ofmesh_spacesets when declaring a suiteparam_space: The set representing the parametric space, such as time. If this isNULL, a set will be created with aSILrole of typeTYPE.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