Optimizing costs and consumption has proved to be increasingly essential in recent decades, especially in view of the economic, energy and environmental crises we are experiencing. Software simulation is one of the main tools we have available to do this. Simulations allow us to test, analyze, and optimize production processes and predict future problems. Consequently, it is imperative to have state-of-the-art simulation tools which are powerful and easy to use. Mathematical models, defined through systems of equations, are able to describe the aspects of interest of physical phenomena, and the Modelica language provides the means for their definition and simulation. MARCO is a Modelica compiler, which was born with the goal of being as performing as possible, implementing algorithms that exploit the locality properties of modern computer architectures. MARCO's first prototype only worked on a subset of the models definable in Modelica. With this thesis we will describe the addition of some functionalities to MARCO, which will allow it to manage also models containing Operator Records and Ragged Arrays.
Ottimizzare costi e consumi si è dimostrato sempre più fondamentale negli ultimi decenni, soprattutto in vista delle crisi economiche, energetiche ed ambientali che stiamo vivendo. La simulazione software è uno dei principali strumenti che abbiamo a disposizione per fare ciò. Le simulazioni ci permettono di testare, analizzare ed ottimizzare i processi produttivi e prevedere eventuali futuri problemi. Di conseguenza è importante avere strumenti di simulazione all'avanguardia, che siano facilmente utilizzabili e potenti. I modelli matematici, definiti tramite sistemi di equazioni, riescono a descrivere gli aspetti d'interesse dei fenomeni fisici, ed il linguaggio Modelica fornisce i mezzi per la loro definizione e simulazione. MARCO è un compilatore di Modelica, che nasce con l'obiettivo di essere il più performante possibile, grazie all'implementazione di algoritmi che sfruttano le proprietà di località delle moderne architetture dei computer. Il primo prototipo di MARCO funzionava solo su un sottoinsieme dei modelli definibili in Modelica. Con questa tesi vedremo di descrivere l'aggiunta di alcune funzionalità a MARCO, che gli permetteranno di gestire anche modelli contenenti Operator Records e Array Ragged.
Records and ragged arrays support and management in MARCO Modelica compiler
QUAGLIA, ENNIO
2021/2022
Abstract
Optimizing costs and consumption has proved to be increasingly essential in recent decades, especially in view of the economic, energy and environmental crises we are experiencing. Software simulation is one of the main tools we have available to do this. Simulations allow us to test, analyze, and optimize production processes and predict future problems. Consequently, it is imperative to have state-of-the-art simulation tools which are powerful and easy to use. Mathematical models, defined through systems of equations, are able to describe the aspects of interest of physical phenomena, and the Modelica language provides the means for their definition and simulation. MARCO is a Modelica compiler, which was born with the goal of being as performing as possible, implementing algorithms that exploit the locality properties of modern computer architectures. MARCO's first prototype only worked on a subset of the models definable in Modelica. With this thesis we will describe the addition of some functionalities to MARCO, which will allow it to manage also models containing Operator Records and Ragged Arrays.File | Dimensione | Formato | |
---|---|---|---|
2022_12_Quaglia.PDF
accessibile in internet solo dagli utenti autorizzati
Descrizione: v1.0
Dimensione
710.13 kB
Formato
Adobe PDF
|
710.13 kB | Adobe PDF | Visualizza/Apri |
I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/10589/198795