17 A Framework for Dynamic Simulation of Interconnected …
583
open-source modelling system Dyssol—an acronym for “Dynamic simulation of
solids processes”—offers these features through its high degree of modularity, open
and standardized interfaces, efficient algorithms and a clear user interface.
In the following sections, the modular architecture with its application programming interfaces and data formats are introduced. Following, the main simulation
algorithm is presented, giving insights to the applied methods like waveform relaxation, partitioning and tearing, and transformation matrices that allow an efficient
calculation of complex processes. Various case studies are presented to demonstrate
the validity of the implemented algorithms, with a focus on handling multidimensional distributed parameters of the solid phase. Additional features like unit and
solver libraries and the material database are discussed afterwards. The chapter closes
with the introduction to a global optimization strategy for the adjustment of dynamic
process parameters and a conceptual presentation of the coupling of flowsheet and
data-driven models for improved modelling accuracy.
2 Architecture
The Dyssol modelling system was developed and implemented using the C++
programming language [55] due to the following reasons:
• It is widely used in scientific computing, so many design patterns are known and
can be adjusted and reused for the current task.
• It supports the object-oriented programming (OOP) paradigm [56], allowing to
create robust modular solutions.
• The language has very low overhead and, therefore, provides high productivity
even for large complex problems.
• Allows flexible and efficient management of system resources.
• Has a large and active community and many affordable libraries and tools that
can simplify development.
• Is supported by various free cross-platform compilers.
2.1 Modular Structure
Given the tasks that were posed to the developing modelling system, as well as taking
into account the heterogeneity of projects in the entire SPP, it was necessary to ensure
high flexibility, customizability and extensibility of the simulation framework. To
provide this, the development was carried out considering the techniques of modular
design [43]. Such design implies the organization of the program as a set of small
independent blocks that communicate with each other using predefined interfaces.
Since the object-oriented programming paradigm, widely supported in C++, is a
convenient method for designing modular software products, it was intensively used
Précédent

- 581/626

Suivant