Next: Utilities Up: Scene description file Previous: parameter   Contents

## Objects

Objects are used to describe the geometry of the simulation domain and to specify initial and boundary conditions. There are four basic object types, box, sphere, cylinder and halfspace. Additional geometries and obstacles can be created with the CSG operations union, difference and intersection. There exists one restriction for obstacle cells, namely two opposite faces are not allowed to touch fluid cells.

As already mentioned in section , objects are just another type of blocks. The commands given in table  can be used inside any object-block.

 Name Description coords <,,>,<,,> sets the size of box, sphere or cylinder objects to . The default unit used is one cell. This can be changed by the command absolute absolute allows use of absolute coordinates given by length fluid marks the concerning cells as fluid cells. This command makes it possible for example to cut quite easily holes into other objects. fluid can not be defined on ghost cells (e.g. ) with non-periodic boundary conditions in the specific direction init <,,>, initializes the concerning cells with velocity values and pressure . The default initialization is . These values are not concerned as Dirichlet boundary condition noslip defines the Dirichlet boundary condition (see ) for the concerning cells. This is the default value. Homogeneous Neumann boundary conditions are set for temperature and scalars. This is the difference to inflow <0,0,0> (see below) where also is set slip defines Slip boundary condition (see ) for the concerning cells inout , defines Outflow boundary condition of type , , where the additional parameter is ignored if . See section  for an explanation of the different types. If and the velocity field at the outflow boundaries is corrected to enforce the compatibility condition (set to 0 if you do not want this). inflow <,,> defines Dirichlet boundary condition (see ) for the concerning cells. When temperature or scalars are computed, Dirichlet boundary conditions for these quantities are set. You must specify the particular values by temperature and/or cheminit temperature defines Dirichlet boundary conditions on boundary cells for the temperature or initializes fluid cells with temperature cheminit defines Dirichlet boundary conditions for scalars on boundary cells or initializes fluid cells with these values

Now we describe the differences between the object-types.

box:
The command box defines the box except one of the keywords north, south, west, east, top or bottom is given. In this case, the box is the appropriate ''wall'' (see figure ):
 north south west east top bottom

sphere:
The command sphere defines the ellipsoid which touches all faces of the box defined by coords. The main axes are parallel to the coordinate axes.

cylinder:
In the same way, cylinder defines a cylinder whose rotation axis is defined by one of the commands x, y or z.

halfspace:
The command halfspace defines the set of cells

where are given by the command

hesse <,,>,

and is the middle of the corresponding cell .

poly:
The command poly defines a polytope bounded by polygons. The points are specified using the command

points ,<,,>,,<,,> .

The first point indexed with 0. After defining points, the polygons have to be be specified using the command

vertices ,,,...,

where is the total number of indices (including control indices ). One polygon is defined by enumerating the points in clockwise or counterclockwise order, where the first point has to be enumerated once again as last point. Then this series is finished with index . The following example defines a cube:
    poly {
points 8,<0.0,0.0,0.0>,
<1.0,0.0,0.0>,
<1.0,1.0,0.0>,
<0.0,1.0,0.0>,
<0.0,0.0,1.0>,
<1.0,0.0,1.0>,
<1.0,1.0,1.0>,
<0.0,1.0,1.0>
vertices 36,0,1,2,3,0,-1,
1,5,6,2,1,-1,
4,5,6,7,4,-1,
0,4,7,3,0,-1,
3,2,6,7,3,-1,
0,1,5,4,0,-1
}


CSG-operations

The blocks union, difference and intersection define a CSG-operation on two of the objects described above. Such an operation is defined as a block in which two object-blocks are defined, for example

    union {
box {
...
}
box {
...
}
}


The cells of the first given object are called and the cells of the second are called . Then, the CSG-commands define the following cells:

 union difference intersection

Next: Utilities Up: Scene description file Previous: parameter   Contents
Martin Engel 2004-03-15