MOL: Method of Lines Application

MOL is a C program that has the behavior of a realistic scientific application: the solution of time dependent pania! differential equations by the "Method of Lines"_ MOL is an abSlfaction that eliminates or greatly simplifies those components of a realistic code which are required for robust and accurate results, but which have little or no effect on run time behavior. As a result, MOL has only 4,000 lines of code instead of 20.000 or 30,000 or more for a realistic code. Further, MOL is highly object oriented to facilitate analysis, instrumentation and lranslation. MOL should be viewed as producing the display of the PDE solution and the computation should produce a good "quality of service" (e.g., 30 solutions a second). MOL has four types (output speed, solution behavior, accuracy and parallelism) of externally controllable parameters to adjust execution behavior with a tolal of nine parameters. Currently MOL has one time and one space dimension. It is designed to be extendIble in various ways, e.g., more space dimensions and adding communication parameters. I. THE METHOD OF LINES We start with the simplest case and later show relevant variations. The PDE problem is Il.t=f*uyy on the 3-sided domain: x =0, 0.$ y.:5 1; y =0, 0.:5 x; x =I, 0.:5 x. The usual presentation is III =f * Il.e:; but I reserve the variable t to be real time. Values of ll(X,y) are given on 3-sides of the domain: y=! Compute u(x,y) in here >=0 The computation starts atx =0 and evolves (this PDE problem is often called evolutionary) through increasing x values. The Quality ofService (QoS) requirement is *Prodllce a solution u(Xj,y) at aflXed rate of progress, (ROP). That is, given values Xi (say Xi = i*.OI for i = 0 to 1 million), produce the snapshot u(x~y) at the rate ROP of, say, 30 per second. The me[hod goes as follows: 1. Discretize the y variable into K intervals, of size l1y by Yl: =k * l1y, k = 0, ... , K. This defines K-2 new lines parallel to y =0 and y =1. u(x,y) is given on the boundaries for k=O. K I This work was supported in part by DARPA grant N66001-97-C-8533.