Skip navigation links
(Wind-US Documentation Home Page) (Wind-US User's Guide) (GMAN User's Guide) (MADCAP User's Guide) (CFPOST User's Guide) (Wind-US Utilities) (Common File User's Guide) (Wind-US Installation Guide) (Wind-US Developer's Reference) (Guidelines Documents)

(General Overview) (General Purpose Commands) (File Specification Commands) (Domain Selection Commands) (Variable Selection and Unit Control Commands) (File and Report Generation Commands) (Plotting Commands) (GENPLOT File Format) (rake file Format) (Equations Used by CFPOST)

Domain Selection Commands


zone - Specify zones to be processed

zone {zone|zone range} [limit xmin xmax ymin ymax zmin zmax]

    zone   Specifies the zone (block) to which subsequent subset and surface commands apply. All subset and surface commands following a zone command up to the next zone command specify the parts of the zone to be included in subsequent processing. If no subset or surface commands appear, then the default subset(s) will be used. The default subsets are those defined by subset and surface commands that occur before the first zone command.

zone range Specifies the zone range to which only the default subsets apply. Any subset commands specified after the zone range command apply only to the last zone! The range format is n [to|thru|through] m where n is a zone number and m is a zone number or the keyword last. Note that to use the last keyword a grid or flow file must be opened and that the zone list does not change when a new file is opened.

limit xmin xmax ymin ymax zmin zmax
Specifies the zone list generated is restricted to zones that fall within the specified min-max box. The units of xmin, xmax, etc., are in the length units that was in effect at the time of the command. Note that a grid file must be opened and that the zone list does not change when a new file is opened.

Example 1

   zone 1                         ! Select zone 1
      subset k all i all j 1      ! Applies to zone 1
      subset k all i all j last   ! Applies to zone 1
   zone 3                         ! Select zone 3
      subset j all k all i 1      ! Applies to zone 3
   list                           ! Do a command on the above

Example 2

   subset k all i all j 1      ! Create a default subset
   zone 1                      ! Select zone 1, j = 1
   zone 3                      ! Select zone 3, i = 1
      subset j all k all i 1   ! Applies to zone 3
   zone 4 to last              ! Select zones 4 to last, j = 1 for
                               !    all zones
   artis output test iris4     ! Initiate processing

In Example 2 a default subset is defined (the j = 1 surface). Since no subset commands are included in the scope of zones 1 and 4, the default subset will be used. The default subset will not be used in zone 3 since a subset command was specified in its scope.

Example 3

   unit inches                       ! Set current length units to inches
   zone 1 to last limit -1.0 1.0 -5.0 5.0 1.0 2.0
                                     ! Set range to all zones, but only
                                     !    process those within specified
                                     !    limits

See Also: The subset and surface commands for how to define subsets; the clear command for how to clear the subset list; the show command to determine the current units.


subset - Specify a subset of a zone to be processed

subset range1 range2 range3

    range   Specifies a coordinate direction and indices to be included in the subset. The format of range is:
   {i|j|k|u} indices [; indices ...] 
The coordinate direction or subset type (i, j, k for structured, u for unstructured) is selected by specifying i, j, k or u. indices specifies the indices and is of the form:
   start [,end [,incr]] 
last signifies the maximum value of the specified coordinate direction in the zone in which the subset appears and may be used in place of end. all is an alternative form of 1,last and may be used in place of the start and end values. incr is assumed to be 1 if not specified.

Only one range specification is allowed for unstructured grids.

The subset command specifies a portion of the input files to be included in subsequent processing. All three coordinate directions must appear exactly once, one in each range. The order of appearance of the coordinate directions in the range's is important as we will see shortly.

Some CFPOST commands process lines of data (e.g.: genplot), some expect surfaces (e.g.: artis, cfdfem, integrate) and some expect volumes (e.g.: plot3d). Since we are dealing with three-dimensional data, we must have a way to signify what coordinate direction is defining a desired line or what two coordinate directions define a surface. Furthermore, some functions require the definition of a normal vector.

In FORTRAN terminology we would define a line or a curve with:

   DIMENSION A(IDIM) 
A surface would be defined as:
   DIMENSION A(IDIM,JDIM) 
And a volume would be defined as:
   DIMENSION A(IDIM,JDIM,KDIM)

That is, a surface can be considered as consisting of JDIM lines of IDIM points. Furthermore, a volume is KDIM surfaces consisting of JDIM lines of IDIM points.

