Controlling The Output

The output is the most application-dependent part. I recognize that almost every application of the grid generator will use own output functions.

On the other hand, some parameters necessary for output operations will be common for many output operations. Thus, for the output control I have designed a set of control parameters which may be used for different output operations. I hope that a sufficient number of the necessary control possibilities are realized in this way.

The parameters which allow to modify the output are defined in ibgoutput.h. If you want to change the default settings of these parameters, there are two functions you have to change:

The dummy realizations of these functions you can find in ibgcontrol.c. Use the file ibgoutput.c as a pattern how to initialize and set the parameters.

Description of Some Output Control Parameters

Let's describe now some of these parameters.

See ibgoutput.h and ibgoutput.c for other parameters not described here. I hope the comments given there are sufficient.

Parameters controlling the selection of cells for the output

In almost any case, not all of the grid cells created by the IBG grid generator are necessary. Different parts of the grid may be useful in different applications resp. different output devices.

ibgOutputType

ibgOutputType[ibgSegmentType t] defines the dimension of the parts of the grid selected for the output. Thus,

	      	ibgOutputType[ibgSRegion]	= ibgTrue;
		ibgOutputType[ibgSFace]		= ibgFalse;
defines that the inner cells (region cells, codimension 0) have to be selected, but the boundary face cells not.

ibgOSType

Defines the codimension (segment type) of the segments used in the other ibgOS...-parameters (ibgOSSegment, ibgOSMode and so on).

If you want all boundary cells of a region r, you have to choose

		ibgOutputType[ibgSFace]		= ibgTrue;
		ibgOSType                       = ibgSRegion;
		ibgOSMode                       = ibgOSModOne;
		ibgOSSegment                    = r;

But if you want a single boundary face f, you have to choose

		ibgOutputType[ibgSFace]		= ibgTrue;
		ibgOSType                       = ibgSFace;
		ibgOSMode                       = ibgOSModOne;
		ibgOSSegment                    = f;

Remark that in above cases only boundary cells will be selected.