Recent Releases of dyssol-open

dyssol-open - Dyssol v1.5.0

Models: - ScreenMultideck removed from installer.

Models API: - Reworked API for distribution functions (!). - Fixed calculation of density in streams.

Materials database: - Adjusted H2Og vapor pressure.

Fixes: - Fixed build in ModelsCreatorSDK.

Other: - Improvements in saving/loading subsystem. - Fixed flowsheet examples. - Other bug fixes and performance improvements.

- C++
Published by github-actions[bot] 10 months ago

dyssol-open - Dyssol v1.4.0

UI: - Allowed installation for a single user on Windows. - In command line mode, time is written in s.ms format.

Models: - Added residual moisture of granules to the Granulator model. - Models from old DLL/SO files cannot be loaded in the current version (!). - Some units were renamed: HeatExchanger -> Heat exchanger, InletFlow -> Inlet flow, OutletFlow -> Outlet flow, Screen Multi-deck -> Screen multi-deck. Old CLI scripts might be updated (!).

Models API: - Added function CBaseUnit::AddNLVariables() to KINSOL solver to add multiple state variables. - Added function CBaseUnit::ConfigureUnitStructures() to setup all the internal settings of the units from an existing one. - Added another version of function CBaseUnit::GetTimePoints() to get the time points from the list of holdups and streams. - Allowed to use CCheckBoxUnitParameter as grouping parameter (see CBaseUnit::AddParametersToGroup()). - Added functions CBaseStream::GetAllOverallProperties()/CBaseUnit::GetAllOverallProperties() to obtain the list of all defined overall properties. - Added function CStream::GetAccumulatedMass() to calculate the accumulated mass in the stream. - Changed the algorithm for calculation of HEATCAPACITYCP in CBaseStream::GetPhaseProperty(). - Added function CBaseStream::GetAllPhases() to obtain all defined phases. - Added function CBaseStream::GetCompoundsNumber() to obtain the number of defined compounds. - Added function CBaseStream::GetPhasesNumber() to get the number of defined phases. - Added function CBaseStream::GetDistributionsNumber() to get the number of defined distributed parameters. - Added function CNLSolver::GetSolverMaxIter() to set max iterations to NL solver. - Added functions CPortsManager::GetInputPortsNames()/GetOutputPortsNames() to access port names. - Added functions DiameterToMass() to calculate masses from particle diameters. - Added function AddVector() to add a value to all entries of the vector. - Added functions Slice() and SetSlice() to simplify extraction and setting of _vars, _ders, and _res in the solvers. - Added functions GetDistributionMean(), GetDistributionVariance(), GetDistributionStdDev(). - Added functions to obtain limits of CDependentUnitParameter. - Added function == to compare CChemicalReaction. - Added function VectorContains() to check whether the vector contains a specified element.

Core: - Drop support for Win32/x86 version.

Materials database: - Add lactose to the default materials database. - Added TP-dependent mass diffusion coefficient. - Set the mass diffusion coefficient for H2O_gas in the default materials database. - Added another power function as the correlation type. - Added Ideal Gas function as the correlation type. - Updated the density of Air in the default materials database to use the Ideal Gas correlation.

Fixes: - Fixed a possible crash when saving a file in a write-protected directory. - In some cases simulation wasn't stop after pressing the stop button. - Fixed the work of Save Time Step setting in some cases. - Fixed calculation of density for a mixture of compounds with the function CBaseStream::GetPhaseProperty. - Fixed potential crash at program start. - Defining unit parameters with the same name does not result in crash. - Fixed possible crash when using internal streams from Initialize(). - Holdups and feeds will always have at least one time point upon creation. - Fixed a rare bug if the Run button is double-clicked.

Other: - Update default SUNDIALS library to v7.2.1. - Other minor bug fixes and performance improvements.

- C++
Published by github-actions[bot] about 1 year ago

dyssol-open - Dyssol v1.3.0

UI: - Fixed copy-paste in time-dependent unit parameters.

Documentation: - New API documentation for model development. - Update documentation for the Screen model.

Core: - Improved performance if 'Save time step hint' is used.

Fixes: - Fixed reading of numbers in the scientific format from the CLI scripts.

Other: - Updates and fixes in the default materials database. - Other minor bug fixes and performance improvements.

- C++
Published by vasylskorych almost 2 years ago

dyssol-open - Dyssol v1.2.0

UI: - Allow to copy/paste of dependent/list model parameters. - Update links to documentation, installers, repository everywhere. - Added tooltips to most UI elements.