Continuing the FORTRAN analogy, the components of range1 become IDIM, range2 become JDIM, and range3 become KDIM. Thus, for functions that require a curve, range1 defines the varying coordinate direction. For functions that require a surface range1 and range2 define the two varying coordinate directions.

Some functions, and the computation of some variables, require the knowledge of a normal direction. The normal direction coordinate is the coordinate specified in range3. The actual direction of the normal vector is computed by taking the cross product A × B where A is a vector increasing towards IDIM and B is a vector increasing towards JDIM.

Note: For 2-D solutions (KDIM = 1), you must always specify the k component of the subset to be "k all" rather than "k 1".

Example 1 - Defining lines

   subset i 1,10 k 1 j 10   ! The first index must vary

For unstructured grids the indicies specify a range of points in the variable arrays to be considered as a one dimensional structured array.

Example 2 - Defining surfaces

   subset k all i all j 1      ! Surface j = 1
   subset i all k all j last   ! Surface j = JMAX

Note that in these two cases, the order of specifying the first two coordinate directions was chosen so that the normal vector would be pointing into the control volume.

Unstructured surfaces must be defined using the surface command because there is no contiguous range of points which define a surface.

For a stack of surfaces, you simply enter:

   subset j all k all i 1,11,2   ! A group of planes

Example 3 - Defining volumes

   subset i all,2 j 1,11,2;15,last k 1;11;18;27

In the preceding example, every other point in the i direction is included. In the j direction every other point in the range 1 to 11 and every point from 15 to the end is included. In the k direction only points 1, 11, 18, and 27 are included.

See Also: The surface command for a simpler method to define subsets that are surfaces; the clear command for how to clear the subset list; the zone command for how to select the current zone.


surface - A simple way to define a surface subset

surface { {i|j|k} {1|last} [range1 [range2]] | u surface_number }

    {i|j|k} {1|last}   Specifies the computational coordinate and index of the surface to be defined.

[range1 [range2]]   Optionally specifies the computational coordinates and indices of the portion of the surface to be included. range is defined exactly like range in the subset command except that the indices must be specified so that they are monotonically increasing. If a computational coordinate range is omitted then all indices for that coordinate direction are included.

u surface_number   Specifies the identifying number of the desired unstructured surface.

The surface command is a simpler method for defining surface subsets for those commands that require surfaces as input. The advantage of this command over the subset command is that it will correctly order the coordinate indices so that the normal vector will automatically be directed into the volume.

For unstructured grids, a surface is identified by an integer surface identification number. The unstructured surface is defined by a range of cell faces. The points that define these faces are automatically extracted from the point list.

Examples

   surface i 1          is the same as   subset j all k all i 1
   surface i last       is the same as   subset k all j all i last
   surface j 1          is the same as   subset k all i all j 1
   surface j last       is the same as   subset i all k all j last
   surface k 1          is the same as   subset i all j all k 1
   surface k last       is the same as   subset j all i all k last
   surface k 1 j 1,10   is the same as   subset i all j 1,10 k 1

See Also: The subset command for a more complete definition of ranges and normal vectors.


group - A simple way to use a named surface group

group groupname

Surface groups can be defined with the cfpart utility and stored in the grid (.cgd) file. The group command can be used to reference the surface information stored under groupname. The primary advantage of using a surface group is to define a physical entity (i.e., wing) which is composed of multiple computational surfaces and may span multiple zones.


cut - Specify a cutting plane

cut [at] {x|y|z} xyz |
cut [at] x1 y1 z1 x2 y2 z2 x3 y3 z3 |
cut [at] point px py pz vector vx vy vz

The cut command defines a cutting plane that will be passed through all of the active subsets. The intersection points will be passed on to the command processor as the data to be processed. The cut command can only be used with certain commands such as genplot, genplot surface, integrate area and integrate flux. If the intersection is a plane, the resultant polygons will have their points ordered so that the points will be traversed in a counter-clockwise directions if the polygon is viewed from the side of the plane toward which the normal vector points.

Up to 192 cut/crinkle planes may be defined. The list of cut and crinkle planes can be cleared with the clear command.

There are three possible formats for the cut command, as follows:

cut [at] {x|y|z} xyz

    {x|y|z} xyz   Specifies the location of a plane that is normal to the specified coordinate axis. The value xyz must be specified in default length units. The normal vector will always be directed in the positive direction along the selected axis.

