Coder Social home page Coder Social logo

danwbr / dwsim5 Goto Github PK

View Code? Open in Web Editor NEW
159.0 25.0 62.0 245.92 MB

DWSIM - Open Source Chemical Process Simulator (5.x series)

Home Page: http://dwsim.inforside.com.br

License: GNU General Public License v3.0

C# 34.34% MATLAB 1.22% Batchfile 0.03% HTML 0.79% JavaScript 0.01% CSS 0.01% XSLT 0.01% Rich Text Format 0.52% Python 21.52% Visual Basic .NET 41.57%
thermodynamics chemistry chemical-engineering process-simulation math cross-platform excel

dwsim5's Introduction

Build status GitHub issues tickets forums wiki donate

DWSIM - Open Source Process Simulator

Copyright 2017-2020 Daniel Medeiros

Copyright 2008-2016 Daniel Medeiros, Gregor Reichert, Gustavo León

DWSIM is a software for modeling, simulation and optimization of steady-state chemical processes.

License

DWSIM is licensed under the GNU General Public License (GPL) Version 3.

Supported Operating Systems

  • Windows (32/64-bit x86) with .NET Framework 4.6.1 or newer
  • Linux (32-bit armhf / 64-bit x86) with Mono 5.8 or newer
  • macOS (formerly OS X) 10.7 or newer

Project Details

Project Name Description
Shared Projects
DWSIM.ExtensionMethods Extension Methods
DWSIM.ExtensionMethods.Eto Extension Methods for Eto.Forms
DWSIM.FlowsheetSolver Flowsheet Solver library
DWSIM.GlobalSettings Shared global settings
DWSIM.Interfaces Interface definitions
DWSIM.Libraries.OctaveSharp Octave interface
DWSIM.Libraries.PythonLink Python interface
DWSIM.MathOps Math library
DWSIM.MathOps.RandomOps Random number generator library
DWSIM.MathOps.SwarmOps Optimization library
DWSIM.SharedClasses Shared/Base class definitions
DWSIM.Thermodynamics Thermo library
DWSIM.Thermodynamics.Databases.ChEDLThermoLink ChEDL Thermo Python Library Database Linker/Parser
DWSIM.Thermodynamics.Databases.ChemeoLink Cheméo Database Linker/Parser
DWSIM.Thermodynamics.Databases.DDBStructureLink DDB UNIFAC/MODFAC Structure Database Linker/Parser
DWSIM.Thermodynamics.Databases.KDBLink KDB Database Linker/Parser
DWSIM.Thermodynamics.CoolPropInterface Interface for CoolProp native library
DWSIM.UnitOperations Unit Operations library
DWSIM.XMLSerializer Custom XML Serializer
Classic UI Projects (Windows Forms)
DWSIM Main DWSIM GUI with Tools and Utilities
DWSIM.Automation Automation Library
DWSIM.Automation.Tests Automation Testing Application
DWSIM.Apps.AzureServer Azure Solver Server
DWSIM.Apps.TCPServer TCP/IP Solver Server
DWSIM.Controls.DockPanel DockPanel control
DWSIM.Controls.DockPanel.ThemeVS2012Light Theme for DockPanel control
DWSIM.Controls.PropertyGridEx Extended Property Grid Control
DWSIM.Controls.TabStrip TabStrip control
DWSIM.Controls.ZedGraph Custom ZedGraph Library
DWSIM.DrawingTools Flowsheet Drawing Tools
DWSIM.Plugins.NaturalGas Natural Gas Properties Plugin
DWSIM.SKiaSharp.Views.Desktop SkiaSharp Controls for Windows Forms
Cross-Platform UI Projects
DWSIM.DrawingTools.SkiaSharp Flowsheet Drawing Tools (SkiaSharp-based)
DWSIM.DrawingTools.SkiaSharp.Extended Additional Flowsheet Drawing Tools (SkiaSharp-based)
DWSIM.FlowsheetBase Flowsheet Base Class for Cross-Platform UI
DWSIM.UI.Desktop Cross-Platform UI App Launcher
DWSIM.UI.Desktop.Editors Cross-Platform UI Editors (Views/Forms)
DWSIM.UI.Desktop.Forms Cross-Platform UI Main App Forms
DWSIM.UI.Desktop.GTK Cross-Platform UI GTK# Platform-specific code
DWSIM.UI.Desktop.Mac Cross-Platform UI MonoMac Platform-specific code
DWSIM.UI.Desktop.Shared Cross-Platform UI shared code
DWSIM.UI.Desktop.WinForms Cross-Platform UI Windows Forms Platform-specific code
DWSIM.UI.Desktop.WPF Cross-Platform UI Windows Presentation Foundation (WPF) Platform-specific code

