17 A Framework for Dynamic Simulation of Interconnected …
585
The Data storage module (see Sect. 6) implements all the functionality necessary
for accessing the hard drive for writing, storing and reading data, such as the structure
and settings of the flowsheet, material and process parameters, as well as simulation
results. To organize data, the Hierarchical Data Format HDF5 and the HDF5 library
[60] are used. During simulation, this subsystem also performs the functions of online
data caching to reduce the need for working memory.
The Materials database (MDB) module (see Sect. 7) is used to store, organize and
access information about materials and their properties. The database can be freely
configured and modified by users, including adding new materials and new material
properties. Constant, temperature- and pressure-dependent parameters are supported,
as well as properties describing the interaction of two materials. The functionality
of this module includes the access to properties of pure materials, phase specific
mixture properties and properties for an entire material flow. Using the developed
standardized software interfaces to access this module, one can further expand the
modelling system by connecting to other materials databases.
In order not to limit the flexibility of the system, models of units and solvers
were not directly incorporated into the simulation environment, but are delivered in
the form of separate modules, which are collected in the corresponding libraries. To
access both Units library and Solves library, Models manager is used. It provides
communication interface between the system’s core and libraries. The simulation
system comes with a specific set of predefined models (see Sect. 8). However, it can
be expanded by units and solvers in a form of dynamically linked libraries (DLL),
implemented by third-party developers. To simplify this process, Models creator
is provided with Dyssol. It can be used to develop new units and solvers using
predefined program interfaces (see Sect. 2.4). Thus, each user can adjust the system
in accordance with its tasks, implementing its own models of apparatuses, process
sub-steps and task-specific solvers.
To manage the entire program, a simplified Graphical user interface was developed, which includes the ability to setup the structure of the flowsheet, model parameters and simulation settings, as well as to perform a basic analysis of the results. To
provide portability and cross-platform capabilities, the graphical interface is based
on the Qt software framework and Qt library [17, 46]. Additionally, there is a Command line interface that allows changing some parameters of pre-defined flowsheets
and performing multiple simulations in batch mode.
2.2 Structure of Material Stream
Material stream is one of the main structural components of the flowsheet. It provides
storage and transfer of information about the state and parameters of the material
between units in the flowsheet. Thus, its structure determines the set of parameters that can be processed in the modelling system. The material stream object was
designed to cover the following requirements:
585
The Data storage module (see Sect. 6) implements all the functionality necessary
for accessing the hard drive for writing, storing and reading data, such as the structure
and settings of the flowsheet, material and process parameters, as well as simulation
results. To organize data, the Hierarchical Data Format HDF5 and the HDF5 library
[60] are used. During simulation, this subsystem also performs the functions of online
data caching to reduce the need for working memory.
The Materials database (MDB) module (see Sect. 7) is used to store, organize and
access information about materials and their properties. The database can be freely
configured and modified by users, including adding new materials and new material
properties. Constant, temperature- and pressure-dependent parameters are supported,
as well as properties describing the interaction of two materials. The functionality
of this module includes the access to properties of pure materials, phase specific
mixture properties and properties for an entire material flow. Using the developed
standardized software interfaces to access this module, one can further expand the
modelling system by connecting to other materials databases.
In order not to limit the flexibility of the system, models of units and solvers
were not directly incorporated into the simulation environment, but are delivered in
the form of separate modules, which are collected in the corresponding libraries. To
access both Units library and Solves library, Models manager is used. It provides
communication interface between the system’s core and libraries. The simulation
system comes with a specific set of predefined models (see Sect. 8). However, it can
be expanded by units and solvers in a form of dynamically linked libraries (DLL),
implemented by third-party developers. To simplify this process, Models creator
is provided with Dyssol. It can be used to develop new units and solvers using
predefined program interfaces (see Sect. 2.4). Thus, each user can adjust the system
in accordance with its tasks, implementing its own models of apparatuses, process
sub-steps and task-specific solvers.
To manage the entire program, a simplified Graphical user interface was developed, which includes the ability to setup the structure of the flowsheet, model parameters and simulation settings, as well as to perform a basic analysis of the results. To
provide portability and cross-platform capabilities, the graphical interface is based
on the Qt software framework and Qt library [17, 46]. Additionally, there is a Command line interface that allows changing some parameters of pre-defined flowsheets
and performing multiple simulations in batch mode.
2.2 Structure of Material Stream
Material stream is one of the main structural components of the flowsheet. It provides
storage and transfer of information about the state and parameters of the material
between units in the flowsheet. Thus, its structure determines the set of parameters that can be processed in the modelling system. The material stream object was
designed to cover the following requirements:
