Today, the creation of new technology is almost impossible without the widespread use of modern information technology and computer systems. One of the most important problems facing engineers is to replace the physical tests of prototypes of designed complex engineering systems a virtual computer experiment. This allows on the one hand to significantly reduce the cost of time and resources for design, and on the other – to improve its quality. The most well-known among commercial programs of finite element analysis are Abaqus, Ansys, MSC Nastran and others. Among the open source software are dial.II, FreeFEM, OpenCAD, etc. The number of such programs is steadily increasing, as the complexity of the problems facing engineers and scientists is constantly increasing. In addition, the rapid development of modern computer technology should be taken into account. In order to effectively use the available computing resources of modern multiprocessors and multicomputers, it is necessary to develop parallel versions of existing finite element analysis algorithms.
Thus, the problem of development of systems of finite element analysis with open source software, which would allow to use the capabilities of different parallel architectures of modern computer systems, is relevant.
Today, the most common classes of parallel computers are: 1) multiprocessors; 2) multicomputers. The software implementation of parallel computing in these systems differs significantly, because, for example, in multiprocessor systems, due to the presence of shared memory, it is not necessary to implement a complex data synchronization interface.
Thus, today the task of developing such software systems of finite element analysis, which could be used on different types of parallel architectures, is relevant. To solve this problem, the dissertation proposes the use of a creative design pattern Prototype, with which you can create copies of objects without going into the details of their implementation. This allows, on the one hand, to run software streams in parallel on computing nodes of different nature (processor cores; individual processors or on nodes of a computing cluster), and on the other – to create standardized program code, reduce debugging time, and minimize the possibility of errors in code through the use of verified solutions.
The most natural and universal way to describe arbitrary geometric domains is a functional approach, which is based on constructing a function that takes negative values outside the original geometric object and is non-negative in its middle and at the boundary. The possibility of constructing such functions for any geometric object was proved by Academician V. L. Rvachev.
Using a functional approach in a preprocessor requires the development of a formal way to describe functional models of geometric objects. For this purpose, the dissertation developed a problem-oriented language FORL-G, which allows you to describe geometric models of objects of any shape. In the work with the use of the extended Backus-Naur form, a complete description of the syntax and semantics of this language is given, as well as examples of its application. A feature of FORL-G is the presence of tools that control the process of building finite-element models in parallel computing systems. Also in the dissertation work with the use of the design pattern Prototype programmatically implemented parallel algorithms for constructing finite-element models of geometric objects, given functionally. A computational experiment was conducted, which confirmed the effectiveness of the proposed approaches.
Software implementation of a typical processor of the finite element analysis system involves the creation of separate modules that implement a certain type of calculation. An alternative approach is to automate the derivation of the necessary calculation relations directly from the principles of variation, which allows to obtain the necessary relations for the numerical solution of wide classes of problems. Its application requires the development of a formal way to describe the variational formulas and rules for deriving the necessary relations from them. In the dissertation the subject-oriented language FORL-F is developed, with the help of which the user can describe computer models of wide classes of tasks. The paper provides a formal description of this language, as well as examples of its use. Using the Prototype template, a processor is implemented that performs calculations of programs described in the FORL-F language in parallel computer systems. A number of computational experiments were performed, which confirmed the effectiveness of the proposed approach.
Also in the dissertation the description of the offered parallel algorithm of visualization of numerical calculations is given, on its basis the postprocessor is programmatically realized, and also the corresponding computational experiments are executed.