Abstract
A general purpose algorithm for assembling overlapping grid systems for solving partial differential equations (PDEs) is described. The method combines and improves on the techniques implemented in the codes Beggar, CMPGRD, DCF3D, and PEGSUS. The present algorithm, which has been implemented for the two-dimensional case in the code Xcog, starts by calculating a global definition of the boundary of the computational domain based on the location of the physical boundaries in all component grids. The global boundary description isused to identify all grid points outside of the computational domain. The remaining points are classified according to the priority of the component grids in the overlapping grid. If the overlap between the components is sufficiently large, all remaining points can either interpolate from an overlapping grid or be used to discretize the PDE. The algorithm can therefore construct an overlapping grid for implicit (coupled) interpolation in one pass and needs only to iterate to ensure explicit (decoupled) interpolation. If the algorithm fails due to insufficient overlap between the components, the main parts of the grid will still be valid. This enables the code to report inconsistent grid points to the user, to facilitate an improvement of the input. Discrepancies between the boundary representations where the grids overlap are handled by a mismatch tolerance, which is estimated automatically. The interpolation data are corrected for the boundary mismatch, and it is shown how the interpolation error in a thin boundary layer is substantially reduced by this correction.
Published Version
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have