Preview

Proceedings of the Institute for System Programming of the RAS (Proceedings of ISP RAS)

Advanced search
Vol 29, No 1 (2017)
View or download the full issue PDF (Russian)
7-20
Abstract
Based on the open source software 2D numerical simulations of incompressible stratified fluids flows have been performed. They are characterized by a wide range of values of internal scales that are not in a homogeneous liquid. Mathematical model is based on the fundamental set of differential equations of inhomogeneous multicomponent fluid mechanics. The problem is solved using the finite volume method in an open source package OpenFOAM. The method allows analyzing in a single formulation the dynamics and fine structure of flow patterns past obstacles in a wide range of flow parameters. A particular attention is focused at construction of a high quality computational grid which satisfies basic requirements for resolution of all the microscales of the problem in high-gradient regions of the flow. The calculations were performed in parallel regime on computational facilities of the web-laboratory UniHUB (www.unihub.ru). The same system of equations and a general numerical algorithm were used for the whole range of the parameters under consideration. The calculation results are in a qualitative agreement with the data from laboratory experiments. Transient flow patterns past obstacles are analyzed, and physical mechanisms are determined, which are responsible for formation of vortices in regions with high density gradients near the edges of an obstacle. For all the velocities of the body motion, the flow field is characterized by a complicated internal structure. In the flow pattern around motionless body dissipative gravity waves are manifested at the edges of the strip. Around the slowly moving body a group of attached waves, are formed in opposite phases at the edges of the wedge. Then, the main flow components become vortices, which are formed around the edge of the wedge and manifested downstream in the wake. With further increase in velocity of the body motion, the flow pattern becomes more non-stationary.
21-38
Abstract
In this paper, we present the newly developed open-source density-based solver pisoCentralDyMFoam and investigate an application of the Proper Orthogonal Decomposition (POD) algorithms for industrial turbomachinery-related problems. POD is implemented in Apache Spark framework for distributed data processing. This solver is based on hybrid Kurganov-Tadmore/PISO scheme. The research was conducted for geometry close to its real prototype with known resonance frequencies. The solver was previously validated on simple industrial case ERCOFTAC centrifugal pump. The POD coefficient matrices were constructed using data set of the snapshots representing each saved time-step of the whole Navier-Stokes numerical model. Several hundred consecutive snapshots of the static pressure field on the impeller wheel surface as well as the velocity field were used for computation of the POD modes. The eigenvalues determined by POD method corresponds to the kinetic energy contained in each mode. The spatial coefficients represents contribution of each elementary volume to the whole mode and helps to locate the region having influence on the mean flow at specific frequencies after Fast-Fourier-Transform (FFT) applied to time-dependent coefficients of the decomposition. The POD modes were sorted by kinetic energy and the zeroth mode was most energetic representing mean flow with relatively small amplitudes. The described concept was extensively validated using computationally cheap 2D-case and then extended to the high-speed centrifugal pump of the small-scale turbojet. It was found that the third mode of the flow has first peak at 12970 Hz right between 2 construction resonance points at 12000 Hz and 13700 Hz. The third and fourth modes represent pressure fluctuations in the wakes region in the diffuser behind vanes. The demonstrated approach allows engineers to analyze flow dynamics more effectively compare to traditional FFT at certain points or cross-section. In addition, it can be useful for data compression and Reduced-Order Model development.
39-52
Abstract
Testing of capabilities of open-source BEM++ code for simulation of acoustics problems at medium and high frequencies is presented. The BEM++ library is a universal tool, which allows to build discrete models for boundary integral operators (single-, double- and adjoint double-layer potential operators and hypersingular boundary operators) and solve boundary element method problems for Helmholtz, Laplace and Maxwell equations using Python libraries. Solution for the test problem of scattering plane wave on spherical obstacle with using BEM++ demonstrates good convergence with the results of analytical solutions. The relative errors satisfy to acceptable values 5% in solving engineering tasks, this fact allows to use this library as an alternative to commercial software. Capability of BEM++ library to calculate acoustic fields for frequencies from 5 Hz to 5 kHz enables move to solving more difficult engineering challenges of the aerospace industry. The main restriction for this is a time of computation, because only shared-memory technology of the code parallelization is implemented. However, open architecture of the library allows to remove this disadvantage. Meshes for BEM++ can have big size and be based on E geometric model with complex geometrical objects. Also, it should be noted, that for implementation to engineering practice it is desirable to integrate the library with existing interactive systems of pre- and post-processing, for example, with Salome.
53-70
Abstract
The results of methodical investigation, aimed on testing of the performances of free opensource CFD toolbox OpenFOAM in the field of simulation of hydraulic units’ dynamics using Finite Volume Method and dynamic meshes are presented. The following key features are reviewed: the choice of appropriate algorithms managing dynamic sliding meshes; design of the model case for the FSI-problem of interaction between a moving regulating element (plunger) and power fluid; plunger dynamics simulation for the prototype of the flow rate regulator of new design; transient analysis of regulator’s internal flow; analysis of stability and computational efficiency. As the example simplified axisymmetric regulator model with incompressible power fluid is considered. The main steps of model case preparation are described. The model case is designed to simulate the problem of plunger equilibration under hydrodynamic forces and spring reaction. Results are given also for a preliminary steady-state simulation with fixed plunger, they have been used as initial conditions. Detailed description is given for the methods of mesh motion simulation, which follows plunger, as well as technology of sliding meshes (GGI), used for the piston throttle hole overlapping. Results are given for transient simulation: velocity, pressure fields, forces graphs, acting on the plunger, its displacement over time. The mechanism of jet streams and vertical flows creation in regulator’s flow channel is described. Methodical investigation, held in this paper, confirms that OpenFOAM in the “extend” version can be successfully used as an alternative for commercial CFD codes, as it contains all necessary tools to create and simulate cases incorporating dynamic meshes. It provides means for simulation of transient problems of hydraulic units which have moving parts.
71-84
Abstract
The LS-STAG immersed boundary cut-cell method modification for viscoelastic flow computations is presented. Rate type viscoelastic flow models (linear and quasilinear) are considered. Formulae for differential types of convected time derivatives the LS-STAG discretization was obtained. Normal non-newtonian stresses are computed at the centers of base LS-STAG mesh cells and shear non-newtonian stresses are computed at the cell corners. The LS-STAG-discretization of extra-stress equations for viscoelastic Maxwell, Jeffreys, upper-convected Maxwell, Maxwell-A, Oldroyd-B, Oldroyd-A, Johnson - Segalman fluids was developed. Time-stepping algorithm is defined by the following three steps. Firstly, a prediction of the velocity and pressure correction are computed by means of semi-implicit Euler scheme. Secondly, the provisional velocity is corrected to get a solenoidal velocity and the corresponding pressure field. After this the extra-stress equations are solved. Applications to popular benchmarks for viscoelastic flows with stationary boundaries and comparisons with experimental and numerical studies are presented. The results show that the developed LS-STAG method modification demonstrates an accuracy comparable to body-fitted methods. The obtained modification is implemented in the «LS-STAG» software package developed by the author. This software allows to simulate viscous incompressible flows around a moving airfoil of arbitrary shape or airfoils system with one or two degrees of freedom. For example, it allows to simulate rotors autorotation and airfoils system wind resonance. Intel® Cilk™ Plus, Intel® TBB and OpenMP parallel programming technologies are used in the «LS-STAG».
85-100
Abstract
In this paper, a model of a snow avalanche was created with the help of open source CFD software OpenFOAM. The avalanche is considered as a turbulent two-phase flow - snow and air. We take incompressible Herschel-Balkley fluid as a model of snow. Air is a newtonian fluid. For tracking and locating the free surface we use the volume of fluid (VOF) method. In calculations we use solver interFoam which is based on the VOF method. The K - ε turbulence model was used. Navier-Stokes equations, rheological ratios, equations for turbulent kinetic energy and dissipation are used to determine the model. The avalanche occurred at the 22nd site on the Ukspor mountain was modeled. Computational domain was made using digital terrain model in ASCII GRID format. The shape of snow deposits area was calculated and compared with the real data. The velocity field of flow, pressure distribution, the field of volume snow fraction were obtained for different time instances. The value of the average velocity of the flow was 44,8 m/s, the value of the maximum velocity of the flow (including snow-dust cloud) was 78 m/s. These results allow to determine the avalanche hazard area and help to optimally design the defense systems. In future it is planned to simulate this event using more detailed grids and realize this model in other software for example INMOST or with own code to compare the results.
101-118
Abstract
The work is devoted to the study of the two-mass vibration-driven system motion in the viscous fluid. The system consists of a closed wedge-shaped body, placed in a fluid, and a movable internal mass, oscillated harmonically inside the shell. The described mechanical system simulates a vibration-driven robot. The complex model of the robot interaction with the medium is considered, where fluid motion is described by the full unsteady Navier-Stokes equations. The problems of improving the efficiency of vibration-driven robot motion by choosing a special law internal mass movement are investigated. For these purposes, a comparative analysis of the characteristics of the motion and flow regimes around the robot are carried out for the simple harmonic law of the internal mass motion and the special two-phase law of the internal mass motion. The analysis of the flows around the robot and their influence on the characteristics (the average speed and the efficiency) of the movement is carried out. The numerical solution of the problem is carried out in the OpenFOAM open-source software package. The numerical scheme is implemented on the basis of the finite-volume discretization approach. For joint solution the Navier-Stokes equations and the mechanical system, which describes the interaction of components of vibration-driven robot and viscous media, a special iteration scheme is constructed. Results of the study show that the directional movement of the wedge-shaped vibration-driven robot is possible for both harmonic and two-phase laws of internal mass motion. In each of the cases it is possible to find stable regimes of motion observed in a wide range of Reynolds numbers. Analysis of average speed and efficiency of regimes allows finding the optimal parameters of vibration-driven robot motion.
119-134
Abstract
This paper is dedicated to practical research in the field of automated testing and analysis of software that features a graphical user interface. Current tendencies in user interface development favour semi-automatic approaches that employ human experts to create and prepare test suites. The ever-increasing complexity of software leads to decreased effectiveness of these approaches, especially when one considers large amounts of computational resources available during development. We present a fully automatic approach to dynamic analysis of program graphical interfaces. Our approach is based on the open-source GUITAR tool, which we have identified among other industrial and academic tools as the one closest to full automation. While highly efficient, GUITAR nevertheless has certain drawbacks and limitations which might cause insufficient accuracy in modelling the graphical interface structure and its individual elements. In turn, these limitations lead to fragments of graphical interface not getting processed during analysis or cause incorrect (i.e. not reproducible in practice) test cases to be generated. Our contributions include a set of modifications: incremental graphical interface model generation, improved identification of graphical interface element attributes and side effects, and finally a test case generation algorithm that focuses on reaching unprocessed graphical interface elements to check their functionality and improve the model. We have tested our modifications on a set of open source projects originally checked by GUITAR developers and achieved positive results: increased precision of GUI structure model and theoretically can decrease number of inapplicable test cases. Finally, we discuss several potential improvements for future work, including, in particular, the use of dynamic symbolic execution methods.
135-148
Abstract
The present-day trends in software engineering include the steady increase of code and design complexity which reinforces the high demand in automated software testing and analysis tools. In this paper, we showcase several dynamic program analysis applications and present our solutions. These applications include memory profiling, automated test generation using dynamic symbolic execution and automated detection of concurrency bugs in multithreaded programs. Our memory profiling tool is designed for Java applications for Android and it is implemented through Android Dalvik VM modification. This approach allowed us to overcome existing Dalvik VM limitations that make existing profiling tools based on dynamic bytecode instrumentation inaccessible. We have successfully applied our tool to several core Android applications - the results provided in the paper outline the effectiveness of the approach. The second solution we discuss in the paper - dynamic symbolic execution for test generation automation - allows us to efficiently generate test scenarios for Java program graphical user interface. The core technologies of the approach include the use of static bytecode instrumentation and automatic GUI model extraction. We implement the approach on top of a user interface test automation framework GUITAR. Finally, we present our approach to automatically identify concurrency bugs in multithreaded Java applications. The approach is based on static bytecode instrumentation for trace generation and employs ThreadSanitizer defect detection tool for identifying bugs.
149-166
Abstract
In this paper, we explore the possibilities of applying dynamic symbolic execution (or concolic testing) methods to applications with graphical user interfaces. Such applications inherently feature interactive user input processing and multithreaded execution. These features typically decrease the effectiveness of dynamic symbolic execution by increasing the volume of processed code not related to actual application functionality. We present a hybrid approach that combines commonly used GUI test automation methods based on GUI model excavation with dynamic symbolic execution methods to construct test cases for checking internal application logic. We have implemented this approach using two open-source tools - test automation framework GUITAR and Java byte-code static instrumentation framework Coffee Machine. GUI model extracted automatically by GUITAR tool is extended with symbolic traces relevant to application GUI event handlers. Our test generation module for GUITAR combines these symbolic traces into complex queries to be processed by SMT solver. The resulting test cases are valid within automatically extracted GUI structure model and allow to check different execution paths in GUI event handler code. We have checked our hybrid approach on a set of small open-source applications and identified several bugs caused by uncaught exceptions. The paper is concluded with an overview of current limitations and possible improvements of the hybrid approach.
167-194
Abstract
This paper gives a survey of existing methods and tools for test program generation for microprocessors. Test program generation and analysis of their execution traces is the main approach to functional verification of microprocessors. This approach is also known as testing. Despite continuous progress in test program generation methods, testing remains an extremely laborious process. One of the main reasons is that test program generation tools are unable to quickly enough adapt to changes. In the majority of cases, they are created for specific microprocessor types and are designed to solve specific tasks. For this reason, support for new microprocessors types and generation methods requires a significant effort. Often, in such situations, tools have to be implemented from scratch. Inability to reuse existing implementations of generation methods complicates evolution of test generation tools and, consequently, prevents improvement of testing quality. The present situation creates motivation to search for solutions to developing more flexible tools which could be easily adapted to testing new microprocessor types and applying new generation methods. The goal of the present work is to summarize existing experience in test program generation, which could serve as a basis for creating such tools. The paper considers strengths and weaknesses of popular generation methods, their application domains and cases of their combined use. It also makes a comparative analysis of facilities of existing generation tools implementing these methods. Based on the analysis, it gives recommendations on creating a unified methodology to develop tools for test program generation for microprocessors.
195-230
Abstract
The paper presents a survey of existing approaches to modeling memory states of C programs with SMT-formulas in context of static verification. The paper highlights the essential problems of C memory model development and describes two major groups of C memory models: one comprising of models that support unbounded memory regions and another including the models that don’t. Among the models for a priori bounded memory regions the paper discusses a strongest postcondition-based model relying on preliminary alias analysis and a weakest precondition-based model that uses uninterpreted functions and first-order logic to represent pointer predicates. Among the models for unbounded memory areas the paper describes a typed memory model, the Burstall-Bornat model, a region-based model and a model with full support for the Logic of Interpreted Sets and Bounded Quantification (LISBQ) earlier implemented in the HAVOC deductive verification tool.
231-260
Abstract
This article is devoted to review of current state of streaming processing field including. This includes some historical aspects and mentioning of leaps of technologies development. Big part is attended to aspects of working of streaming processing frameworks at the point of view programmers which are using ones to create own streaming applications. These aspects includes framework selection issues which are criteria of selections, hidden aspects of functioning, existing benchmarks for big data and streaming frameworks review, and different benchmarking techniques description. Also, this article contains comprehensive list of references.


Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.


ISSN 2079-8156 (Print)
ISSN 2220-6426 (Online)