My Project
programmer's documentation
Introduction and main concepts

Several functions are present in cs_user_postprocess.c, each destined to define specific parameters.

The functions defined in cs_user_postprocess.c, namely cs_user_postprocess_writers, cs_user_postprocess_meshes, cs_user_postprocess_probes and cs_user_postprocess_activate allow for the definition of post-processing output formats and frequency, and for the definition of surface or volume sections, in order to generate chronological outputs in EnSight, MED, or CGNS format, as in-situ visualization using Catalyst or Melissa.

Point sets (probes and profiles) may also be defined, with outputs in the more classical comma-separated (csv) or white-space-separated (dat) text files, in addition to the aforementioned output types.

The main concepts are those of writers and meshes, which must be associated to produce outputs.

A writer combines the definition of an output type, frequency, path, and name. One or more writers can be defined using the GUI and the cs_user_postprocess_writers user function.

A mesh is based on a subset of the the computational mesh, or point sets such as particles or probe sets. One or more meshes can be defined using the GUI and the cs_user_postprocess_meshes user function.

In order to allow the user to add an output format to the main output format, or to add a mesh to the default output, the lists of standard and user meshes and writers are not separated. Negative numbers are reserved for the non-user items. For instance, the mesh numbers -1 and -2 correspond respectively to the global mesh and to boundary faces, generated by default, and the writer -1 corresponds to the default post-processing writer.

The user chooses the numbers corresponding to the post-processing meshes and writers he wants to create. These numbers must be positive integers. It is possible to associate a user mesh with the standard post-processing case (-1), or to ask for outputs regarding the boundary faces (-2) associated with a user writer.

For safety, the output frequency and the possibility to modify the post-processing meshes are associated with the writers rather than with the meshes. This logic avoids unwanted generation of inconsistent post-processing outputs. For instance, EnSight would not be able to read a case in which one field is output to a given part every 10 time steps, while another field is output to the same part every 200 time steps.