Free Mathematical Modeling System SIMFOR Based on Gfortran Compiler

Abstract

In this article, we present a new mathematical modeling system SIMFOR which is based on Gfortran compiler. We review a modern state of Fortran programming language and characterize main features of modern standard: new data types, modern arrays, support of conveyer and parallel programs. Main requirements for system are outlined. The usage of free license is justified. Structure and main modules of system is described. Main modules are following: Emacs based integrated development environment; library of sequential and parallel algorithms of numerical calculus mathematics; graphical output library; shell script for system building and installation on local computer or computational cluster. The main features of developed graphic library are given: ability to move and turn graphic objects. Interfaces of all routines included in the library of numerical analysis are presented. The principles of building an integrated environment based on the Emacs text editor are described in detail: a list of external free modules and modules developed by the authors is given. System assembly technology introduced. Article also contains a link to system repository in internet, which contains detailed description and source codes. Possible applications of the system are described. The use of the system in teaching students parallel programming and numerical methods is justified.

Author Biographies

Evgeniy Rostislavovich Alekseev, Kuban State University

Ph.D. (Technology), Associate Professor, Associate Professor of the Department of Information Educational Technologies

Denus Aleksandrovich Lutoshkin, Vyatka State University

Master's degree student

Vyacheslav Vladimirovich Starodumov, Vyatka State University

Master's degree student

References

