CAPE-OPEN Unit Operation on Linux / OS X

Discusses use of CAPE-OPEN interfaces in DWSIM, an open-source piece of sofware developed by Daniel WAGNER.

Moderator: DanW

CAPE-OPEN Unit Operation on Linux / OS X

Postby DanW » 02 November 2012, 16:50

Hi all,

I thought that it would be good to let you know about this: A CAPE-OPEN Unit Op working on Linux! How it works?

I'm currently developing DWSIM version 3, compiling it using the Visual Basic 2010 Express w/ .NET Framework 4.0. Because of that, I had to update my CAPE-OPEN .NET library provided by Bill Barrett to its latest version, compiled under C# and .NET 4 - fully managed, 100% .NET code (the currently installation package that is available on USEPA website is compiled under C#/C++, mixed-mode, not fully managed code - I guess that this is the version currently distributed with COCO).

In the latest public release of DWSIM Mono Edition there is support for CAPE-OPEN unit operations, loadable from .NET assemblies (executable and/or dlls). The problem is that it is compiled under .NET 2.0 and when I tried to load the CAPE-OPEN .NET library (mixed-mode C#/C++), Mono throws an exception because of unmanaged (C++) bindings.

This morning I remembered that I could try loading the .NET 4 CAPE-OPEN library and see if it would work. And it did! There is some problem with reading the ports, though, but I'll investigate it later. At least it loads and shows all editing forms flawlessly.

Here are some screens of DWSIM 3 running on Ubuntu 11.10 with the CAPE-OPEN unit operation added to a flowsheet:

Image

Image

Image

Regards,
Daniel
DanW
 
Posts: 17
Joined: 01 November 2012, 03:01

Re: CAPE-OPEN Unit Operation on Linux / OS X

Postby DanW » 02 November 2012, 17:22

Just fixed the error, now it loads fine, all ports and parameters show up in the property grid:

Image
DanW
 
Posts: 17
Joined: 01 November 2012, 03:01

Re: CAPE-OPEN Unit Operation on Linux / OS X

Postby jasper » 02 November 2012, 21:37

Interesting. Mono must come with a GAC equivalent that takes care of component registration.

Of course this only works for .NET components; most PMCs currently are not. With wine (http://www.winehq.org/) however it is possible to run COM applications under linux and mac as well.
User avatar
jasper
 
Posts: 1128
Joined: 24 October 2012, 15:33
Location: Spain

Re: CAPE-OPEN Unit Operation on Linux / OS X

Postby DanW » 02 November 2012, 22:31

Mono does indeed have a GAC, but it only registers managed assemblies, as one would expect. Personally, I think that .NET/Mono is the way to go... Mono is pratically on every single platform today, and it was just updated to support the latest features of C# 5.0 / .NET 4.5.

Regards,
Daniel
DanW
 
Posts: 17
Joined: 01 November 2012, 03:01

Re: CAPE-OPEN Unit Operation on Linux / OS X

Postby jasper » 03 November 2012, 09:34

I think an object model that is not bound to Windows is the way to go. Discussions on this are ongoing.

.NET is not the way to go if most simulation enviroments and PMCs are native.
User avatar
jasper
 
Posts: 1128
Joined: 24 October 2012, 15:33
Location: Spain


Return to DWSIM

Who is online

Users browsing this forum: No registered users and 1 guest

cron