------- Command; group 6 -------------- -

GSET comprises a set of commands that can be used for BFC grid-specification as an alternative to (or combined with) the older commands: DOMAIN, SETLIN, SETPT and MAGIC.

The general format is: GSET(KEY_WORD[,ARG1,ARG2,ARG3,...])

Options are:

- GSET(P,...) Set a Point
- GSET(V,...) Define a Curve
- GSET(L,...) Set a Line
- GSET(F,...) Set a Frame
- GSET(M,...) Match a Grid Mesh
- GSET(C,...) Copy Grid Meshes
- GSET(T,...) Transfer Grid Planes
- GSET(B,...) Set Internal Grid Points
- GSET(I,...) Deletes all GSET commands

(see GROUP 6)

GSET. This command facilitates grid generation. See library cases B510 to B523, B527, B529 and B536; and also the tutorial.

The dimensions or capabilities mentioned below are the current settings in SATELLITE. It is possible to increase dimensions by changing parameters in the open-source file SATLIT.FTN. The SATELLITE executable file will need to be regenerated after the modification.

Format: GSET(P,pnam,xp,yp,zp)

pnam -- Name of the POINT, a string of up to four

characters, the first of which must be
alpha-numeric.

xp -- Real value or expression for the
X coordinate of the named point.

yp -- Real value or expression for the
Y coordinate of the named point.

zp -- Real value or expression for the
Z coordinate of the named point.

This command defines a point named 'pnam' in three-dimensional space. The coordinates are in metres. If the named point has already been defined, this command will move the point.

The so-defined point, it should be remarked, does not belong to a grid until:

- it, and other points, have been placed on a
**line**; - this and other lines have been connected to form a
**frame**; - the frame has been
**"matched"**to a grid.

The GSET commands now to be described show how these steps may be taken.

Format: GSET(V,vnam,pnm1[-pnm3],pnm5,pnm6,.....,pnm2[-pnm4])

vnam -- Name of the CURVE, a string of up to four
characters, the first of which must be
alpha-numeric.

pnm1 -- Name of the POINT where the CURVE starts.

pnm2 -- Name of the POINT where the CURVE ends.

pnm3 -- Name of a point used to set boundary condition
at the starting point. (optional)

pnm4 -- Name of a point used to set boundary condition
at the ending point. (optional)

pnm5,pnm6,...
-- Names of internal points along the curve.

This command defines a curve. A curve must start from one named point and end at another. The curve must be given a name, which will be used when defining a LINE.

To use the CURVE for defining a LINE, see GSET(L,...).

- Format:
**GSET(L,lnam,pnm1,pnm2,nseg,powr)**---- a straight line**GSET(L,lnam,pnm1,pnm2,nseg,powr,ARC,pnm3)**---- a circular arc**GSET(L,lnam,pnm1,pnm2,nseg,powr,CRV,cvnm)**---- a curved line

**lnam**-- Name of the LINE, a string of up to four characters, the first of which must be alpha-numeric.**pnm1**-- Name of the POINT where the LINE starts.**pnm2**-- Name of the POINT where the LINE ends.**pnm3**-- Name of the POINT that the arc goes through.**nseg**-- Number of segments on the line, integer value or integer expression, in the range from 1 to 100.**powr**-- Distribution power string. This can be one of four types, viz:- 1.0 Equally spaced; [Default]
- 0.8 Power law with power of 0.8;
- -1.5 Backward power law with power of 1.5;
- S2.0 Symmetric power law with power of 2.0

- cvnm -- Name of a CURVE which the line follows. The named curve must have already been defined by GSET(V,...).

This command defines a line as one of three types:

- a straight line,
- an arc, or
- a curve.

The line is named 'lnam' by this command. A line must start at one named point and end at another. If the named line has already been defined, this command will modify the line.

Format: **GSET(F,fnam,p1,m1,p2,m2,p3,m3,p4,m4)**

**fnam --**Name of the FRAME, a string of up to four characters, the first of which must be alpha-numeric.**p1 --**Name of the first corner POINT.**p2 --**Name of the second corner POINT.**p3 --**Name of the third corner POINT.**p4 --**Name of the fourth corner POINT.**m1 --**List of intermediate points between the first and second corner points (listed in the direction from the first corner point to the second one).**m2 --**List of intermediate points between the second and third corner points (listed in the direction from the second corner point to the third one).**m3 --**List of intermediate points between the third and fourth corner points (listed in the direction from the third corner point to the fourth one).**m4 --**List of intermediate points between the fourth and first corner points (listed in the direction from the fourth corner point to the first one).

If there are two or more intermediate points, they must be separated by a dot '.' in the list, ie P5.P6 if P5 and P6 are the names of intermediate points. When there is no intermediate point, use a hyphen, -, instead.

This command defines a FRAME which will be used for holding a grid mesh. Up to 20 frames can be defined. A frame must have four corners, each marked by a named POINT. The corner points must be linked by existing lines, or by a number of contiguous lines passing through intermediate named points. The total number of subdivisions on opposing edges of the frame must be equal.

In graphics mode (eg using the VIEW command), the frame name and extent (in terms of number of cells) is displayed to assist the user in determining the overall grid dimensions, and the grid plane limits when matching frames to grid planes.

Format: GSET(M,fnam,direc,i1,j1,k1,style)

