Far from being full list of software written by Dr.A.Kudryavtsev*

Software downloads
  • Computer games and screen savers
  • Computer-aided design software
  • Simulation software
  • Numerical methods
  • Tutoring software
  • Utilities
  • Databases and Internet
  • Click on a picture to enlarge; click [<-Back] to return.

    screen shot

    name

    language

    platform

    amount of source code**

    co-authors

    description

    Computer games and screen savers

    WHIRLIES - a chess-like computer game Turbo Pascal + Microsoft assembler MS/DOS 35000 lines of Turbo Pascal Prof.N.Kornev (coding aerodynamic sigularities), Prof.M.A.Basin (the idea) This is a kind of chess-like game based on the ability of aerodynamic singularities generate sophisticated motion patterns. Written as interrupt handler for 1Ch vector (to allow vertices rotate continuously). This program has been included in CD-ROM "The Best of Russian Software" (Data Express Inc. 11030 NW 26th Place Sunrise Florida 39922 USA)
    OZ - a chess-like computer game Turbo Pascal + Microsoft assembler MS/DOS 15000 lines of Turbo Pascal Prof.N.Kornev (coding aerodynamic sigularities), Prof.M.A.Basin (the idea) This is an extension of the Whirlies computer game - both the scene and rotating tornadoes are three-dimensional. This program has been included in CD-ROM "The Best of Russian Software" (Data Express Inc. 11030 NW 26th Place Sunrise Florida 39922 USA)
    IVAN - a screensaver Visual C++ Windows 12000 lines of C none This is a screen saver based on MFC. The screen shows a picture with my son and a bee that randomly flies around him. Sometimes it sits down to relax at some fixed places

    Computer-aided design software

    MASHCAD - a computer-aided design system Turbo Pascal + Microsoft assembler MS/DOS 100000 lines of Pascal and 6500 lines of MS assembler none This is a CAD system to generate Bezier 3D surfaces (mostly ship hulls) and build triangular/rectangular surface grids. The program had a Windows-like interface though written for DOS. It had the following features : hypertext help; the user was allowed to get 2D and 3D views, zoom, perform mouse-driven alterations of surface shape; Spline, Jacoby polynomial and other types of fairing; it was based on a specially written SVGA library
    MASHCAD - a computer-aided design system - subsequent versions Turbo Pascal + Microsoft assembler MS/DOS additional 100000 lines of Pascal none The MASHCAD had many subsequent versions written in several years. At the end, such extravagant things were implemented as different types of surface fairing, including specially developed variational fairing, treatment of large arrays of data with virtual arrays with disk swapping, own SVGA libraries etc.
    MASURFACE - multi-function software to build 3D surfaces Visual C++ and assembler Windows 70000 lines none This is a CAD system to generate Bezier 3D surfaces, cover them with textures, save in files, build meshes on the surface etc. The representation of geometry is made convenient to be used in visualisation by OpenGL. This program is still not complete

    Sumulation software

    WIG - a flight simulator Pascal + assembler MS/DOS 6000 lines of Pascal and 1500 lines of assembler Prof.N.Kornev (aerodynamics) A flight simulator written for IBM PC to model the dynamics and windshield view for a wing-in-ground effect vehicle. Was written in Turbo Pascal for standard VGA video modes
    WIGSIM - a flight simulator Pascal + assembler MS/DOS 10000 lines of Pascal and 1500 lines of assembler Prof.N.Kornev (aerodynamics), A.Zakharov (aerodynamics) A flight simulator written for IBM PC to model the dynamics and windshield view for a wing-in-ground effect vehicle. Was written in Turbo Pascal for standard VGA video modes
    SKIPPER - a marine radio (GMDSS) simulator Turbo Pascal + Microsoft assembler MS/DOS initial version : 250000 lines of Pascal + 20000 lines of assembler A.Peredery The program is still used in Marine Educational Centres to teach marine radio operators. Main features of the program : custom multitasking, the program is built up as a hypertext database made up of various components - text, pictures, videos, audio fragments and executables; database of parameters for coast radio stations; local area network exchange; realistic view from the ship's bridge; low-level programming of SVGA library and Sound Blaster audio card; the DLL technology is used
    MASKANTI - a marine radio (GMDSS) simulator Turbo Pascal + Microsoft assembler MS/DOS plus 50000 distinct lines of Pascal A.Peredery This is a version marine simulator - SKIPPER with a set of radio eqipment manufactured by SKANTI
    MASAILOR - a marine radio (GMDSS) simulator Turbo Pascal + Microsoft assembler MS/DOS plus 50000 distinct lines of Pascal A.Peredery This is a version marine simulator - SKIPPER with a set of radio eqipment manufactured by SAILOR
    MASIM - simulator of navigation for inland waterways Visual C++ and assembler, GCC and NetWide assembler for Linux Windows, Linux 200000 thousand lines of C and assembly none This is a full-scale (though not complete) simulator of navigation for river ships that included all necessary components (several distinct programs) : visualization channels under Linux; radar, ship controls, instructor stations are programs written for Windows NT
    MASIM - simulator of navigation for inland waterways (instructor software) Visual C++ and assembler Windows, Linux 20000 lines of C none This a part of my simulator of navigation : instructor workstation which must control all the simulator. At the pricture you can see some geographic region (Ladoga lake is shown) with navigational signs and moving ships
    VISFISH - my CGI attempt Visual C++ and assembler Windows 50000 lines of C and assembly none Impressed by CGI (Computer Generated Imagery) creatures in cinema (BBC Wild Life, Jurassic park), I tried to make my own CGI creatures. This demo shows movement of an ancient fish. The surfaces are represented as bicubic patches covered with textures. As the creature moves and shape of its body constantly changes, it is impossible to use display lists, but I dynamically divide bicubic patches into quadrangles. To speed up the division, I extencively use XMM instructions
    VDEMO - my experiments with OpenGL Visual C++ and assembler Windows 50000 lines of C and assembly none This demonstration program is my experiment with OpenGL. The scene contains environment, ships etc.; the ship moves with six degrees of freedom, as it must do; however, I, as usual, did not take all easieast ways already available in OpenGL, and made my own chained coordinate transformations (e.g. the viewer moves relatively to ship, ship moves relatively to water)
    EC1241 - engine controls for a missile boat Visual C++ and assembler Windows 10000 lines of C and assembly none This is my first work for Transas. This is a COM-client for NAVI-Trainer, Transas's navigational simulator
    AIST - engine controls for a high-speed craft Visual C++ and assembler Windows 10000 lines of C and assembly none This is a COM-client for NAVI-Trainer, Transas's navigational simulator
    HARP - radar controls for a missile boat Visual C++ and assembler Windows 10000 lines of C and assembly none This is a COM-client for NAVI-Trainer, Transas's navigational simulator
    BREEZE - GPS indicator Visual C++ and assembler Windows 10000 lines of C and assembly none This is a COM-client for NAVI-Trainer, Transas's navigational simulator
    GUIS - gyrocompass Visual C++ and assembler Windows 10000 lines of C and assembly none This is a COM-client for NAVI-Trainer, Transas's navigational simulator
    SOUNDER - echo sounder Visual C++ and assembler Windows 10000 lines of C and assembly none This is a COM-client for NAVI-Trainer, Transas's navigational simulator
    DATAGATE - data gate Visual C++ and assembler Windows 10000 lines of C and assembly none Windowless application that provides any data to any client connected to it. Clients connect to the server using TCP/IP protocol and ask for type of data they want to receive from NAVI-Trainer. Also they indicate at what frequency the data must be sent to them
    FLAGS - special controls for warships Visual C++ and assembler Windows 10000 lines of C and assembly none Special controls for warships. This set of controls is used to handle different flags on warships, launch signal rockets, transfer fuel from tankers etc.
    VAIGACH - "Vaigach" radar Visual C++ and assembler Windows 10000 lines of C and assembly none "Vaigach" radar. This is a COM-client for NAVI-Trainer, Transas's navigational simulator. Realistic view of radar fading image
    HDRINSTR - hydrographic instructor workstation Visual C++ and assembler Windows 15000 lines of C and assembly none This is instructor workstation to simulate hydrographic measurements. This module is built into the Transas' navigational simulator - NAVI-Trainer. The program enables the user to load seabed relief and edit it by correcting depth values and adding sunk objects into the scene. The program communicates with other standalone hydrographic programs via sockets according to TCP/IP protocol
    VHFRADIO - digital telephone over LAN Visual C++ and assembler Windows 15000 lines of C and assembly none This is a digital telephone to simulate voice transfer by marine VHF radio. It is based on Windows sockets
    MATELOT - software for an integrated bridge system Visual C++ and assembler Windows 10000 lines of C and assembly none This a set of programs to provide a centralised control of ship equipment from computers. One of main difficulties is a requirement of very high reliability of the whole system, so a duplication of network exchange is implemented. Network exchange of data is provided with sockets and partly DCOM
    MLOG - log for the integrated bridge system Visual C++ and assembler with MMX and XMM Windows 10000 lines of C and assembly none This is a log program for events occurring within the integrated ship system. Desktop bitmaps, mouse and keyboard events, alarms, parameters, radar images are compressed and stored. Later, they can be played back with or without acceleration in time in different windows. Compression is performed incrementally (e.g. differences of bitmaps are stored), the total amount necessary to store all the information during 24 hours is approx. 1Gb. Access to pieces of data is indexed to decrease access time
    LMRADAR - full-scale radar simulator Visual C++ and assembler with MMX and XMM Windows 130000 lines of C++ and assembly Martin Quaintance (LightMaster Software) This is a full-scale radar simulator for leisure-boat users. Incorporates both standalone and network versions. Currently, two different radar sets are available.
    LMVHF - full-scale VHF radio and DSC simulator Visual C++ and assembler with MMX and XMM Windows 20000 lines of C++ and assembly Martin Quaintance (LightMaster Software) This is a full-scale VHF radio system simulator for leisure-boat users. Incorporates both standalone and network versions. Based on Simrad RS86 VHF radio system.
    MPHONE - digital telephone over LAN C++ Builder Windows 15000 lines of C none This is a digital telephone to simulate voice transfer between computers over pipes

    Numerical methods

    FLAC - Aerodynamic calculation of a system of two airfoils and a jet FORTRAN WANG 1300 lines none Calcuation of two thick airfoils in a potential inviscid fluid flow. The flow is modeled by a replacement of solid bodies and free surfaces by curvilinear vortex layers. Both stade and unsteady flows can be modeled
    NSTOKES - solution to Navier-Stokes equations FORTRAN IBM mainframes 7000 lines none A finite element solution to Navier-Stokes equations with penalty method was implemented. Due to very modest speed of this type of computers only solution for a flow around circuar cylinder up to Reynolds number 40 were achieved
    NULINE - lifting line in non-uniform flow along span FORTRAN IBM mainframes 5000 lines none A lifting line theory expanded to the case of non-uniform flow along span was numerically treated by the finite element method. The partial differential equations were linearised.
    FLIND - calculation of three-dimensional potential flow inside three-dimensional ducts FORTRAN + assembly IBM mainframes 1000 lines of FORTRAN + 400 of assembly none Calculation of velocity distribution inside of three-dimensional duct by the finite element method. Duct geometry is approximated with Jacoby polynomials.The fluid flow is potential. Automatic mesh generation. Finite elements are iso-parametric qudratic. The resulting system is solved by LDL-t decomposition
    FEMAX -calculation of axisymmetric potential flows by the finite element method FORTRAN IBM mainframes 600 lines none The distinctive feature of the program is an algorithm of immediate elimination applied to the solution of the resulting system of equations
    FASTA - assembly-based quick addition of matrices with scalar coefficients Assembly for IBM mainframes IBM mainframes 200 lines none Written to speed-up matrix operations. The improvement is achieved by utilising the incremental nature of the algorthm when calculating element addresses
    FASTM - assembly-based quick matrix multiply Assembly for IBM mainframes IBM mainframes 150 lines none Test computation show increase in execution speed up to 2.5 compared to standard routine GMPRD. The improvement is achieved by utilising the incremental nature of the algorthm when calculating element addresses
    GELA - assembly-based quick Gauss elimination with partial pivoting Assembly for IBM mainframes IBM mainframes 250 lines none Execution speed is incsreased by the factor of 2.5 compared to standard routine GELG. The improvement is achieved by utilising the incremental nature of the algorthm when calculating element addresses
    WING - computation of aerodyanmic characteristics of lifting surfaces by horse-shoe vortex method FORTRAN IBM mainframes 500 lines none Interactive program written for IBM terminal. It allowed the user to change geometry of a lifting surface and estimate the influence of the change
    PRONUS - actuator disk in axially non-uniform flow FORTRAN IBM mainframes 1000 lines V.G.Mishkevich (hydrodynamics of ship propellers, statement of the problem) The program was developed to investigate the influence of non-uniformity (non-potentiality) of fluid flow around a ship propeller. The problem was first formulated as a boundary-value problem derived from the linearized Eulerian set of partial differential equations. The problem was solved by finite elements. The investigations had shown that decrease in pitch near the hub obtained by pseudo-potential solutions used in industry is too high
    GREEDY - FEM mesh generator FORTRAN IBM mainframes 500 lines none Used to generate two-dimensional finite-element meshes by tesselation of input larger zones into smaller finite elements
    AIRFOIL - airfoil in linearized and non-linear ideal fluid flow FORTRAN IBM mainframes 2000 lines none Two-dimensional non-uniform fluid flow around airfoils is considered. Kutta-Joukovsky condition is applied. The resulting non-linear or linearised boundary-value problems are solved by finite elements. Also, matching with analytical solutions near sharp edges is implemented
    JEANLOU - airfoil in linearized non-uniform fluid flow FORTRAN IBM mainframes 1000 lines none Two-dimensional non-uniform fluid flow around airfoils is considered. The problem is solved by triangular Ermite finite elements (having both function and its derivative values at nodes as unknowns)

    Tutoring software

    AIRFOIL TUTOR - a tutoring software for students in aerodynamics Turbo Pascal and Turbo Prolog MS/DOS 50000 lines none A user-friendly tutoring systems for IBM-type personal computers intended for students in aerodynamics written for IBM PC. Results represented graphically. Hypertext help system
    FEM TUTOR - a tutoring software for students in aerodynamics Turbo Pascal and Turbo Prolog MS/DOS 50000 lines none A user-friendly tutoring systems for IBM-type personal computers intended for students in aerodynamics written for IBM PC. It showed mesh generation and influence of duct geometry on velocity and pressure distributions along walls. Results represented graphically in three dimensions. Hypertext help system
    AUTOWING - a tutoring software for students in aerodynamics Turbo Pascal and MS assembler MS/DOS 50000 lines Prof.N.Kornev (aerodynamics and design) A user-friendly designer for ligting surfaces for IBM-type personal computers. This program has been modified many many times and actually is still in active use
    SHIPDYN - graphical representation of ship manouvering Visual C++ and MS assembler Windows 5000 lines Prof.N.Kornev (ship dynamics model) This software is used to illustrate the influence of ship hull geometry on its manouverability. The ship dynamics is based on the model suggested by Prof.Kornev
    CSECTION - use of control section synchronization primitive Visual C++ Windows 200 lines none This small program was used as a sample code to teach students in Rostock University
    SEMAPHORE - to show how how to use semaphores Visual C++ Windows 200 lines none This small program was used as a sample code to teach students in Rostock University
    TRANSFORM - to show how matrix multiplies are used to model coordinate transformations Visual C++ Windows 200 lines none This small program was used as a sample code to teach students in Rostock University
    DEPOSIT - to illustrate how race conditions occur Visual C++ Windows 500 lines none This small program was used as a sample code to teach students in Rostock University
    MPI... (4 programs) - to show how to use MPI for code parallilisation Visual C++ Windows 2000 lines none These small programs were used as a sample code to teach students in Rostock University
    OPENGL... (11 programs) - to show how to use OpenGL Visual C++ Windows 3000 lines none These small programs were used as a sample code to teach students in Rostock University
    THREAD... (2 programs) - to show how to parallelise code with threads Visual C++ Windows 600 lines none These small programs were used as a sample code to teach students in Rostock University
    MYSQL - to show how to program an embedded MySQL database Visual C++ Windows 300 lines none This small program was used as a sample code to teach students in Rostock University
    ODBC - to show how to use ODBC to control an MS Access database tables Visual C++ Windows 300 lines none This small program was used as a sample code to teach students in Rostock University
    FEMVISUAL - finite element solution to Poisson equation Visual C++ Windows 1000 lines none This program was written for students and with students help to solve Poisson equation in a two-dimensional region. This is a model of static electric field. The solution represented distribution of potential across a cross section of a wire. To my surprise, I spent only two hours to write this program in C

    Utilities***

    RCODER - recoder for cyrillic text files Turbo Pascal and MS assembler MS/DOS 3000 lines none A command line routine to change encoding of cyrillic text files
    COMPFILS - a utility to compile composite files Turbo Pascal and MS assembler MS/DOS 2000 lines none This utility makes a single composite file made up of different files and provides it with a header to quickly load each file. Normally, the file components are compressed by RLE,LZ or JPEG
    MARLZ - a utility to compress short telex texts Turbo Pascal and MS assembler MS/DOS 6000 lines none This utility was specially developed to improve quality of compression for typically short texts of marine telegrams. This was achieved by a modification of the standard Lempel-Ziv compression algorithm by preliminary filling of the dictionary with a set of words typical for maritime telegrams, like MASTER, SAIL etc. This greatly improved the compression ratio of marine telegrams
    RECODER - user-friendly recoder for cyrillic text files Turbo Pascal and MS assembler MS/DOS 5000 lines none A user-friendly software to change encoding of cyrillic text files
    RTEXT - file processor Turbo Pascal and MS assembler MS/DOS 15000 lines none File processor to edit, translate and print files
    EDIT8x14 - a utility to edit font files Turbo Pascal MS/DOS 5000 lines none A utility to edit font tables
    SEEFILE - a utility to see binary file contents Turbo Pascal MS/DOS 5000 lines none Enables to see contents of a binary file as different types of data, e.g. as integer, floating point value etc
    TUNEED - musical tune editor Turbo Pascal MS/DOS 15000 lines none Is used to make tunes, play and save them

    Databases and Internet

    PUBLICATIONS - an Internet database of publications PHP and MySQL Windows 1200 lines none Written to maintain a list of different types of publications. Freely accessible for everybody to look at contents at http://www-ae.e-technik1.uni-rostock.de/home/andrej/index.php while editing is protected by a password
    PUBLICATIONS - a database of publications Visual C++ based on ODBC and MS Access database tables Windows 3000 lines none Written to maintain a list of different types of publications. Based on embedded ODBC to get access to MS Access tables
    MINES - an Internet database of electromagnetic characteristics of land mines PHP, MySQL, Visual C++ Windows 4500 lines of PHP and 5000 lines of C none Written to maintain an interrelated 6-table database of electromagnetic characteristics of land mines. The data includes geometry, soil and material properties, as well as results of computations. The latter are geometrically represented on the WEB page by means of a special graphics utility written in Visual C++
    SSHOP - a database of goods for a small shop Delphi Windows 3000 lines none A database based on Paradox tables written by standard Delphi means
    RSTATIONS - a database of coast radio stations Pascal MS/DOS 5000 lines none This was a part of my SKIPPER marine radio simulator. It was written as an originally developed 1-table database with such things as indexing

    *Almost ALL software was written by me ALONE from scratch and without any toolboxes etc. of other authors with very few exceptions (see co-authors about what they did)

    **Of course, this is an approximate value : I calculated it by dividing the size of source files in bytes by an average length of a line of code (30). Also, I tried not to take into account code already counted in other projects

    ***Actually, utilities are the most common type of software for large projects and many are simply NOT MENTIONED here. Large projects usually require not only much programming, but also preparation of huge amounts of data. For example, for a navigational simulator we need to construct a binary representation of a visual scene, or tesselate sea region into triangles to learn if a ship is inside sea or not etc.

    E-mail me at address: andrewkoudr@hotmail.com

    Back to home page!

    Counter Search Engine Submission and Internet Marketing Submit Your Site To The Web's Top 50 Search Engines for Free! Development of simulation software 1