Compiling

  • DWSIM can be compiled using Visual Studio 2017 or newer on Windows.
  • To compile everything, change the Build target to 'Debug' or 'Release' and 'x64'.

dwsim5's People

Contributors

chemscobra avatar danwbr avatar greg66 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dwsim5's Issues

Potential calculation erros in Double.TryParse and Double.Parse with Invariant culture and NumberStyles.Any

Issue (example):
Double.Parse("77,65", System.Globalization.NumberStyles.Any, System.Globalization.CultureInfo.InvariantCulture)

return 7765

Cause: System.Globalization.NumberStyles.AllowThousands
https://stackoverflow.com/questions/46109025/c-sharp-double-tryparse-with-invariantculture-returns-unexpected-result

Sample for fix:
use Public Shared NumberStyleAnyWithoutAllowThousands as NumberStyles = NumberStyles.Any - NumberStyles.AllowThousands

instead NumberStyles.Any

No mouse wheel present unhandled exception

When using DWSIM on a laptop computer without a mouse attached, if you scroll down, it gives an unhandled exception that mouse wheel is not present.
It is irritating and disturbs the flow of work.

issue

Error on Application Load

Hello,
I am having this error when the program starts after compilation

An error occurred creating the form. See Exception.InnerException for details. The error is: The type initializer for 'CoolPropPINVOKE' threw an exception.

I am using windows 10
Visual Studio 2019
My compilation settings:
Release WinMac
x64

Thank You

* Bug fix for Clone MemoryStream (invalid check is empty PropertyPackage - set invalid first PropertyPackage from List of PropertyPackages)

  • Bug fix for Clone MaterialStream (invalid check is empty PropertyPackage - set invalid first PropertyPackage from List of PropertyPackages)

--- a/DWSIM.Thermodynamics/Material Stream/MaterialStream.vb	
+++ b/DWSIM.Thermodynamics/Material Stream/MaterialStream.vb	
 
+        ''' <summary>
+        ''' Is Empty PropertyPackage
+        ''' </summary>
+        ''' <returns></returns>
+        Function EmptyPropertyPackage as Boolean
+            return string.IsNullOrEmpty(Me._ppid) and _pp Is Nothing
+        End Function
+
         Public Sub New(ByVal name As String, ByVal description As String, ByVal flowsheet As IFlowsheet, ByVal proppack As PropertyPackages.PropertyPackage)
 
             MyBase.CreateNew()
 
             Me.SetFlowsheet(flowsheet)
-            If Me.PropertyPackage Is Nothing Then Me.PropertyPackage = proppack
+           ' If Me.PropertyPackage Is Nothing Then Me.PropertyPackage = proppack
+            If Me.EmptyPropertyPackage then Me.PropertyPackage = proppack
 
             Me.ComponentName = name
             Me.ComponentDescription = description

Add multiple component lists?

When modeling systems that benefit from two different property packages (e.g. gas-fired boilers, etc.), it would be very convenient to be able to specify multiple component lists that each have an associated property package. For example, a "hydrocarbon/air" component list with methane, ethane, oxygen, nitrogen, etc. associated with the PR thermo package, and a "water" component list with pure water as its only compound associated with the steam tables package. This way, when constructing the flowsheet, I don't have to manually set every stream to the appropriate package.

I thought I'd submit this idea here before working on the code in case this was already in progress. Thank you so much for all of your hard work on this amazing open-source simulator!

  • Chris

Deleting a rigorous distillation column crashes DWSim