cut [at] x1 y1 z1 x2 y2 z2 x3 y3 z3

    x1 y1 z1 x2 y2 z2 x3 y3 z3   Specifies three points P1 = (x1,y1,z1), P2 = (x2,y2,z2), and P3 = (x3,y3,z3) that define a plane. The coordinate locations must be specified in default length units. The normal vector will be directed along the vector defined by the cross product (P2 − P1) × (P3 − P1).

cut [at] point px py pz vector vx vy vz

    point px py pz vector vx vy vz   Point and normal specification of a plane. px, py, and pz define a point on the plane and the base of a vector normal to the plane. vx, vy, and vz complete the definition of the normal vector N = (vxpx, vypy, vzpz).

Note: When cutting planes are being used with 2D data (KDIM = 1), all subsets must specify "k all" rather than "k 1".

Examples

Examples of the use of the cut command can be found in the descriptions of the genplot, genplot surface, integrate flux and integrate area commands.

See Also: The subset and surface commands for how to define subsets; the units command for how to define the default length unit; the genplot and integrate area commands for examples of use.


crinkle - Specify a crinkle plane

crinkle [at] {x|y|z} xyz |
crinkle [at] x1 y1 z1 x2 y2 z2 x3 y3 z3 |
crinkle [at] point px py pz vector vx vy vz

The crinkle command defines a crinkle plane that will be passed through all of the active subsets. The options, etc., are the same as described previously for the cut command.


rake - Specify locations for interpolation

rake x xbeg[,xend,xinc] y ybeg[,yend,yinc] z zbeg[,zend,zinc] |
rake line [begin] x1 y1 z1 [end] x2 y2 z2 [number] numpts |
rake plane [llhc] x1 y1 z1 [ulhc] x2 y2 z2 [lrhc] x3 y3 z3 -
   [ndir] n [mdir] m |
rake polar [center] xc yc zc [begin] x1 y1 z1 [end] x2 y2 z2 -
   [rings [{equal|centroid} area]] numring [rakes] numrake -
   [hub [radius] r0] [angle {full|half|angle}] |
rake file filename [1D|2D|3D] |
rake cgd filename.cgd

The rake command specifies the interpolation points for the interpolate command. There are five possible formats for the rake command, as shown below. The first form of the command is used to generate a 2-D or 3-D rectangular grid of points. The second and third forms are used to generate a line or plane of points. The fourth form is used to generate a polar grid of points, like an engine face rake. The fifth form of the command is the most general and allows the user to define an arbitrary structured mesh of points.

Up to 128 rake commands may be specified. The rake list can be cleared with the clear command and displayed with the show command. All coordinate data must be entered in default length units.

rake x xbeg[,xend,xinc] y ybeg[,yend,yinc] z zbeg[,zend,zinc]

   xbeg[,xend,xinc], ybeg[,yend,yinc], zbeg[,zend,zinc]
Specifies the beginning and ending points and increment of the points to be generated in each of the three Cartesian coordinates.

rake line [begin] x1 y1 z1 [end] x2 y2 z2 [number] numpts

    [begin] x1 y1 z1   Specifies the first endpoint of the line.

[end] x2 y2 z2   Specifies the second endpoint of the line.

[number] numpts   The number of grid points to be equally spaced along the line from (x1,y1,z1) to (x2,y2,z2). The number includes the end points.

rake plane [llhc] x1 y1 z1 [ulhc] x2 y2 z2 [lrhc] x3 y3 z3 -
   [ndir] n [mdir] m

    [llhc] x1 y1 z1   The coordinates of the lower left hand corner of the plane.

[ulhc] x2 y2 z2   The coordinates of the upper left hand corner of the plane.

[lrhc] x3 y3 z3   The coordinates of the lower right hand corner of the plane.

[ndir] n   The number of grid points to be equally spaced along the line from (x1,y1,z1) to (x2,y2,z2). The number includes the end points.

[mdir] m   The number of grid points to be equally spaced along the line from (x1,y1,z1) to (x3,y3,z3). The number includes the end points.

rake polar [center] xc yc zc [begin] x1 y1 z1 [end] x2 y2 z2 -
   [rings [{equal|centroid} area]] numring [rakes] numrake -
   [hub [radius] r0] [angle {full|half|angle}]

    [center] xc yc zc   Specifies the center point of a polar rake.

[begin] x1 y1 z1   Specifies an outer point of the first rake leg. This is used with the center to compute the radius of the rake that is used in the centroid area calculation.

[end] x2 y2 z2   Defines another point that, when combined with the center and begin points, specifies the plane in which the rake lies. It also defines the ordering of the rakes, which proceed in the direction defined by the vector going from the begin point to the end point.

