Simulação de sistemas dinâmicos em Python - Ascensão, Rafael das Almas (2021)
O estudo e análise de sistemas dinâmicos é comum a várias áreas científicas, sendo a abordagem a este tipo de sistemas facilitada através do uso de simuladores. Apesar de existirem alternativas open-source disponíveis, estas apresentam algumas limitações o que por norma leva a que utilizadores optem por soluções ad-hoc. Por isso, tem-se verificado um interesse crescente nesta área. Este trabalho de dissertação de mestrado pretende apresentar o processo de desenvolvimento de um simulador em que a especificação de sistemas dinâmicos e das suas interligações seja facilitada, permitindo o encapsulamento de blocos noutros blocos. Pretende-se também que o simulador possibilite a visualização gráfica dos sistemas e dos valores de output. Determinou-se que a implementação do simulador seria feita em Python, pelas suas características e pela popularidade da mesma na comunidade científica. São ainda incluídas demonstrações do funcionamento do simulador com sistemas que permitam demonstrar de modo básico as suas funcionalidades; Simulation of Dynamical Systems in Python Abstract: Analysis and study of dynamical systems is common in several scientific fields, often aided by simulators used to simplify this task. Even though there are open-sorce options available, these may have limitations that drive users to develop their own ad-hoc solutions. Hence the growing interest in this area. This dissertation work aims to present the development process of a simulator that facilitates the specification of dynamical systems through the specification of block-diagrams and their interconnections, including the ability to have encapsulation. The simulator should also allow graphical vizualization of the systems’ blocks and connections, and their output values. It was decided that the simulator would be implemented using Python, due its characteristics and its adoption by the scientific community. Some examples of the simulator running basic systems are also provided as a way of showing the functionality of the simulator in a simple manner.