|
[Sponsors] |
April 17, 2010, 13:15 |
Open Source Vs Commercial Software
|
#1 |
New Member
MT
Join Date: Mar 2010
Location: USA
Posts: 20
Rep Power: 16 |
I was reading a thread about a comparison of OpenFOAM and commercial CFD programs and there were some serious words being slung around. Is there any downfall between using OpenFOAM and a commercial CFD code in the sense of the accuracy or reliability everything else held constant? At the moment I am using COMSOL (required via contract) but continue to use OpenFOAM for personal use. I just want to see what others have to say on this topic
|
|
April 18, 2010, 22:52 |
|
#2 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,290
Rep Power: 34 |
Quote:
if discretization being done properly and same as commercial solvers i do not see any reason for open source codes to be less accurate than commercial ones. Results of PDEs when subjected to same boundary conditions will vary only if discretization was different. But that still does not say that because one is paid software that makes it more accurate. down side of using open codes are many but i do not think accuracy is one of them. In fact being open code it is more scrutinized and could be corrected by others. So one would think that over time open codes would tend to be on more corrected side than the commercial ones which are not scrutinized by others. Commercial solvers have many advantages though, but one pays good amount for it. |
||
April 19, 2010, 06:10 |
|
#3 |
Senior Member
andy
Join Date: May 2009
Posts: 322
Rep Power: 18 |
Open source versus commercial CFD is perhaps not really the right comparison because there are a wide range of ways of going about open source. I have not seen the thread you mention but I am fairly disappointed with what I have seen so far of OpenFoam compared to other open source efforts using different business models.
Perhaps the biggest problem with openfoam is that it is difficult to use for both the inexperienced user and experienced user alike which is, as best I can judge, encouraged by the business model. Consequently, when people in industry assess openfoam against commercial codes the latter are almost always going to be judged more cost effective. As best I can judge, openfoam's main users are those with little experience of CFD, with considerable time available to get it to work and no money/desire to purchase a commercial CFD code. Given the way that contributions from people outside the open-whatever company are shunned, if not actively suppressed like the recent documentation effort, the project would seem to have more in common with a commercial project than a traditional open source project. This is not necessarily a bad thing depending on what those involved want from it. For the open source enthusiasts, I guess the best that can be hoped for is that open-whatever land a big contract where the sponsor wants them to be more, well, open for want of a better word. |
|
April 19, 2010, 09:55 |
|
#4 |
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
Comparing openfoam with commercial packages is abit...unfair.
Foam is just going for the solver part, commercial software usually have the whole package, pre-processing, cad-integration and whatnot to make setup easier. Since openfoam does not have this a consequence of it is that if you dont know what you're doing, you're gonna produce garbage (garbage in, garbage out). This can be dangerous since it's so easy to produce crap results and you can just search this board and see that people base their decisions on this. I have the possibilty to use 3 commercial CFD codes (im not gonna say any names, but they are the 3 major players) and I sometimes use the other codes to create the geometry....but that's it. When it comes to the solver part I switch to foam, it scales well, is faster then some and slower than others, and produces results that I trust. (I can very easily make it the slowest one) Sometimes it diverges when I try different turbulence models, or higher order schemes. It might produce a result in a commercial code, but I dont really care and I prefer it that way, cause I know whats going on in foam, the physics is right there and there are no hidden limiters or damping functions, that secretly removes the (unstable) physics. I dont know whats going on in the black boxes. At my group we will benchmark all these codes and use the exact same meshes for all the codes. We will look at accuracy, speed and scalabilty. This is really necessary for us since we are not obliged to use any particular code, but we are free to work with whatever we feel most comfortable with. Thus we need to ensure that we will produce the same result whether it is me or someone else who is doing the calculation. Will this make anyone switch code? Probably not, it will just make us aware of how to setup the codes to get consistent results. Will we publish these results? I hope so, but probably not. These results tend to be used in the wrong way by people and interpreted by a third person. So one day you stand there with an angry stranger who's calling you names trying to defend something you havent said or done. I am the only openfoam user in my group...and I feel I am also the one who curses over his/hers cfd-code the least. just my 2 cents N |
|
April 19, 2010, 12:43 |
|
#5 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Where I work (academia), we have access to two leading commercial codes and we use OpenFOAM. I've personally worked with them for a relatively long time.
OpenFOAM has a steeper learning curve, but I have to say that with some training, users can catch up quickly and produce good results in reasonable time. I saw this happening constantly with those that started to seriously use OpenFOAM: some initial disorientation compared to commercial codes, where you basically use your mouse, but then a deeper understanding of the problem and good results, in some cases after being stuck for months with commercial codes, trying to understand why something was not working properly. I think OpenFOAM has clear advantages if you have to implement new models in the code. It gives you full access to the code, and a very high level syntax to achieve this. Often commercial codes are quite limited in this aspect, and force you to code in very specific ways, which do not necessarily lead to the best implementation of your model. Finally, when evaluating a code, just do that, evaluate the code, trying to understand if it fits your needs and if it offers the functionality you're looking for. If possible, run your tests, and don't take what you find around as an absolute truth, especially if all the details of the study are not provided. I'd also suggest to leave out from the evaluation the "politics" (discussions on business model, references to a dead thread on the documentation project (it's time to move on!), personal attacks) you might see on this forum from time to time. It doesn't add anything to the discussion on technical aspects of OpenFOAM, and it can be used in the wrong way to influence the choice (you've no way to verify who is actually writing). Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
April 19, 2010, 16:57 |
|
#6 |
Senior Member
andy
Join Date: May 2009
Posts: 322
Rep Power: 18 |
Niklas:
> When it comes to the solver part I switch to foam, it scales well, is faster then some and slower than others, and > produces results that I trust. What is the basis for trusting the results? > I am the only openfoam user in my group... Why don't the others choose to use OpenFoam? Alberto: > in some cases after being stuck for months with commercial codes, trying to understand why something was not working > properly. Industry pays shed loads of money for a commercial code in order for this not to happen. If an engineer is stuck they ring up support to get them unstuck. Why aren't your users doing this? > I think OpenFOAM has clear advantages if you have to implement new models in the code. How many users want to do this? If you are someone that wants to do this, how many are prepared to invest the considerable time to get to grips with relatively undocumented code with a strong case of C++itis? > I'd also suggest to leave out from the evaluation the "politics" (discussions on business model, I would suggest that this is rather poor advice. If a user does not understand the business model of openfoam they are likely to become rather confused/upset when the people that matter behave in unexpected ways. Openfoam is quite different from other open source projects like apache, gcc, paraview, vtk, etc... and this is/has been a source of confusion for quite a few trying to contribute to the project and discussing it here. > references to a dead thread on the documentation project (it's time to move on!), Ignoring evidence is going to help in making rational decisions? > It doesn't add anything to the discussion on technical aspects of OpenFOAM, It contributes to deciding whether openfoam is appropriate for ones needs or not. The technical aspects of openfoam are only one component of this. |
|
April 19, 2010, 17:58 |
|
#7 | ||
Super Moderator
Niklas Nordin
Join Date: Mar 2009
Location: Stockholm, Sweden
Posts: 693
Rep Power: 29 |
Quote:
hit it hard with a sledgehammer, i.e use a hugh mesh and loads of cpu's. Quote:
I dont see any reason for them to switch either. If a user has invested 10 years of knowledge into a code, they should stick to it. You dont just switch code and start to produce good results, no matter if you switch to openfoam or something else. Why didnt you ask why I didnt switch to a commercial code? I can tell you, for the same reason they dont switch to foam...personal preference. |
|||
April 19, 2010, 19:39 |
|
#8 | |||||
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
I answer based on my experience, which is clearly personal and can be different from others.
I trust the results of a code only if I can see exactly what it does. It is how serious CFD studies are done: you must understand the numerics, the implementation and the details of what is done to keep the solution stable, if any. This is simply impossible with commercial codes: sure there are references to the literature in the manual, but the implementation details, those that make it work, usually, are nowhere (if they were, you could reproduce the code, and it's clearly not that simple with the information provided), and they clearly play a very important role. If you don't know these things, you are just assuming everything is going right, which might not be the case, and you start producing colorful pictures. In other words, I'm saying you have to re-verificate and re-validate even commercial codes for your application if you really want to trust their results. Quote:
If you know what you have to do, and a CFD engineer should be in that position (we should probably start a separate thread on what a CFD engineer should know though ), it is often easier to put hands to the code, and do it than waiting for someone else to try to do it for you. Quote:
If you need something more sophisticated than what the standard CFD can do, and it is the rule in many industrial and research applications (multiphase flows, population balances, combustion, ...), you most likely need that. Quote:
For example, a famous commercial code allows personalized functions to be written in C, with their own macros to simplify the job, but you still have to know how to deal with your part of the code if you want to make it efficient. You also need to deal with pointers and quite specific programming details (like threads, domains, subthreads, ...) if you need to use certain models. This said, once you have to add a model to a commercial code or to OpenFOAM, you have to code, and the time it takes is comparable. I would add that in companies many take advantage of training courses for commercial codes. Why shouldn't they take advantage of training course for OpenFOAM, if they want to use it, since they already save a lot of money on license costs? Quote:
Quote:
OpenCFD is committed to keep the code open and free, and offers commercial support and training for it. We can disagree on some point, it's normal I would say, and it will happen again probably, but they still develop/maintain the code, and they fix bugs often in real time (does your commercial vendor do that? ). Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
||||||
April 20, 2010, 04:08 |
|
#9 |
Senior Member
|
Hi,
maybe you should take a look at the presentation from Dr. Moni Islam (Audi Windtunnel Center) at the Open Source CFD International Conference 2009 http://www.opensourcecfd.com/confere...oceedings.html Slide 16 to 20 are very interesting in my opinon =>Mr. Islam shows that OF is quite useful for Volkswagen (Seat, VW and Audi) and you will find other Automobil producer using OF as well. Or Bombadier ... Well in the past there was allways the LAW. You never get fired for BUYING CFX, Fluent or Star. But many Universities/Companies are limited, that they can not use all their available CPU´s because of the pricemodell of X and Y. Because Software cost are much higher than Hardware cost for them with the pricemodel right now. |
|
April 20, 2010, 04:23 |
|
#10 |
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Other presentations from the joint work of OpenCFD and FM-Global: http://sites.google.com/site/firemodelingworkshop/
There are very interesting validations studies. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
|
April 20, 2010, 05:35 |
|
#11 | |||
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,290
Rep Power: 34 |
for me your post does not make much sense. I will only touch few of the points.
Quote:
your post sounds as if saving time is kind a problem for you. Further, lot of validation studies are done on commercial solvers too. These validations are the reasons companies spend load of money on them. If you think those who spend money on commercial code somehow do not understand the gravity of accuracy of solution then you are mistaken. Just because on some test you did openfoam gave better results does not make it better than other commercial code. (it may make it your choice of code which is subjective thing, but it does not say that comemrical code is less accurate in general). Quote:
Quote:
this is the only place i can think that open codes offer something sometimes better than commercial ones. |
||||
April 20, 2010, 16:43 |
|
#12 |
Senior Member
andy
Join Date: May 2009
Posts: 322
Rep Power: 18 |
Niklas:
> Why didnt you ask why I didnt switch to a commercial code? I considered it a more interesting check of your viewpoint to ask to see things from the perspective of someone that disagrees with you rather than continuing along the line of your previous post. I had become interested in why both Alberto and yourself had put forward a somewhat weary and unbalanced defence of openfoam that seemed to be at least partially faith based. Alberto: > OpenCFD is committed to keep the code open and free, and offers commercial support and training for it. Committed beyond the terms in the license? > but they still develop/maintain the code, and they fix bugs often in real time (does your commercial vendor do > that? ). My commercial vendor? I suspect the answer to your question is essentially yes. In my limited experience with the commercial companies, albeit over several decades, they have always acted swiftly to ensure that the code in front of engineers is functioning correctly, in one case they developed significant additional capability and made beta release versions available to meet the needs of an engineer, in another they were prepared to allow controlled access to the source code to implement models. I have never found them to be anything other than open and professional. Perhaps this will change with the large ANSYS market share (I have no recent direct experience) but so long as the licenses remain expensive I would think it unlikely. |
|
April 20, 2010, 17:05 |
|
#13 | |
Senior Member
|
Quote:
And the solver are fast and stable as mentioned by Dr Islam. Ofcourse OF is not great for every application out of the box (even if one of the developers believed it at first). =>Hrv Jasak told at a "Stammtisch meeting", that BMW-Oracle wanted him to calculate one of their "typical" test cases, and the first results of the OF simulation were poor, but the later results were okay => but this meant some hard work on the solver by an super expert to get good results in the end. elvis |
||
April 20, 2010, 18:27 |
|
#14 | |||
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Hi Andy,
Quote:
I've been saying all the time I use both commercial and open codes (OpenFOAM, MFIX), and that the choice depends on the specific needs. I personally use almost only commercial meshers too, since I find them easier and of higher quality than open meshers. Why do you think what we wrote is based on faith instead than being an opinion based on results and experience? We use these codes for our work, which is in. We didn't really say open codes are perfect, that you should absolutely use them or that they fit all the use cases. We perfectly know it's not true, as we know it's not true for commercial codes. Quote:
Quote:
I have a limited experience with support services too, and it's generally good. I saw cases when it wasn't positive though: one commercial code some year ago was released with a serious bug (the no-slip condition at walls wasn't enforced in one model). The fix came in the next release (almost 1 year later). Same thing about another submodel, in a Lagrangian module. Just to be clear, I don't want to generalize this, they are specific and limited cases, of course, but I don't believe the support service (also of open codes) is always perfect and can get you unstuck in all the situations, as it was written. If it were that way, people wouldn't look for alternatives. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
||||
April 21, 2010, 06:18 |
|
#15 |
Senior Member
Eugene de Villiers
Join Date: Mar 2009
Posts: 725
Rep Power: 21 |
I don't normally take part in these kinds of discussions – each person’s view on the code they prefer tends to be inflexible and I guess I am no exception (so please don't tell me how biased I am).
I have some experiences I would like to share on why organisations might want to switch to an open source cfd code. I have personally been involved in the roll-out of OPENFOAM to several major companies. In my experience the main reasons for switching are: cost, scalability and flexibility. Accuracy, reliability, speed and ease of use are relatively easy to improve within the context of a few specific applications to the point where they match proprietary codes. It is much harder to get your proprietary code vendor to reduce cost, improve scalability (and by this I mean running more jobs concurrently, not parallel scaling) and increase code flexibility. Obviously, there are down sides to OPENFOAM too - the main one being that the upfront cost (at least for now) can be much higher. However, if you have the resources to take a long term view, then this becomes much less of an issue. Open Source will eventually allow you to do much more for less and you can tailor the code to your specific needs. This means that Open Source is probably not for everyone - it is much more suited to doing a narrow set of cases a lot than doing many different things infrequently. To get back to the original question, I do think that taken as an average over all applications accuracy and reliability is currently lower for OPENFOAM than for the top commercial solvers. The beauty of OPENFOAM is that you can improve both these criteria for your application to the point of parity in a well spent afternoon and you can take advantage of everyone else’s afternoon efforts to boot. |
|
April 21, 2010, 08:10 |
|
#16 |
Senior Member
andy
Join Date: May 2009
Posts: 322
Rep Power: 18 |
Alberto:
> Why do you think what we wrote is based on faith instead than being an opinion based on results and experience? Because it was not balanced. An example in this post: "one commercial code some year ago was released with a serious bug (the no-slip condition at walls wasn't enforced in one model). The fix came in the next release (almost 1 year later). Same thing about another submodel, in a Lagrangian module." There seems to be a piece of information missing because any software company that did this to an industrial company that is paying full whack for support would very soon have no customers paying for support. So is the software cheap without normal support?, an academic deal with little/no support?, an ex-company? >>> OpenCFD is committed to keep the code open and free, and offers commercial support and training for it. >> Committed beyond the terms in the license? > Isn't it enough to be committed in accordance to the license? I am picking up on the "OpenCFD is committed to keep the code open and free". Perhaps it is, I have not looked, and so I was asking for something to support the statement. The license only applies to the code in the past. Initially giving things away to build a potential customer base and then either adding closed extensions or even closing the whole of a enhanced next version has a history. There is nothing wrong with doing this unless you have said you will not. To me, the current business model of gratuitously difficult to use and unreliable code to attract paying support/extensions does not look sustainable. It runs the risk of getting forked and turned into a "normal" set of code which can work with normal project management tools, normal documentation, normal quality control, normal interaction with scripts, normal etc... None of this requires specialist knowledge only a bit of common sense and the time/funding to do it. Given that OpenCFD has created the current set of code/documentation and resisted attempts over the years by a bunch of PhD students to move it in a more "normal" direction would you as a potential sponsor of such a move hire OpenCFD or fork it, hire someone else and run the project in a less closed manner? OpenFOAM is an interesting project and the people behind OpenCFD are giving it a go and good luck to them. I only tend to curse when I try to work with the wretched code. |
|
April 21, 2010, 17:24 |
|
#17 | |||||
Senior Member
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36 |
Quote:
Unbalanced is claiming that commercial codes are necessarily better in general, as an absolute truth (of course the opposite applies too). If it were that way, we would not be here to discuss, since we all want to use tools that work. Quote:
I see this as one of the most important motivations behind the interest the industry is showing towards open codes, of course together with the significantly lower license costs. Quote:
Their position has been further clarified their position on their website. Quote:
You keep saying the code is unreliable. Why? It is harder to learn, and does not have a graphical interface. It requires you to know what you are doing in terms of choice of the model, numerical setup and case configuration, but this does not mean it is unreliable. It simply means you have to actually understand what you are doing. On the other hand, I would say it is a code that doesn't hide anything to you: the physics is there, the numerics is there. It won't play tricks just to give a result no matter what, and it won't fix your mistakes. Is this being unreliable? Or does "reliable" mean "tolerant to user's mistakes"? I would consider OpenFOAM a library for CFD. Solvers are examples of what you can do with the library. Some of them are standard (single-phase flow codes), some are very refined (VOF codes to cite one case), some other are not that good (Euler-Euler multiphase codes, for example). Quote:
To answer to your question, I would try to find a deal with OpenCFD and, if this doesn't work, I would consider alternatives. It is a very basic guideline also other contributors try to follow. It is respectful for the work of the developers, it tends to reduce the duplication of efforts, and it has the positive side effect of reducing conflicts. Best,
__________________
Alberto Passalacqua GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541) OpenQBMM - An open-source implementation of quadrature-based moment methods. To obtain more accurate answers, please specify the version of OpenFOAM you are using. |
||||||
April 22, 2010, 16:44 |
Some Queries
|
#18 |
New Member
Sumit Sinha
Join Date: Mar 2009
Location: Champaign, ILLINOIS, U.S.A
Posts: 25
Rep Power: 16 |
Hello Arjun,
I was reading some of your post and it seemed to me, that you might be able to help me. I had two question a) I was curious to check out your code (iNavier), which I have tried to install on my desktop, I am using windows-XP but I always get the message "iNavier can not be installed on windows-2003 server". b)Second thing is some what more technical, I am trying to solve shallow water equation using finite volume method using collocated grid method. But there are some terms on which I am not sure how to apply Gauss integral. Please see the doc attachment for my question in little detail Any and all help is greatly appreciated. Thanks, Sumit |
|
April 22, 2010, 17:45 |
|
#19 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,290
Rep Power: 34 |
Quote:
the figure you posted looks like standard diffusion operator and usually descretesized by CDS. Anyway if you can write down equations in a document along with their boundary conditions, i will let you know if you can solve them with inavier or not. In fact if it were possible most likely i would add them into new inavier on this weekend. I was anyway looking for an example problem to show that how someone can use inavier in his her c++ code. the way new inavier is written, you can use it as external liberary to solver general transport equations (with or without navier stokes). (pure advection is still not added, i am trying to figure out how to implement cicsam , so it will take some time) please send me email to arjun.yadav@yahoo.com (june first week i will put new version online, i need to prepare documentations, plus stupid sst k-omega seems to be giving very different results from fluent so need to figure out whats wrong with it). edited to add: about your first problem, inavier code is given as visual studio code, if possible compile it again on your machine. (if i remember correctly) |
||
April 22, 2010, 22:10 |
|
#20 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,290
Rep Power: 34 |
Quote:
well i downloaded some pdfs and read about shallow water equations. It would need little bit more work to get it working but if it is useful, we can create shallow water solver for it. If you let me do the code writing it won't be difficult i guess. send me email , it would be interesting to work on. |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Gmsh] Compiling gmshFoam with OpenFOAM-1.5 | BlGene | OpenFOAM Meshing & Mesh Conversion | 10 | August 6, 2009 05:26 |
[Commercial meshers] An open source software like gambit | ilpaso | OpenFOAM Meshing & Mesh Conversion | 4 | June 18, 2008 17:32 |
Could the CFD community benefit from Open Source? | JF | Main CFD Forum | 13 | December 18, 2006 00:06 |
Grid generation - Open source codes | Chris | Main CFD Forum | 5 | May 23, 2002 09:16 |
Commercial software | Avi Mishan | Main CFD Forum | 3 | August 25, 1998 22:50 |