Thompson, Warsi, Mastin - Numerical Grid Generation (523190), страница 10
Текст из файла (страница 10)
24-25, which involve slabs or slits thatintersect the outer boundary are treated similarly, with points inside the slab again beingsimply excluded from the calculations. Also multiple slab or slit arrangements are treated byobvious extensions of the above procedures. Here the indices corresponding to each slab orslit will be determined by the number of points on the interior boundary segments and thenumber of coordinate lines specified to run between the various boundaries. For example, inthe slit configuration shown on p. 33, the ends of the horizontal slit would be at i-indices I1and I2, where I1-1 lines run vertically to the left of the slit and there are I2-I1+1 points onthe slit.
The vertical slit would be at i=I3 where there are I3-I2-1 vertical lines between thisslit and the horizontal slit (and I-I2 lines to the right). Similarly, if the j-indices of the ends ofthe vertical slit or J1 and J2, there will be J1-1 horizontal lines below this slit and J-J2 linesabove. With the j-index of the horizontal slit as J3, there will be J3-1 horizontal lines belowthis slit and J-J3 above. Provision will now have to be made in coding for twoone-dimensional arrays for each slit to hold the cartesian coordinates of the points on thesegments of the physical interior boundaries corresponding to the two sides of each slit.Again this coding complexity is avoided in the composite structure.The use of the conceptual deformation of the rectangle to setup the boundaryconfiguration for the case with multiple interior boundaries on p.
34 should follow with littlefurther explanation. Here there must be the same number of points on the pair of segments2-3 and 6-7, which correspond to the two segments forming the interior boundary on theright. There must also be the same number of points on the pair, 3-4 and 5-6, correspondingto the cut connecting the two interior boundaries. Finally the number of points on the outerboundary must, of course, be the same as that on the bottom boundary. Note also that thevalues of the cartesian coordinates placed at 2 must be the same as are placed at 7; those at 3must be the same as those at 6, and those at 4 the same as at 5.
Values are not set on the cuts,of course, but the generation system must provide that values at points on the segment from3 to 4 are the same as those on the segment 5-6, but proceeding from 6 to 5. Also values onthe segments 2-1 and 7-8 must be the same, proceeding upward in each case.Following the conceptual deformation of the rectangular boundaries of thetransformed region and the indexing system illustrated above, it now should be possible toset up the more complicated configurations such as the embedded regions shown in Section3C.
As noted there, however, the most straightforward and general approach to such morecomplicated configurations is to divide the field into contiguous rectangular blocks, each ofwhich has its own intrinsic set of curvilinear coordinates and hence its own (i,j,k) indexingsystem. The necessary correspondence between the individual coordinate systems across theblock interfaces was discussed in some detail in Section 3C. This block structure greatlysimplifies the setup of the configuration. For example, consider the 3-block structure shownon p. 49 for the physical field shown on p. 48, for which the blocks are as follows:Here the selected points on the right interior boundary (segment 8-15-9) are placed in i,1 ofthe first block, for i from the i-index at 8 to that at 9,proceeding clockwise from 8 to 9 on thephysical boundary.
(The difference between these two i-indices here is equal to the numberof points on this interior boundary,less one.) Similary,the selected points on the left interiorboundary (segment 4-5) are placed in i,1 of the second block for i from the i-index at 4 tothat at 5, proceeding clockwise from 4 to 5 on the physical boundary. The selected points onthe outer boundary of the physical region are placed in 1,j of the third block for j from 1 toJ3, in i,J3 for i from 1 to I3, and in I3,j for j from J3 to 1, proceeding from 16 to 1 to 2 to14 on the physical boundary. Points on the remainder of the physical outer boundary areplaced in 1,j of the second block for j from 1 to J2 and in I2,j for j from J2 to 1,proceeding from 3 to 17 for the former and from 13 to 6 for the latter, and in1,j ofthe firstblock for j from 1 to Jl and in I1,j for j from Jl to 1, proceeding from 7 to 13 for the formerand from 14 to 10 for the latter.Since the three blocks must fit together we have I3=I2, (I1+1)/2 equal to the differencein i-indices between 11 and 13 in the second block and to that between 12 and 14 of the thirdblock.
The quantities J1, J2, and J3 determine how many C-type lines occur in each block,and can be chosen independently. Here the segment 11-13 on the top of the first blockinterfaces with the corresponding segment on the top of the second block. The segment12-14, which forms the remainder of the top of the first block, interfaces with thecorresponding segment on the bottom of the third block. Finally, the segment 12-16, whichforms the remainder of the bottom of the third block, interfaces with segment 11-17, whichforms the remainder of the top of the second block. The segments 3-4 and 6-5 on the bottomof the second block interface with each other in the order indicated, as do also the segments7-8 and 10-9 on the bottom of the first block.In coding, this block structure can be handled by using a fourth index to identify theblock, placing an extra layer around each block, (i=0 and I+1, j=0 and J+1) and providing animage-point array by which any point of any block can be paired with any point of any other,or the same, block.
Such pairs of points are coincident in the physical region, being on oracross block interfaces, and consequently are to be given the same values of the cartesiancoordinates by the generation system. This imaging extends to the extra layer surroundingeach block, so that appropriate points Inside other blocks can be identified for use indifference representations on the block interfaces that require points outside the block, (cf.Section 5).Interface correspondence then can be established by input by setting the image-pointcorrespondence on the appropriate block sides, i.e., placing the (i,j,k) indices and blocknumber of one member of a coincident pair of points in the image-point array at the indicesand block number of the other member of the pair.
This correspondence is indicated on theblock diagram on pp. 85-86 by the points enclosed in certain geometric symbols.Thus, for the 3-block configuration considered above, the indices (I1-i+1, 1) and blocknumber 1, corresponding to a point on the segment 9-10 of the first block, would be placedin the image-point array at the point (i,1) on the segment 7-8 of this block, and vice versa. Asimilar pairing occurs for points on the segments 3-4 and 5-6 of the second block. Theindices (I2-i+1, J2) and block number 2, corresponding to a point on the segment 11-13 ofthe second block would be placed in the image-point array at the point (i,Jl) of the first blockon the segment 13-11 of that block, and vice versa. The indices (I3-I1+i, 1) and blocknumber 3 (a point on the segment 12-14 of the third block) would be placed in the array atthe point (i,J1) of the first block for a point on the segment 12-14 of that block.
Finally, theindices (i,1) and block number 3 (point on segment 16-12 of the third block) would beplaced in the array at the point (i,J2) of the second block for a point on the segment 17-11 ofthat block. The remaining segments all correspond at portions of the physical boundary andhence do not have image points.In the same manner the following image correspondence can be set between interiorpoints and points on the surrounding layers in order to establish difference representationsacross the block interfaces: (This correspondence is indicated symbolically on the blockdiagram on pp. 85-86 by geometric symbols.):As noted, all of this information would be input into the image-point array. Then withvalues of the cartesian coordinates at the image points on the surrounding layer set equal tothose at the corresponding object point inside one of the blocks, it is possible to use the samedifference representations on the interfaces that are used in the interior.The discussion given in this chapter should now allow the image-point input to beconstructed for any configuration of interest.
As noted, it is not necessary that the coordinatespecies remain the same as the interface is crossed. Thus, for instance, a point on the rightside of one block could be paired with one on the bottom of another block. In such a case theimage point of the point (I+1, j) the first block would be the point (j,2) inside the secondblock. Similarly the image of the point (i,0) below the second block would be the point (I-1,i) inside the first block, The correct difference representation across interfaces is thusautomatically established, eliminating the need for the concern with passage onto differentsheets discussed in detail earlier in this chapter.This greatly simplifies the coding, since with the surrounding layers and the use of theimage points, all of the derivative correspondences are automatic and do not have to bespecified for each configuration.
It is only necessary to specify the point correspondence byinput. This construction also allows codes for the numerical solution of partial differentialequations on the grid to be written to operate on rectangular blocks. Then any configurationcan be treated by sweeping over all the blocks. The surrounding layers of points and theimage correspondence provide the proper linkage across the block interfaces. In an implicitsolution the values on the interfaces would have to be updated iteratively in the course of thesolution. The solution for the generation of the grid would similarly keep the interface andsurrounding layer values updated during the course of the iterative solution.This, of course, maintains completecontinuity across the block interfaces.