Models API: - New type of model parameters: CDependentUnitParameter. - New constant STEFANBOLTZMANNCONSTANT. - Breaking change: CDAEModel::AddDAEVariables() returns vector (indices of all added variables) instead of size_t (index of a last added variable). - Added versions of Get*TimePoints() functions for the whole interval in CBaseUnit. - Added CBaseStream::GetCompoundsMasses(), CStream::GetCompoundsMassFlows() functions to obtain mass flows of all defined compounds. - Added CBaseStream::AreEqual() for comparison of time points. - Added CDAEModel::GetUserData() to obtain pointer to the corresponding model. - Added CUnitParametersManager::GetAllTimePoints() for the whole interval. - Added V2E() functions to convert numeric values to enumerator identifiers. - Added Slice() function to retrieve a vector from a raw array by indices. - Added AddVectors(), MultVector() functions for easier vector operations. - Added Clamp()/ClampL()/ClampR() functions to limit input value from any side.

Core: - Update vapor pressure for some materials in default materials database.

Fixes: - Paths to models and materials database were not stored in some cases. - Setting functional distributions in holdups editor now correctly works for all combinations of function types and PSD types. - Fixed some rare crashes during plotting. - Fixed loading of Auto flag in tear streams editor. - Fixed convergence issues when end simulation time was comparable with the size of initial time window. - Fixed algorithm of CBaseStream::Set/GetCompoundMolFraction() functions.

Other: - VCProject renamed to ModelsCreatorSDK. - Windows installer now supplies documentation in html format. - Add settings for Windows installer project to select architecture, documentation, SDK. - Default version of ModelsCreatorSDK is now with pre-built libraries. - Rework and update documentation for CBaseUnit. - Update default zlib library for Windows: 1.2.13 -> 1.3.

- C++
Published by vasylskorych over 2 years ago

dyssol-open - Dyssol v1.1.1

fixes: - In some cases, tear streams were not properly initialized

- C++
Published by vasylskorych almost 3 years ago

dyssol-open - Dyssol v1.1.0

Models: - Replace Cyclone2 with more rigorous CycloneMuschelknautz model

Models API: - Overload of AddComboParameter() for enum classes - Overload of AddParametersToGroup() for pointers to parameters

Core: - Fix bug in Holdups Editor when more than 2 distributed parameters are defined - Simplify and improve performance of DAE solver

Other: - Add support for SUNDIALS 6 - Update default external libraries for Windows: -- zlib 1.2.12 -> 1.2.13 -- sundials 5.6.1 -> 6.4.1 -- hdf5 1.12.0 -> 1.12.2 -- graphviz 2.49.3 -> 7.0.4

- C++
Published by vasylskorych about 3 years ago

dyssol-open - Dyssol v1.0.5

  • Add Simple Batch Granulator model
  • New documentation for GUI and CLI
  • Fix CBaseStream::SetCompoundMolFraction
  • Other minor fixes and stability improvements

- C++
Published by vasylskorych over 3 years ago

dyssol-open - Dyssol v1.0.4

  • Fix work with paths to files in different contexts
  • Add script files for CLI in new format to Installer
  • Various minor fixes

- C++
Published by vasylskorych over 3 years ago

dyssol-open - Dyssol v1.0.2

  • Add heat capacity and equilibrium moisture content TPD parameters to MDB
  • Add Milk, Al2O3, Cellets, FCC materials to MDB
  • Add DISTR_MOISTURE distributed parameter
  • Crusher: Output the name of the input stream if the crusher is empty
  • Bunker: Fix constant model outflow problem
  • Put back path to opened file in window title
  • Add function to simplify conversion of enum vectors
  • Print unit name on wrong compound parameter error

- C++
Published by gladk about 4 years ago

dyssol-open - Dyssol v1.0.0.0

  • Redesigned units API.
  • New command line interface.
  • Visualize flowsheet as a graph.
  • Move units creator to Visual Studio 2019.
  • Move documentation online.
  • Fully functional Linux version.
  • Allow different grids in different units.
  • Add multi-deck screen.
  • Add Simple Shift model to Time Delay unit.
  • Add Const Output model to Solids Bunker unit.
  • Possibility to use custom kernel in agglomeration solvers.
  • Extend settings of non-linear solver.
  • Allow continuous logging from units with long blocking Simulate function.
  • Add new types of unit parameters: reactions, lists, MDB compounds.
  • Add Sutherands's law correlation to MDB.
  • Allow copy/paste to tables of Holdups Editor.

- C++
Published by vasylskorych about 4 years ago

dyssol-open - Dyssol v0.10.0.2

  • Change default values of all properties for new materials to 0.
  • Remove reactivity type from default set of parameters.
  • Fix Unicode issue in visualization of units.
  • Fix in SetDistribution function in case of 2-D distribution.
  • Update links to installers and documentation.
  • Add license name to license file.

- C++
Published by vasylskorych over 5 years ago

dyssol-open - Dyssol v0.10.0.1

- C++
Published by vasylskorych over 5 years ago