Download Manual

Transcript
PG
Array KMESH
December 2003
24.2.33
Pos. 10 Not yet used, equal to 0
The subarrays stored in IBUFFR, have the following meaning
ipointobst Array containing information about the nodes in an obstacle.
The first numobst (KMESH(42)) positions contain the starting positions of each obstacle
sequentially. Hence IPOINTOBST(iobst) contains the starting position of obstacle iobst
in array IPOINTOBST.
Per obstacle the first three positions contain
1. The number of nodes inside the obstacle that are only in elements that are completely
inside the obstacle.
2. The number of nodes inside the obstacle that remain but are not on the boundary
of the obstacle.
3. The number of nodes on the boundary of the obstacle.
These positions are followed by the node numbers in the sequence defined by the first
three positions. So first the nodes completely inside the obstacle and so on.
ielemobst Array containing information about the elements in an obstacle.
The first numobst (KMESH(42)) positions contain the starting positions of each obstacle
sequentially. Hence IELEMOBST(iobst) contains the starting position of obstacle iobst
in array IELEMOBST.
Per obstacle the first three positions contain
1. The number of elements that are completely inside the obstacle.
2. The number of elements that are not completely inside the obstacle, but with all
vertices inside the obstacle.
3. The number of elements that are partly inside the obstacle. elements that contain
only boundary points of the obstacle are not considered.
These positions are followed by the element numbers in the sequence defined by the first
two positions.
icrossobst array containing information about the cross section of obstacles with edges.
The storage of icrossobst is as follows:
Pos. 1 to numobst (number of obstacles): icrossobst(iobst) = istartobst (starting address of obstacle iobst in array.
Per obstacle from position istartobst:
Number of cross sections, followed by 2 positions for each cross section consisting of
the edge sequence number and a reference to rcrossobst.
rcrossobst Real array corresponding to icrossobst.
For each cross section a real factor f is stored defining the intersection of the edge with
the obstacle in the following way:
xintersect = x1 + f (x2 − x1 )
where x1 and x2 are the first and last point of the edge respectively
obstacle faces This array contains the edge (R2 ) or face (R3 ) numbers of the boundary of
the obstacle.
The storage is as follows:
Positions 1 to numobst: starting addresses of the obstacle with sequence number iobst.
For each obstacle: number of edges or faces of the boundary followed by edge or face
numbers.
For example if one wants to have all the faces of the first obstacle, the following statements
are required:
ipstart = obstacle_faces(1)
number_of_faces = obstacle_faces(ipstart)
do i = 1, number_of_faces
i_th_face = obstacle_faces(ipstart+i)
end do