Skip to content

mbahassan/Dyssol-open

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dyssol

Dyssol is a tool for dynamic flowsheet simulation of complex production processes with advanced treatment of granular materials.

For more information, please check the documentation.

Video intruductions: Basics and Simulation of granulation process

For new versions and updates, please visit our github page.

To cite Dyssol please use the following: Skorych, V., Dosta, M., & Heinrich, S. (2020). Dyssol — An open-source flowsheet simulation framework for particulate materials. SoftwareX, 12, 100572. doi.org/10.1016/j.softx.2020.100572.

Installation requirements

Windows

Dyssol should install and work on all latest versions of Windows. Requires Visual C++ Redistributable for Visual Studio 2019 to run.

Installation

Windows

Run the provided installer and follow the instructions.

Compilation

Windows

Compilation requirements on Windows

Optional requirements

Build on Windows

  • Make sure all programs and tools from the list are installed.
  • Setup Qt Visual Studio Tools extension to point to the installed Qt libraries. In Visual Studio 2019, go to Extensions → Qt VS Tools → Qt Versions → add new Qt version → ... → Navigate in the Qt installation directory to Qt/5.15.0/msvc2019/bin/qmake.exe → rename Version to msvc2019 → OK. Repeat for Qt/5.15.0/msvc2019_64/bin/qmake.exe and rename Version to msvc2019_64.
  • Compile and build external libraries: zlib, HDF5, SUNDIALS, graphviz. To do this, navigate to Dyssol/ExternalLibraries/ and execute file RunAll.bat. It will start building all the required libraries by executing files CompileZLib.ps1, CompileHDF5.ps1, CompileSundials.ps1, CompileGraphviz.ps1. To use the scripts, the following requirements apply: Visual Studio 16 2019, CMake, PowerShell 5.0.
  • Open Dyssol/Dyssol.sln with Visual Studio and build the solution.

Build documentation and installers on Windows

  • Make sure all required and optional programs and tools are installed.
  • Install required python libraries by running in a terminal
pip install -U sphinx sphinx-rtd-theme breathe
  • In Visual Studio Solution Explorer go to Installers, right click on the Installer project and choose Build. The built .exe installer locates in Dyssol/DyssolInstallers/Installers.

Also, other versions of Microsoft Visual Studio can be used, but additional preparations are required:

  • Install build tools for the corresponding Visual Studio.
  • Configure all *.ps1 scripts to use the required version of Visual Studio build tools before running Dyssol/ExternalLibraries/RunAll.bat.
  • If the Models Creator tool is required, files associated with it may need to be updated. They to be found in Dyssol/DyssolInstallers/Data/VCProject/.

Linux

Compilation requirements on Linux

  • gcc-9, g++-9
  • CMake 3.1.0 or higher

Compilation procedure on Linux

  • Install the required build tools
$ cd /path_to_repo
$ sudo add-apt-repository ppa:gladky-anton/sundials
$ sudo apt install build-essential libsundials-dev libhdf5-serial-dev libqt5opengl5-dev libgraphviz-dev doxygen
$ pip install -U sphinx sphinx-rtd-theme breathe
$ mkdir install
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install
$ cmake --build . --parallel
$ make doc
$ make install
  • The compiled executable file and all the units' libraries will appear in /path_to_repo/install

Code organization

  • BaseSolvers - interfaces for equation solvers
  • CahceHandlers - dynamic data caching
  • Documentation - manuals
  • DyssolConsole - main project for command-line version of Dyssol
  • DyssolInstallers - scripts and data needed to build installers for Windows
  • DyssolMainWindow - main project for GUI version of Dyssol
  • EquationSolvers - built-in equation solvers based on SUNDIALS library
  • ExternalLibraries - all third-party libraries and scripts to build them
  • GUIDialogs - main GUI components
  • GUIWidgets - auxiliary GUI components and tools
  • HDF5Handler - wrapper for HDF5 library
  • MaterialsDatabase - database of materials
  • ModelsAPI - part of the core components needed to develop units
  • Modules - additional modules
  • PropertySheets - projects settings for Visual Studio
  • SimulatorCore - core components
  • Solvers - all solvers and templates for them
  • Units - all units and temp0lates for them
  • Utilities - auxiliary program components
  • Dyssol.sln - main file of the Visual Studio solution
  • LICENSE - license agreement
  • Materials.dmdb - exemplary database of materials
  • README.md - this file

Installation directory organization

  • Example flowsheets – flowsheet examples
  • Example solvers – source code of solvers (C++)
  • Example units – source code of units (C++)
  • Help – documentation files (pdf)
  • Licenses – information about licenses
  • platforms - Qt libraries to support GUI
  • Solvers – libraries of developed solvers
  • styles - Qt libraries to support GUI
  • Units – libraries of developed units
  • VCProject – Models Creator tool: template project for Microsoft Visual Studio
  • Dyssol.exe – main executable of Dyssol
  • DyssolC.exe – command-line utility
  • ExampleConfigFile.txt – example configuration file for command-line utility
  • LICENSE - license agreement
  • Materials.dmdb – default materials database
  • Qt5*.dll - Qt libraries to support GUI
  • *.dll - Other external libraries
  • unins000.exe – Dyssol uninstaller

Third-party tools and libraries

About

System for dynamic flowsheet simulation of solids processes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 94.0%
  • Inno Setup 3.0%
  • PowerShell 1.2%
  • CMake 0.9%
  • C 0.5%
  • Python 0.2%
  • Other 0.2%