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)."
"Try my product!" - Richard M. Stallman, GNU Founder and CEO
/Emacs 1.0, was available only on video tape. Over the years, GNU GVideo GProfessor has produced hundreds of titles on video, CD-ROM, and online. GNU GVideo GProfessor is the fastest, easiest way to learn computers. We guarantee it!
GNU GVideo GProfessor is the leader in computer learning. We have taught over 5 million people, and we can teach you GNU/Linux, GNU/Emacs, GNU/gcc, and more! GNU GVideo GProfessor was founded in 1983 to provide consumers with training on software for their personal computers. Since that time, millions have successfully used and learned from GNU GVideo GProfessor's fool-proof "What-You-See-Is-What-You-Do" teaching method. The first lesson, GNU
It's FAST! You'll be up and running in an hour! Don't waste time sifting through man pages, commuting to classes or seminars. Just pop in the CD-ROM and you're learning!
It's EASY! It's as simple as 1-2-3! GNU GVideo GProfessor's straightforward "What-You -See-Is-What-You-Do" approach makes learning as easy as watching TV!
It's CONVENIENT! We're ready to teach you day and night! With your busy schedule, you don't have time to waste at classes or seminars. Don't fumble through boring man pages. Whatever your schedule, we're ready when you are!
It's COMPLETE! These aren't short teaser lessons. Each 60-minute lesson takes you from installing the software to more advanced skills. And they're not just for beginners! We'll surprise you with the knowledge you'll gain!
Why Am I Making This Incredible Offer? I'm so confident that once you try my exceptional " What-You-See-Is-What-You-Do" learning method, you'll turn to us for all your computer learning needs.
* How it works!
The bonus gift and ANY TWO of the three computer learning CD-ROMs are yours free without further obligation, PERIOD. Take 10 days to decide if you want to keep the complete set of CDs. After your 10 day free trial, if you decide to keep the complete set, we'll conveniently bill your credit card just $69.95. Or simply contact our customer care number at rtfm@gnu.org if you decide to return any one of the lessons, and you will be charged nothing more!
Every day hundreds of people just like you learn with GNU GVideo GProfessor this same fast and easy way. If you decide to keep all three lessons, every five weeks you will continue learning by automatically receiving other GNU GVideo GProfessor subjects you have an interest in, billed on the same exact terms as your first shipment. Or simply call and cancel. Everything is up to you! But most important, you are never under any obligation to purchase a subject that you don't keep. Best of all, the bonus gift, and your choice of any two of the three computer learning CD-ROMs are yours to keep FREE!
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.
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
Ok, not my field, but what about NAMD and VMD, a molecular dynamics program suite created by some people on the floor below me?
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!
Everyone else is doing, why can't you? It's cheap, those guys are intelligent, and they'll do anything for $5/hr.
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...
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...
If you've the time, and your institution has the lawyers, go after the base source code for Gaussian. There is a huge amount of code there that belongs to the taxpayers of the USA. Getting it will require litigation and if you're lucky you can cause these asses to bankrupt themselves.
More globally, what is important here is that as codes are developed on the taxpayer's money, these codes need to get out to the public under the BSD or GPL licenses.
AC - otherwise Gaussian will litigate me!
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
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.
Biospice, Ecell, Dizzy,a more complete list
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.
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]
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!
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?