Object-oriented modelling for Scientific Computing
Elaine Ferreira Avelino
Arcler Education Inc
The main audience of this book are mathematics, biology, physics and engineering students interested in acquiring more knowledge in scientific computing by using object-oriented programming (OOP).OOP is present in many different programming languages. However, not all of them can be easily used in scientific computing. Therefore, in this book we show the application of OOP technique using C++, Java, Python and Matlab. These languages stand among the most popular ones to solve scientific problems, especially the numerical ones.The whole book is divided into 4 main sections.Section 1 gives a brief description of the basic concepts of OOP, terminology and the history of its development. The second section introduces scientific computing and some simple algorithms in numerical methods are presented, which lies among the most common types of problems that the scientist may face.Section 3 encompasses the major part of the book and contains the practical techniques for the development of object-oriented software solutions. The first tool presented is the Unified Modelling Language (UML), which is not a programming language, but a tool to develop the concepts in software, documenting it and making easier the implementation of necessary algorithms and methods, to satisfy the main objectives of the software.The second tool presented is the C++ programming language. In the chapter a introduction to the basic features of the language is given, and an introduction to the object-oriented features of it. The same guideline is followed for Matlab, Java, Python and Modelica.The Section 4 shows practical applications of scientific computing using object-oriented approach to solve problems. Specifically, it is presented the application of this technique to model the famous Predator-Prey model, or Lotka-Volterra model, which represents the relationship between a prey and its predator in a system under certain constraints. The second application is the description of the OpenMDAO tool for modelling and analysis of mathematical problems. The last application consists into modelling a system of tanks, starting from a functional programming and upgrading it until it reaches an object-oriented approach.Finally, it provides some suggestions of further reading. After, the references used along the book are presented.
Euan Russano was born in Minas Gerais, Brazil. He is a Chemical Engineer since 2012 by the Rural University of Rio de Janeiro (UFRRJ). He obtained his Msc. in 2014 at UFRRJ, in the area of Chemical Engineering, with specializazion in Process Control. In 2014, Russano began to develop his PhD at the University Duisburg-Essen (UDE) in the field of Water Science. His carrer was initiated in a Petrobras project in the Polymers Laboratory, at UFRRJ. From 2012 to 2014 he worked in the Fluids Flow Laboratory (Petrobras/ UFRRJ) with oil well pressure control. Since 2014 he works as an research assistant at the University of Duisburg-Essen, with water systems identification and control.