Imagine the process of analyzing the thermal cycle in the example of gas turbine unit (GTU) (Fig. 2.18) in the following sequence:
- the structure diagram presentation as a set of standard elements and connections between them;
- entering the input data on the elements;
- generation of computer code in the internal programming language based on the chosen problem statement;
- post-processing and analysis of results.
This sequence of actions combines a high degree of automation of routine operations (input-output and storage of data, programming, presentation of the results of calculations, and so on) with the possibility of human intervention in the process of calculations at any stage (editing of data, changing the program code in the domestic language, writing additional custom code for non-standard calculations performing, etc.).
A key element of the algorithm, allows it to compile a more or less broad class of configurations, is the stage of code generation, based on a graphic description of the scheme (a set of elements and relations between them), i.e., parsing. The problem is that it is pointless to try to solve the problem of the scheme calculation for the arbitrary, sometimes physically implemented schemes. Therefore, the goal of the analyzer is also identification of semantically incorrect scheme descriptions using heuristics embedded in it.
The analyzer’s task is to draw up code for solving the system of algebraic equations that describe the problems of cycle analysis in one of the selected language. This system of equations must be linked to energy balances of different types (for example, flows of working fluids or shafts power) and, therefore, from the graph scheme should provide specific elements chains and use them to make a chain of appropriate formulas. Code generation is based on the information on the scheme chosen by the parser from the internal data structures of elements and connections.
This information includes, in particular, the total number of elements in the cycle, the number of elements of each type, chain elements attached to one shaft, the chain members having regard for air and gas. In addition, there is the total number of connections found and created a list of links with the types and numbers of adjacent elements, as well as the types of energy source. For the efficient operation of the analyzer is required to implement rather complex and flexible dynamic data structure to describe the types and implementation elements, links, as well as types and implementations of data elements and relationships.
Cycle element is an object that is indivisible (in terms of the cycle calculation) for modeling processes of energy conversion and exchange or energy flows. In fact the element is quite complex and multifaceted structure which includes information about the external and the internal representation of its mathematical model, a set of data divided into input and output (and, depending on the type of problem to be solved), a list of associated interface functions etc.
The cycle consists of elements and links between them. Cycle description is stored in a special text file format that contains data by elements, links and service information. Since a sufficiently large number of elements in the scheme, the appointment of links is time-consuming operation, which requires a lot of attention to the formation of the schema file, is desirable to have an interactive graphical schema editor, with which the elements and their relationship just “drawn” on the screen (Fig. 2.18). During the graphical information and elements data input the online preliminary control of the integrity and correctness of the scheme is performed.
Schema data includes collection of data of its elements and links that are relevant to the mathematical modeling of physical processes occurring in the cycle. In connection with this set of data is determined by the requirements of the codes, implementing these models – in our case – a “closed” to the user kernel. External modules available to the user (files of elements and schemes, interpreted code), when changed the set of data of a particular element, should be modified, preferably through means provided by the system or, in extreme cases, manually.
The program of thermal schemes calculation organized in such a way that the graphical user interface and substantive part (solver) would be relatively independent of each other. This makes it possible, on the one hand, to use a solver as a standalone program or as part of other systems, and the other – to connect other solvers to the interface for pre- and post-processing. Therefore
solver and interface program have independent data structures.
Solver is a dynamic link library that provides a set of procedures, sufficient for data input and output, as well as organizing the process of setting up and solving the balance equations of thermal cycle. The interpreter has the ability to access these functions, and thus becomes a real calculation procedure described above.
Mathematical modeling of cycles based on predetermined mathematical models of its constituent elements. This approach usually allows to simplify and speed up the calculations. Each of the circuit elements is a more or less complicated object, which can be described with varying degrees of detail.
There are significant differences in the simulation of the elements in the schemes calculation at design and off-design operation modes. In the latter case, the properties of the elements are given as characteristics (maps), i.e. dependency of the output parameters of the regime one. In some cases the characteristics building (especially for the compressors) is a fairly time-consuming task.