fnam -- Name of the frame to which a grid mesh will be

matched.

direc -- A string of four characters which shows the

directions of grid lines to be matched to the

frame edges.

The first two characters can be one of: +I, -I,

+J, -J, +K, -K which sets the direction for the

frame edge from corner point 1 to corner point 2.

The last two characters can also be one of the

above six options and set the direction for the

frame edge from corner point 2 to corner point 3.

i1,j1,k1 --

The index for the grid corner which is to be

matched to the first corner POINT of the named

frame.

style -- The interpolation method for matching the grid,

with the following options, for example:

TRANS trans-finite interpolation

LAP5 Laplace solver with 5 iterations

LAP14.FFTFTF

Laplace solver with 14 iterations, FFTFTF is the string to control the sliding boundary
conditions. The order is: SLIDW, SLIDE, SLIDS, SLIDN, SLIDL, SLIDH. So the string above
sets the SOUTH and LOW boundaries as sliding ones.

This command matches a section of grid mesh to a frame. This section of the grid must be the same size as the frame in terms of grid cell numbers. The origin of the mesh is defined by (i1,j1,k1), and its orientation is defined by the 'direc' string. In the 'direc' string, the two directions can neither be the same nor be opposites, ie +I+I and -K+K are not valid, but +I+J, -K+I or +J-I are valid.

See entries MAGIC, SLIDW, SLIDE, SLIDS, SLIDN, SLIDL, SLIDH for more information on interpolation methods.

A grid mesh becomes a 'fixed domain' when it is matched to a frame. When a larger grid mesh which covers the 'fixed domain' is to be matched to another frame using 'Laplace solver', the 'fixed domain' will not be changed. This feature makes it easier to build a grid on a geometry which has internal objects.

Format: GSET(C,pln2,F,pln1,i1,i2,i3,i4,+,dx,dy,dz) shift grid plane by a distance

GSET(C,pln2,F,pln1,i1,i2,i3,i4,+,dx,dy,dz,INC,pwr) shift grid plane by a distance and
include the internal planes

GSET(C,pln2,F,pln1,i1,i2,i3,i4,RX,ang,y0,z0)

GSET(C,pln2,F,pln1,i1,i2,i3,i4,RX,ang,y0,z0,INC,pwr) rotate grid plane about axis in X
direction

GSET(C,pln2,F,pln1,i1,i2,i3,i4,RY,ang,x0,z0)

GSET(C,pln2,F,pln1,i1,i2,i3,i4,RY,ang,x0,z0,INC,pwr) rotate grid plane about axis in Y
direction

GSET(C,pln2,F,pln1,i1,i2,i3,i4,RZ,ang,x0,y0)

GSET(C,pln2,F,pln1,i1,i2,i3,i4,RZ,ang,x0,y0,INC,pwr) rotate grid plane about axis in Z
direction

pln1 -- The original grid plane, an expression which combines the grid plane direction and
number. For example, I1 means the first I plane , J15 means the 15th J plane, K21 means
the 21st plane in K direction.

pln2 -- The final grid plane and number, in the same form as pln1.

i1,i2,i3,i4 -- The mesh limits on the grid plane. According to the grid plane direction,
they are:

grid plane direction |
i1 |
i2 |
i3 |
i4 |

I | MIN_J_CELL | MAX_J_CELL | MIN_K_CELL | MAX_K_CELL |

J | MIN_I_CELL | MAX_I_CELL | MIN_K_CELL | MAX_K_CELL |

K | MIN_I_CELL | MAX_I_CELL | MIN_J_CELL | MAX_J_CELL |

dx,dy,dz -- The displacement of the final mesh from the original one in the three
coordinate directions.

pwr -- When internal grid planes are included, this is the distribution power for the
internal grid planes, in the same format as in GSET(L,...). When shifting grid planes, pwr
sets the distrbution in terms of the distance; when rotating, it sets the distribution of
angles.

x0 -- the X position of the rotation axis.

y0 -- the Y position of the rotation axis.

z0 -- the Z position of the rotation axis.

This command copies grid plane two from grid plane one by means of shifting or rotating. The dimensions of the original mesh and the final one, in terms of I, J, K, must be the same.

Format: GSET(T,pln2,F,pln1,i1,i2,i3,i4,pwr)

pln1 -- The first grid plane and number

pln2 -- The last grid plane and number

i1,i2,i3,i4 -- The grid mesh limits, as in the table in GSET(C,...).

pwr -- The distribution power for the transition, definition as in GSET(L,...).

This command is used to make a smooth transition from a grid mesh of one shape to another of a different shape. A linear interpolation is used. The two grid meshes must have the same dimensions in terms of I, J and K.

Format: GSET(B,i1,i2,j1,j2,k1,k2,style)

i1 -- The first I cell in the block

i2 -- The last I cell in the block

j1 -- The first J cell in the block

j2 -- The last J cell in the block

k1 -- The first K cell in the block

k2 -- The last K cell in the block

style -- The interpolation method string

This command performs a three-dimensional interpolation for the internal grid coordinates of a block. The interpolation method string is the same as in GSET(M,...). Note that the 3D Laplace solver is not truly 3D: it is a 2D slab-by-slab solver.

Obsolete Option: deletes all GSET commands to free up memory.

wbs