[1] Alexeev E.R., Rychkov S.L., Shatrov A.V. High-performance calculations for modeling of processes of transfer of pollution in an atmospheric boundary layer from superficial sources. CEUR Workshop Proceedings. 2018; 2254:131-138. Available at: http://ceur-ws.org/Vol-2254/10000131.pdf (accessed 10.08.2019). (In Eng.)
[2] Zaytseva N.V. Mathematical modeling boundary-value problem for elliptic equation with bessel operator in the program Maple. Fundamental research. 2016; (4-1):41-46. Available at: https://elibrary.ru/item.asp?id=25953299 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[3] Zaryankin A.E., Padashmoghanlo T. Development and research of vibration irregularity in piping systems and paths of turbomachines on the basis of mathematical modeling. Proceedings of the higer educational institutions. Energy Sector Problems. 2019; 21(1-2):93-110. (In Russ. abstract in Eng.) DOI: 10.30724/1998-9903-2019-21-1-2-93-110
[4] Kozinov E.A., Linev A.V., Volokitin V.D., Ivanchenko M.V., Meerov I.B., Denisov S.V. Parallel'nyj algoritm issledovaniya dinamiki otkrytyh kvantovyh sistem: reshenie osnovnogo kineticheskogo uravneniya v bazise obobshchennyh matric Gell-Manna [A parallel algorithm for studying the dynamics of open quantum systems: solving the basic kinetic equation in the basis of generalized Gell-Mann matrices]. In: Parallel computational technologies (PCT’2019). SUSU, Chelyabinsk, 2019, pp. 263-274. Available at: https://elibrary.ru/item.asp?id=37327272 (accessed 10.08.2019). (In Russ.)
[5] Panova E.A., Bastrakov S.I., Efimenko E.S., Volokitin V.D., Gonoskov A.A., Meerov I.B. Parallel'naya realizaciya psevdospektral'nogo reshatelya uravnenij Maksvella [Parallel implementation of the pseudo-spectral solver of Maxwell's equations]. In: Parallel computational technologies (PCT’2019). SUSU, Chelyabinsk, 2019, pp. 263-274. Available at: https://elibrary.ru/item.asp?id=37327283 (accessed 10.08.2019). (In Russ.)
[6] Pirova A.YU., Meerov I.B., Kozinov E.A. Programmnyj kompleks DMORSy dlya pereuporyadocheniya razrezhennyh matric na klasternyh sistemah [DMORSy software package for reordering sparse matrices on cluster systems]. In: Russian Supercomputing Days 2018. MSU, Moscow, 2018, pp. 749-757. Available at: https://elibrary.ru/item.asp?id=36548928 (accessed 10.08.2019). (In Russ.)
[7] Sohor Yu.N. Primenenie coarray Fortran dlya realizacii metodov tenzornogo analiza setej [Using coarray Fortran to implement tensor network analysis methods]. In: Parallel computational technologies (PCT’2011). SUSU, Chelyabinsk, 2011, p. 711. Available at: https://elibrary.ru/item.asp?id=22641278 (accessed 10.08.2019). (In Russ.)
[8] Stepanov M.F, Stepanov A.M., Mikhailova L.S., Jeronkina A.A. The automated system of mathematical modelling of control processes of non-stationary nonlinear plants by intellectual selforganized control systems. H&ES Research. 2015; 7(6):8-14. Available at: https://elibrary.ru/item.asp?id=25412239 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[9] Suhinov A.I., Nikitina A.V., CHistyakov A.E., Semenov I.S., Semenyakina A.A., Hachunc D.S. Matematicheskoe modelirovanie processov evtrofikacii v melkovodnyh vodoemah na mnogoprocessornoj vychislitel'noj sisteme [Mathematical modeling of eutrophication processes in shallow water bodies on a multiprocessor computing system]. In: Parallel computational technologies (PCT’2016). SUSU, Chelyabinsk, 2016, pp. 320-333. Available at: https://elibrary.ru/item.asp?id=25804441 (accessed 10.08.2019). (In Russ.)
[10] Suhinov A.I., CHistyakov A.E., Savickij O.A., Nikitina A.V., Semenyakina A.A. Matematicheskoe modelirovanie izlucheniya akusticheskoj antennoj na mnogoprocessornoj sisteme [Mathematical modeling of acoustic antenna radiation on a multiprocessor system]. In: Parallel computational technologies (PCT’2016). SUSU, Chelyabinsk, 2016, pp. 699-709. Available at: https://elibrary.ru/item.asp?id=25804518 (accessed 10.08.2019). (In Russ.)
[11] Danilov A.A., Terekhov K.M. Konshin I.N., Vassilevski Yu.V. Parallel Software Platform INMOST: A Framework for Numerical Modeling. Supercomputing Frontiers and Innovations. 2015; 2(4):55-66. (In Eng.) DOI: 10.14529/jsfi150404
[12] Jalas S., Dornmair I., Lehe R., Vincenti H., Vay J.-L., Kirchen M., Maier A. R. Accurate modeling of plasma acceleration with arbitrary order pseudo-spectral particle-in-cell methods. Physics of Plasmas. 2017; 24(3):033115. (In Eng.) DOI: 10.1063/1.4978569
[13] Kouetcha D.N., Ramézani H., Cohaut N. Ultrafast scalable parallel algorithm for the radial distribution function histogramming using MPI maps. The Journal of Supercomputing. 2017; 73(4):1629-1653. (In Eng.) DOI: 10.1007/s11227-016-1854-0
[14] Laptyeva T.V., Kozinov E.A., Meyerov I.B., Ivanchenko M.V., Denisov S.V., Hänggi P. Calculating Floquet states of large quantum systems: A parallelization strategy and its cluster implementation. Computer Physics Communications. 2016; 201:85-94. (In Eng.) DOI: 10.1016/j.cpc.2015.12.024
[15] LaSalle D., Karypis G. Efficient Nested Dissection for Multicore Architectures. In: Träff J., Hunold S., Versaci F. (Eds.) Euro-Par 2015: Parallel Processing. Euro-Par 2015. Lecture Notes in Computer Science, vol. 9233. Springer, Berlin, Heidelberg, 2015, pp. 467-478. (In Eng.) DOI: 10.1007/978-3-662-48096-0_36
[16] Mirams G.R., Arthurs C.J., Bernabeu M.O., Bordas R., Cooper J., Corrias A. et al. Chaste: An Open Source C++ Library for Computational Physiology and Biology. PLOS Computational Biology. 2013; 9(3):e1002970. (In Eng.) DOI: 10.1371/journal.pcbi.1002970
[17] Pravdin S., Ushenin K., Sozykin A., Solovyova O. Human Heart Simulation Software for Parallel Computing Systems. Procedia Computer Science. 2015; 66:402-411. (In Eng.) DOI: 10.1016/j.procs.2015.11.046
[18] Anenkov A.D. Metody realizacii odnostoronnih obmenov standarta MPI [Methods for implementing unilateral MPI standard exchanges]. In: Information Processing and Mathematical Modeling. Proceedings. SIBSUTIS, Novosibirsk, 2017, pp. 277-287. Available at: https://elibrary.ru/item.asp?id=29796791 (accessed 10.08.2019). (In Russ.)
[19] Archimaev A.S. Analiz effektivnosti odnostoronnih i dvustoronnih MPI-obmenov na primere umnozheniya matric [Analysis of the efficiency of one-way and two-way MPI exchanges using the example of matrix multiplication]. In: Information Processing and Mathematical Modeling. Proceedings. SIBSUTIS, Novosibirsk, 2017, pp. 288-294. Available at: https://elibrary.ru/item.asp?id=29796795 (accessed 10.08.2019). (In Russ.)
[20] Kadyrov P.A. Comparison of acceleration the parallel version of the bitonic sort algorithm on the CUDA architecture and MPI standard. Mirovaya Nauka. 2017; (3):29-32. Available at: https://elibrary.ru/item.asp?id=29818718 (accessed 10.08.2019). (In Russ.)
[21] Pirova A., Meyerov I., Kozinov E., Lebedev S. PMORSy: parallel sparse matrix ordering software for fill-in minimization. Optimization Methods and Software. 2017; 32(2):274-289. (In Eng.) DOI: 10.1080/10556788.2016.1193177
[22] Pirova A., Meyerov I. MORSy – a new tool for sparse matrix reordering. In: Papadrakakis M., Karlaftis M.G., Lagaros N.D. (Eds.) An International Conference on Engineering and Applied Sciences Optimization, Kos Island, Greece, 4-6 June 2014. Kos Island, 2014, pp. 1952-1964. Available at: https://elibrary.ru/item.asp?id=24006757 (accessed 10.08.2019). (In Eng.)
[23] Alekseev E.R., Soboleva O.V. The Modern Language of Programming Fortran in Education and scientific Research. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2016; 12(4):110-116. Available at: https://www.elibrary.ru/item.asp?id=28151067 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[24] Gorelik A.M. Programmirovanie na sovremennom Fortrane [Programming in Modern Fortran]. Finansy i Statistika, Moscow, 2006. (In Russ.)
[25] Gorelik A.M. The Fortran Standards Comparison. Informacionnye tekhnologii I I vichslitel’nye sistemy = Journal of Information Technologies and Computing Systems. 2015; (3):45-64. Available at: https://www.elibrary.ru/item.asp?id=25032419 (accessed 10.08.2019). (In Eng.)
[26] Gorelik A.M. Evolution of the Fortran language. Decremental features of the language and means for their replacement. Keldysh Institute PREPRINTS. 2018; (130):1-13. (In Eng.) DOI: 10.20948/prepr-2018-130
[27] Markus A. Modern Fortran in Practice. Cambridge University Press, 2012. (In Eng.)
[28] Alekseev E., Demin P., Boltacheva N. New technologies for developing high-performance and parallel applications on modern Fortran. Journal of Applied Informatics. 2018; 13(1):103-120. Available at: https://www.elibrary.ru/item.asp?id=32601828 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[29] Alekseev E.R., Demin P.A., Lutoshkin D.A., Starodumov V.V. The Free and Proprietary Compilers C(C++) and Fortran at Development of Effective Computing Applications. Sovremennye informacionnye tehnologii i IT-obrazovanie = Modern Information Technologies and IT-Education. 2017; 13(4):232-240. (In Russ. abstract in Eng.) DOI: 10.25559/SITITO.2017.4.446
[30] Alekseev E., Lutoshkin D., Ogorodov A., Starodumov V. Ispol'zovanie kompilyatorov yazyka Fortran pri reshenii vychislitel'nyh zadach [Using Fortran Language Compilators For Solving Computational Problems]. In: Free Software in High School. Proceedings. MAKS Press, Moscow, 2018, pp. 9-14. Available at: https://www.elibrary.ru/item.asp?id=32528474 (accessed 10.08.2019). (In Russ.)
[31] Demin P.A., Alekseev E.R. Matrichnye operacii yazyka Fortran [Fortran Matrix Operations]. In: Society. The science. Innovation (NPK-2017). Proceedings. VyatSU, Kirov, 2017, pp. 979-990. Available at: https://www.elibrary.ru/item.asp?id=32630537 (accessed 10.08.2019). (In Russ.)
[32] Uvanov M.I., Krasnoruckij D.A. O sozdanii mnogopotokovogo prilozheniya v Fortran 90 dlya rasparallelivaniya vypolneniya procedur [About creating a multi-threaded application in Fortran 90 for parallelizing the execution of procedures]. In: The Science. Industry. Defense. Proceedings. NSTU, Novosibirsk, 2015, pp. 786-790. Available at: https://www.elibrary.ru/item.asp?id=24084273 (accessed 10.08.2019). (In Russ.)
[33] Alekseev E.R., Demin P.A. Primenenie bibliotek proizvol'noj tochnosti v vychislitel'nyh zadachah [The use of libraries of arbitrary accuracy in computational problems]. In: Society. The science. Innovation (NPK-2016). Proceedings. VyatSU, Kirov, 2016, pp. 2670-2677. Available at: https://www.elibrary.ru/item.asp?id=26898214 (accessed 10.08.2019). (In Russ.)
[34] Gorelik A.M. Mixed Language Programming for Fortran and C. Informacionnye tekhnologii I I vichslitel’nye sistemy = Journal of Information Technologies and Computing Systems. 2016; (2):62-67. Available at: https://www.elibrary.ru/item.asp?id=26336696 (accessed 10.08.2019). (In Russ. abstract in Eng.)
[35] Alekseev E.R., Demin P.A., Kostyuk D.A. Vozmozhnosti graficheskogo vyvoda rezul'tatov v posledovatel'nyh i parallel'nyh krossplatformennyh vychislitel'nyh prilozheniyah na Fortrane i S(S++) [Possibilities of graphical conclusion of results in sequential and parallel cross-platform computer applications on Fortran and C(C ++)]. Advanced science. 2017; (3):143-167. Available at: https://www.elibrary.ru/item.asp?id=30450009 (accessed 10.08.2019). (In Russ.)
[36] Alekseev E., Lutoshkin D., Starodumov V. Razrabotka krossplatformennyh bibliotek na yazyke Fortran i S++ postroeniya grafikov funkcij [Development of cross-platform libraries in Fortran and C ++ for graphing functions]. In: Free Software in High School. Proceedings. MAKS Press, Moscow, 2018, pp. 15-19. Available at: https://www.elibrary.ru/item.asp?id=32528475 (accessed 10.08.2019). (In Russ.)
[37] Gergel V.P., Kozinov E.A., Linev A.V., Shtanyuk A.A. Uchebno-issledovatel'skie sistemy dlya izucheniya parallel'nyh metodov [Educational and Research Systems for Studying of Parallel Methods]. CEUR Workshop Proceedings. 2015; 1482:779-786. Available at: http://ceur-ws.org/Vol-1482/779.pdf (accessed 10.08.2019). (In Russ.)
Published
2019-12-23
How to Cite
ALEKSEEV, Evgeniy Rostislavovich; LUTOSHKIN, Denus Aleksandrovich; STARODUMOV, Vyacheslav Vladimirovich. Free Mathematical Modeling System SIMFOR Based on Gfortran Compiler. Modern Information Technologies and IT-Education, [S.l.], v. 15, n. 4, p. 1003-1012, dec. 2019. ISSN 2411-1473. Available at: <http://sitito.cs.msu.ru/index.php/SITITO/article/view/585>. Date accessed: 19 sep. 2025. doi: https://doi.org/10.25559/SITITO.15.201904.1003-1012.
Section
Scientific software in education and science