States¶
A state is a “slice” through a suite at a fixed parameter value (typically time). For example, a state contains all the following that is associated with a specific time step of a simulation:
- pointer to the computational mesh (i.e., a set);
- pointer to the default coordinate field (an independent variable) of the mesh;
- the time value (also an independent variable) of the state;
- pointers to all the fields (the dependent variables) attached to the mesh at the specific time step.
What if the desired output changes from state to state?. For example, suppose a client writes various
combintations of Coordinates (C), Pressure (P
), Temperature (T
), Velocity (V
) and Stress (S
) fields according
to the following sequence…
1 2 3 4 5 6 7 | C C
C C C C V V
C C V V V V C C T T
V V T T T T V V P P
S S P P P P S S S S
+---+---+---+---+---+---+---+---+---+
0 1 2 3 4 5 6 7 8 9 <-- indices
|
1 | 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 <-- times
|
The client should declare a state template that contains field templates for all the fields that will be
referenced at any state. In the example above, the state template should consist of field templates for
C, V
, T
, P
, and S
. For the states that don’t contain all the fields, the client should pass a
SAF__NOT_APPLICABLE_FIELD
for those fields that aren’t applicable for the state being written.
Members¶
- SAF_NULL_STATE_GRP [Public macro]
- saf_declare_state_group [Public function]
- saf_describe_state_group [Public function]
- saf_find_state_groups [Public function]
- saf_get_state_grp_att [Public function]
- saf_put_state_grp_att [Public function]
- saf_read_state [Public function]
- saf_write_state [Public function]