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_space
sets when declaring a suiteparam_space
: The set representing the parametric space, such as time. If this isNULL
, a set will be created with aSIL
role 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