[rings [{equal|centroid} area]] numring
Specifies the number of rings (points) to be generated. If the equal area or centroid area parameter is not specified, numring points will be uniformly distributed in the radial direction starting at the hub and proceeding to the outer radius. If the equal area parameter is specified, numring points will be located at the edge of numring − 1 annuli whose areas are all identical. In both cases there will be a point at the outer radius and the hub radius. If centroid area is specified, the points will be at the centroid of numring annuli, each of which as the same area.

[rakes] numrake   Specifies the number of rake legs to be generated. The rake legs are distributed uniformly in the circumferential direction. Includes the first and last legs. For a 360-degree rake the first and last legs are the same; thus nine legs will be spaced 45 degrees apart.

[hub [radius] r0]   The radius of the hub.

[angle {full|half|angle}]   The subtended angle of the rake.

rake file filename [1D|2D|3D]

    filename   The name of a file that contains the interpolation points. The file defines one or more computational lines, planes, or volumes, each of which will become a zone in the output file created by the interpolate command. Single points may also be defined by creating a curve with only a single point. The format of the file is defined in the section "rake file Format."

[1D|2D|3D]   The format of the rake file depends on the dimensionality of the data. See "rake file Format" for details.

rake cgd filename.cgd

    filename.cgd   The name of a common grid (.cgd) file to be used as the rake file interpolation points. If the rake cgd file is unstructured, then the interpolated solution will be unstructured too.

Examples

A detailed example of the use of the rake command may be found in the description of the interpolate command.

See Also: The interpolate command for how to retrieve function information at specified spatial locations; the units command for how to define the default length unit.


bledge - Create an interpolation file of the boundary layer edge

bledge [surface] [maxdist dist] [normal] output intfile [overwrite]

    dist   The maximum distance allowed for the edge of the boundary layer. Any points further from the surface will have their iblank value set to zero so they will not be displayed or used.

normal The normal option causes two planes normal to the wall to be output. This is useful for programs that need to integrate normal to the wall.

intfile The name of a file that the boundary layer interpolation points are written to. The file is ready to be used by the interpolate command using the read keyword.

overwrite The overwrite option causes the output file to be overwritten if it exists. The default is to terminate if the output file exists.

The bledge command calculates the boundary layer edge, based on the method specified in the boundary layer command, in the current subset normal direction, and creates an interpolation surface of the boundary layer edge. The actual surface and the boundary layer surface are stored an interpolation file which may be used by the interpolate command to create a common file grid and flow file (.cgf).

Example A detailed example of the bledge command may be found under the interpolate command.

See Also: The interpolate command for how to retrieve function information at specified spatial locations.


blgrid - Create a normal grid interpolation file

blgrid output intfile [npoints n] [distance d] -
   [tandist first_spacing last_spacing]

    intfile   The name of a file that the generated normal grid points are written to. The file is a 3D eagle file which can be used by the interpolate command.

npoints n Causes n points to be placed on the lines generated normal to the surface. The default is 21.

distance d The distance, in current length units, to grow normal to the surface. The default is 1.

tandist first_spacing last_spacing A hyperbolic tangent distribution is placed on the lines normal to the surface, instead of an equal arc distribution, with the specified end spacing. If the spacing is zero, then spacing for that endpoint will float.

The blgrid command generates a volume grid from surface subsets by growing normal to the surface be the specified distance. This command is used to generate grids to calculate boundary layer properties such as displacement thickness. This is important when the original grid file is not very orthogonal to the surface since large errors in the boundary layer properties can occur in this situation. The volume grid is stored in a 3D eagle file which may be used by the interpolate command to create a common file grid and flow file (.cgf).

Example

   grid fbdy.cgd
   solution fbdy.cfl
   units in
   zone 1
   surf j 1
   blgrid output fbdy.egl npoints 11 distance 1.0 tandist 0.01 0.0
   clear all
   units mks    ! Note that the units in the eagle file generated by
                ! blgrid are mks
   rake file fbdy.egl 3D
   zone 1
   interpolate cgf fbdy.cgf gridunits in   ! Make the grid units inches
                                           ! in the .cgf file
   clear all
   grid fbdy.cgf
   solution fbdy.cgf
   units in
   zone 1
   surf k 1     ! All surfaces are k 1 in the new grid
   var delta*   ! Use default edge search criteria
   list output delta.lis

See Also: The interpolate command for how to retrieve function information at specified spatial locations; the rake command for specifying rakes.


Last updated 15 Nov 2011