Slashdot Mirror


Free Software for Chemical Process Simulation?

chthonicdaemon asks: "I am about to embark on a mission: to create a Free (as in freedom) chemical process simulator. My field is control engineering, and as such, dynamic simulation is what it is all about. There is an open source steady-state simulator called sim42, but I have not found one that can do dynamics. There is also a lot of work available in the form of implementation standards, so I am confident that it can be done. Is there anything like this out there that I have not found, and what open technology could I leverage to get this done faster (perhaps something like SML)."

28 comments

  1. Consider Common Lisp by Haroldo · · Score: 1

    You made me remember I had this project 17 years ago. Now I would use Common Lisp as my programming language of choice for such a project. It takes time to grok, but it is worth the effort.

    --
    Read between the lines while parsing.
  2. Before you start, why are you doing this? by WIAKywbfatw · · Score: 1

    If it's for the challenge, then go right ahead and ignore what's below. But if it's because you want to get something specific done in as short a time frame as possible then carry on reading.

    It's highly unlikely that you're the first person to attempt such a project. In all likelyhood, there's something out there that either does what you want it to do or can be easily modified to do the job with a lot less effort that starting from scratch. But where are you going to find it?

    Well, if I were you, I'd fire off some emails and letters to some academics - there's a very high probability that a chemical process simulator has been developed by some postgrad out there, perhaps even been released under the GPL or similar license. Try the more science-orientated universities first and work your way down the list, and try to correspond with people in Chemistry, Chemical Engineering, Computer Science, etc departments.

    I know someone out there is going to reply with a "Duh!", (or is at least tempted to do so) but it doesn't hurt to give it a go. Write a form email/letter, make sure it gets to the right people and give it a go. It might turn out to be a fruitless search but nothing ventured, nothing gained.

    Oh, and good luck.

    --

    "Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
    1. Re:Before you start, why are you doing this? by brianjcain · · Score: 1

      I don't like science-orientated universities. I prefer science oriented universities.

    2. Re:Before you start, why are you doing this? by WIAKywbfatw · · Score: 1

      Actually, either is now acceptable. However, this is only becuase the word "orientate" has become abbreviated through common usage to "oriented".

      In the UK, and most of the English-speaking world, we tend to write "orientated", but pronounce the word as "oriented". Our American cousins (of which I assume you are one) spell some things differently from us, and this is one such example. Common English words such as "colour", "vigour", etc have letters dropped from them in their US spellings and some such as "centre", "theatre", etc have letters transposed. Others such as "cheque", "defence", etc are just spelt differently.

      Another common difference is "-ise" becoming "ize". In the UK "modernise", "personalise", etc are correct but, in the US, the final "s" is replaced with a "z".

      Sorry, but your link, which points to an American university, fails to take into account the majority of the English-speaking world.

      --

      "Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
    3. Re:Before you start, why are you doing this? by aminorex · · Score: 1

      > Sorry, but your link, which points to an American
      > university, fails to take into account the
      > majority of the English-speaking world.

      Which would be Indian.

      --
      -I like my women like I like my tea: green-
    4. Re:Before you start, why are you doing this? by brianjcain · · Score: 1
      I am just such an American cousin. I'm kinda floored by your response, but I'll take your word for it. I stand corrected.
      Others such as "cheque", "defence", etc are just spelt differently.
      Now you're just jerking me around... :)
    5. Re:Before you start, why are you doing this? by WIAKywbfatw · · Score: 1

      See, that's another one. The correct tense (I forget which past tense it is) of the verb "to spell" in this context is indeed "spelt". But, because US English is so watered down/bastardised/simplified, Americans invariably use "spelled" rather than "spelt".

      If you don't believe me that "spelt" is correct then I suggest you look it up in a dictionary or ask an English teacher/professor.

      --

      "Accept that some days you are the pigeon, and some days you are the statue." - David Brent, Wernham Hogg
  3. VMD? by mixwhit · · Score: 2, Informative

    Ok, not my field, but what about NAMD and VMD, a molecular dynamics program suite created by some people on the floor below me?

  4. Non-free, but by Anonymous Coward · · Score: 0

    A company ... think it's called Teraplan, or similar has software (non-free, non Free) that does that.

    It has a drag & drop GUI interface that's a more complex version of Lego Mindstorms'. Check that out - very intuitive, but each of (8?) processes can be modified. For example, adding substances is one uber-category with lots of choices, electromechanical stimulation another, etc.

    They have a very cool demo - google for it!

  5. outsource to India by Anonymous Coward · · Score: 1, Funny

    Everyone else is doing, why can't you? It's cheap, those guys are intelligent, and they'll do anything for $5/hr.

  6. commercial by Pierre · · Score: 1

    Is there commercial software that's comparable to what you want? (e.g. chemcad)

    Just trying to get a better idea of what you're looking for...

  7. The first place I look... by BrokenHalo · · Score: 1

    for projects like this is Scientific Applications on Linux. There are heaps of applications there, many of them GPL, but I don't have a very clear idea of exactly what you are trying to achieve...

  8. seul by Anonymous Coward · · Score: 0

    at seul.org .. i think there is a science section. it may be just educational software. But you may find someone there who can help you to locate the software you're looking for

  9. SIMULINK by zhiwenchong · · Score: 1

    So essentially you want to build a SIMULINK clone, much like those Octave guys building a Matlab clone? You might want to consider using Octave as a base tool then, and extend it as you see fit.

    1. Re:SIMULINK by chthonicdaemon · · Score: 1

      So essentially you want to build a SIMULINK clone, much like those Octave guys building a Matlab clone?

      No. Essentially we want to build a dynamic chemical process simulator. Something like this http://www.aspentech.com/includes/product.cfm?Indu stryID=9&ProductID=128. Interestingly, we have already built a system on top of Simulink that does a lot of what we want to do, but we have taken it about as far as it will go. We need to develop our own framework to get some extra speed and to avoid having to work around some stuff in Simulink that stops us from doing what we want.

      --
      Languages aren't inherently fast -- implementations are efficient
    2. Re:SIMULINK by zhiwenchong · · Score: 1

      Sounds like a big project to undertake. If you do start an open-source project, I'd be happy to contribute. (I have a chemical engineering background, and I know something about process control)

      Good luck.

  10. Software links by Anonymous Coward · · Score: 0
    1. Re:Software links by Anonymous Coward · · Score: 0

      Don't forget kAtomic!

  11. Various by gatzke · · Score: 1

    I don't work on dynamic simulation, but I know people that do.

    I really don't know of any free / free dynamic simulators out there, even the academic ones are costly unless you are academic.

    ABACUSS II is available free from MIT, but it may not be the most friendly simulator, compared to Aspen or Hysys. Look at Barton's page. Process Systems Enterprises at Imperial has Gproms, they may give that to universities for free as well.

    Generally, for dynamic simulation, you are looking to solve Differential Algebraic Equations. You have algebraic constraints and dynamic Ordinary differential equations. Numerically, you should start out using sparse linear algebra routines. I think there are free sparse linear algebra routines (LAPACK??).

    The other problem comes from physical properties. I do not know of any available phys properties packages, sorry. Real simulators offer many different options for thermodynamics.

    Finally, you need a nice library of components. This may take many man years to develop.

    Also finally, some solvers have specialized routines for special types of equipment, like special solvers / methods for petrochemical distillation columns. Good luck handling those problems!!

    Suggestion, find a good free numerical tool that you can extend and make it work. Release your problems and get people to help.

    You may want to look at scilab, a simulink clone from the french. Questionable license, I believe.

  12. Free Virus by GabeK · · Score: 1

    I've had great luck with AVG's antivirus product. It has all the same features as the big names like email scanning, real time file scanning, etc, and its free. Don't know about the Linux side, but I'm sure there is something equally respectable out there.

    --

    [sig] 10 + 10 = 100 [/sig]
  13. Some thoughts by SimJockey · · Score: 2, Informative

    The Sim in my user name refers to process simulation, this is what I do. Mostly steady state but I do do some dynamic work. I design oil refineries.

    If the submitter is following the thread still, I'd be interested to know more of what exactly they'd be interested in using this for in control systems. Are they interested in tuning controllers, training simulations, RTO? Different needs require different tools.

    Most of the important points have been made. Thermo package is going to be a big concern. A lot of money is invested in these things. The algotithms are often published, but the coefficients and implementations are proprietary. Without good reliable thermo, your results won't be of much interest to anyone.

    For dynamics, another concern is flow driven versus pressure driven. Each has it's advantages and more importantly serious compromises.

    Unit operations aren't actually that bad to model mathematically. Having a good flash algorithm will go a long way. Converging distillation with any kind of speed will take some cleverness, but is conceptually pretty simple. It is just scaling the VLE over many components.

    I've written simple stuff in Matlab pretty easily. Binary distillations, as an example.

    The biggest hurdle you will face is crediblity. Aspen, Simulation Sciences, and the like have been around a long time and have a pretty good track record. Engineers are comfortable with them enough to base design decisions on them. Even at that, any time a new version is released we are probably 6 months away from adoption due to our validation cycle.

    The company I work for is really near the top of the game as far as modelling refineries especially. And even with all of our experience and expertise, we are really wary of dynamic simulation. The concepts are really easy, and it doesn't seem like that big of a jump from steady state. But we take an awful long time to develop a dynamic simulation to the point where we are comfortable using it for design work. So much of it has to be hand-crafted as opposed to the simple drop-and-connect of many of the steady state packages.

    Long development cycles are big dollars, and most clients aren't prepared to spend them unless the carrot is big enough. Relief system modelling is where we see it the most often.

    I hope I am not being too discouraging here. Engineers by nature a fairly cautious lot. If something I design screws up, there are dead people and a smoking hole in the ground.

    Oh, and if the question of sequential modular versus equation oriented doesn't mean anything to you, I would walk away.

    --
    Laugh while you can, monkey boy!
    1. Re:Some thoughts by chthonicdaemon · · Score: 1

      I think I should be clear about something. We are not aiming to create a commercial product, but rather something more useful for teaching modelling and control than big, locked commercial packages.

      In our lab, we have copies of Aspen Dynamic, Hisys and a few other dynamic simulators which aim to be very accurate. Unfortunately it is not really possible to tinker with the internals of these packages, and that can be very rewarding when learning about simulation/modelling.

      The software we have in mind will first aim to be able to do simple thermo (we have a thermo properties specialist on the team) and unit processes will be developed by students as part of their post graduate coursework. The engine design will be based largely on CAPE-open, which gives us most of the framework we need, along with making provision for proprietary thermo/units/solvers.

      So we don't have to convince anybody that our simulations will beat Aspen, just that it works and gives at least realistic qualitative results.

      --
      Languages aren't inherently fast -- implementations are efficient
    2. Re:Some thoughts by SimJockey · · Score: 1

      I don't know if you can get an academic license on it, but Aspen Custom Modeller lets you tinker with lots of the goodies under the hood.

      I hope I didn't come off as too negative in my previous post. Now that I know more about what you are headed for, I think you have a good chance of putting something together.

      I especially wish you good luck with CAPE-Open compatability, I've always thought that it was a great idea but that the big players were dragging their feet because they had a vested interest in their proprietary products.

      I won't offer to help, sadly, since I couldn't code my way out of a wet paper bag. Too many years since me and Fortran were on a first name basis. Let alone any more "modern" language.

      --
      Laugh while you can, monkey boy!
  14. What is your background? by Caractacus+Potts · · Score: 1

    I'd like to encourage you on your mission, but I get the feeling that you're a college student with more enthusiasm than experience. I'm working on a chemical process optimization system myself, so I know what size an undertaking it is. I've also worked in the field for years, so I also have an idea what goes into making this kind of software. So, before I ramble on, what's your background?

    1. Re:What is your background? by chthonicdaemon · · Score: 1

      I am currently completing my Master's in Process control at the University of Pretoria, South Africa. I am not doing this alone -- our university will be working together with the Process Control departments of two other South African universities.

      I have extensive experience in programming and hands-on process experience. I think I am not totally unprepared. So, feel free to ramble.

      --
      Languages aren't inherently fast -- implementations are efficient
    2. Re:What is your background? by Caractacus+Potts · · Score: 1

      OK, it's good that you're not doing it alone, and it's good that you're not aspiring to make a product out of it. For teaching purposes, you guys don't need to worry about accuracy or rigor, just something that converges, so I think you have a feasible project, as long as you don't attempt anything large. I wish I could send you some useful links, but I really haven't found that many myself. I'm going the nonlinear, rigorous, equation-oriented, DAE route, and there's not a lot of available code for that lying around. I gave up trying to base my stuff on existing code anyway and I'm pretty much rewriting everything from scratch. Do you guys have a web site yet?