It is not possible to delete a rigorous distillation column from the worksheet without the application crashing.

Minimal steps to replicate:

  1. Start DWsim
  2. Cancel startup wizard
  3. Drag rigorous distillation column onto flowsheet
  4. Right click
  5. Delete
  6. Select "Yes"

Application crashes.

DWsim version 5.2r1 on MacOS 10.13.4 using Mono 5.10.1

5.8 versions crash on Linux

App crashes with the following error:

APP CRASH!!!

System.Xml.XmlException: Data at the root level is invalid. Line 1753, position 25.
  at System.Xml.XmlTextReaderImpl.Throw (System.Exception e) [0x00027] in <25129339fbf2468889e2595a9c2a2d82>:0 
  at System.Xml.XmlTextReaderImpl.Throw (System.String res, System.String arg) [0x00029] in <25129339fbf2468889e2595a9c2a2d82>:0 
  at System.Xml.XmlTextReaderImpl.Throw (System.String res) [0x00000] in <25129339fbf2468889e2595a9c2a2d82>:0 
  at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace () [0x0012c] in <25129339fbf2468889e2595a9c2a2d82>:0 
  at System.Xml.XmlTextReaderImpl.ParseDocumentContent () [0x002d4] in <25129339fbf2468889e2595a9c2a2d82>:0 
  at System.Xml.XmlTextReaderImpl.Read () [0x0008c] in <25129339fbf2468889e2595a9c2a2d82>:0 
  at System.Xml.Linq.XContainer.ReadContentFrom (System.Xml.XmlReader r) [0x00025] in <17fe09b4744a43bc8d5957d04378f101>:0 
  at System.Xml.Linq.XContainer.ReadContentFrom (System.Xml.XmlReader r, System.Xml.Linq.LoadOptions o) [0x00005] in <17fe09b4744a43bc8d5957d04378f101>:0 
  at System.Xml.Linq.XDocument.Load (System.Xml.XmlReader reader, System.Xml.Linq.LoadOptions options) [0x00024] in <17fe09b4744a43bc8d5957d04378f101>:0 
  at System.Xml.Linq.XDocument.Load (System.String uri, System.Xml.Linq.LoadOptions options) [0x0000f] in <17fe09b4744a43bc8d5957d04378f101>:0 
  at System.Xml.Linq.XDocument.Load (System.String uri) [0x00000] in <17fe09b4744a43bc8d5957d04378f101>:0 
  at DWSIM.UI.MainForm.InitializeComponent () [0x0097e] in <8340bc3b9dc141428b1e04498158a5e9>:0 
  at DWSIM.UI.MainForm..ctor () [0x00027] in <8340bc3b9dc141428b1e04498158a5e9>:0 
  at DWSIM.UI.Desktop.Program.Main (System.String[] args) [0x004f1] in <5f1c8c8ea82a46d9975e7a41d07458ed>:0 

5.7.14 seems to be working fine.
5.8.11 was working fine for a while before this happened. The same error is reported with 5.8.11.

I'm running lubuntu (Ubuntu 16.04.6 LTS, 4.15.0-96-generic).
The dependency versions installed are mono-complete: 6.6.0, gtk-sharp2: 2.12.45, libfontconfig1-dev: 2.11.94, libglu1-mesa-dev: 9.0.0-2.1, coinor-libipopt1v5: 3.11.9-2.1.

Edit: Summarising and clarifying the issue for future reference.

App crashes on startup (while trying to start from the CLI on Linux) if any of the recent files are corrupted.

Need convert FormFlowsheet.Designer.vb to UTF8

Please convert file FormFlowsheet.Designer.vb to Unicode.

Cause:

  1. In FormFlowSheet.vb exists field PropriedadesDasSubstânciasToolStripMenuItem with No ASCII symbols
  2. In FormFlowSheet.Designer.vb - PropriedadesDasSubstânciasToolStripMenuItem broken in other languages.

Question : basic unit tests for node graph UI?

I was really intrigued by the node graph UI built around SkiaSharp, etc. Is there a basic test application that one could more easily learn from as part of this project? It would be immensely useful to have a reference system available that others could build from.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.