In order to efficiently design a flowing or artificial lifted well and to choose the most economical producing equipment, one has to analyze its components in conjunction with the entire system. These kinds of analyses are customarily called Nodal System Analyses. The development of computer programs for Nodal System Analysis is a complicated and time-consuming task mainly due to the complexity of the system. A recently emerging programming technique, Object-Oriented Programming or OOP can provide programmers an excellent means for solving such difficult problems.
The aim of this paper is to show the use of OOP programming techniques in the development of a computer program for Nodal System Analysis. A discussion of Nodal Analysis methodology is given first. Then the fundamentals of Object Oriented Programming are shown with a detailed description of its basic terms: object, method, inheritance, encapsulation, polymorphism, etc. Application of OOP techniques is demonstrated through the development of a computer program for a simplified producing system of a flowing well. This case includes the following hydraulic components: reservoir, tubing string, flowline, separator. In the computer program, these elements are represented by individual objects with their own variables and subroutines. Since the different hydraulic components of the producing system have a lot of common parameters, the objects representing them have this feature as well. The main objects can be made up of smaller objects containing the common parameters resulting in a hierarchy of objects. In the paper, considerations are given on the most suitable hierarchy of objects along with details of their structure.
The practical value of any computer program heavily relies on an efficient input and output structure. According to the latest trends, the program developed here uses menu-based input and graphical output sections. The program developed in this paper was written in Turbo Pascal 6.0, its menu system was created using Turbo Vision, the object-oriented application framework for Turbo Pascal 6.0.