CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM News & Announcements > OpenFOAM Announcements from Other Sources

Caelus: fork of OpenFOAM

Register Blogs Community New Posts Updated Threads Search

Like Tree10Likes
  • 6 Post By cnsidero
  • 1 Post By cnsidero
  • 1 Post By cnsidero
  • 2 Post By wyldckat

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   October 28, 2014, 14:09
Default Caelus: fork of OpenFOAM
  #1
Senior Member
 
Chris Sideroff
Join Date: Mar 2009
Location: Ottawa, ON, CAN
Posts: 434
Rep Power: 22
cnsidero is on a distinguished road
Just thought I'd point out there's now a fork of OpenFOAM called Caelus (www.caelus-cml.com). There's more information about what it is and why it's different but the short highlights are easy-to-use installer, runs on Windows in addition to Linux (serial and parallel), new build system, documentation and validation.
awacs, wyldckat, Ohbuchi and 3 others like this.
cnsidero is offline   Reply With Quote

Old   November 1, 2014, 10:03
Default
  #2
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings Chris,

Many thanks for letting us know about this!

At first, it felt like from the description that this source code was derived from FreeFOAM, but upon closer inspection, it doesn't look like it.
It did take me a while to figure out what CML stood for... eventually found in the "caelusDoc.hpp" file the complete description:
Quote:
Caelus: Computational Mechanics Library
As far as I can figure out, Caelus was designed to be sort-of like an Enterprise edition. Not only a lot of solvers are not present (apparently because no validation was found/available for them), as there are several utilities also gone or possibly embedded into other utilities.
I very much hope they're able to continue to develop this endeavour, since this is somewhat a new step for the OpenFOAM related community!

Mmm... going to have to send them an email asking them to add an entry on the wiki: http://openfoamwiki.net/index.php/Windows

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   November 2, 2014, 16:48
Default
  #3
Senior Member
 
Chris Sideroff
Join Date: Mar 2009
Location: Ottawa, ON, CAN
Posts: 434
Rep Power: 22
cnsidero is on a distinguished road
Bruno,

I meant to reply to you sooner but was caught up traveling/recovering. There are many reasons for making Caelus but I suppose one of the bigger (technical) reasons was to get the Windows version building/running seamlessly. It was our opinion that Windows should not be a second class citizen but treated equal to the other platforms (Mac will be included in an upcoming release). From the training courses that Applied CCM has conducted it was obvious that Linux was a significant barrier to entry (e.g. a 1 hr Linux primer regularly turned into half a day or more). There are enough challenges in learning OpenFOAM already so it made sense to try to remove as many as possible.

I personally use Linux almost exclusively but it was important to put personal preferences aside to enable broader adoption. There has been some confusion as to whether or not GPL software is compatible with a proprietary OS, such as Windows, but that myth is categorically untrue. In fact, GNU even promotes GPL software on Windows (https://www.gnu.org/software/for-windows.html), one of them which is used in Caelus, i.e. MingGW. (Note: As MinGW builds and links against Windows system dll's, Caelus provides "native" Windows libraries and applications.)

In addition to Windows support the build system was replaced with Scons (www.scons.org) to enable cross-platform compilation and easier building. It's Python-based so that should make Caelus more compatible with where it might go in the future.

Since the major focus was on making it easier for people to use, only the necessary dependencies are included. We went a step further and packaged it up in an installer (which can be run in GUI or text mode). You may have also noticed there isn't a code repository (yet?). We've found that Git was another barrier to using it, so, at least in the mean time, we haven't set a Git repository. Perhaps there will be a repository in the future but we'd like to hear what users have to say and we'll discuss how to best do so (suggestions are welcome of course). In the mean time, the source code is easily accessible in the installers.

So the take away here is that Caelus is geared to helping the user while also trying to improve the experience for the developer.

In regard to your questions about enterprise edition and removing solvers and utilities. Caelus is not necessarily meant to be an enterprise edition but because Applied CCM offers a technology subscription, it was important there was strong foundation. To achieve this, we wanted only validated solvers and models. This meant removing all but a handful of solvers, all turbulence models, and utilities of limited use. The turbulence models included were written by Applied CCM and correspond to the most common variants published in open literature (see the documentation for more information).

You may have also noticed a major thrust of the effort was on validation and documentation. To be able to achieve this (it takes A LOT of time to validate and write documentation) only the most important and commonly used solvers were left in Caelus. Just because a previously included application is no longer there does not mean it may not return in the future. If/when it does, it will be accompanied with at least a modicum of validation and documentation.

While there are some solvers and technologies in the Applied CCM subscription that are only available to customers, the base libraries, a few commonly used solvers, utilities and turbulence models are included.

Caelus will not just be a one-time, release-and-forget. There are plans to improve and update it every 6 months (the release numbers reflect that: 4.10 = '14 October, 5.04 = '15 April, etc. The '1' was dropped for simplicity). There may also be bug fixes released in between major releases but those won't include features to maintain inter-release stability.

Clearly there's some self-serving motivations but ultimately the motivations for releasing are authentic. There is no denying that what OpenFOAM has done for CFD and computational mechanics in general has been nothing short of amazing both from a technical point of view and from a social point of view. However, the reality is there are several short comings that have remained and are preventing it from moving forward. Caelus is developed and released as an attempt to address these deficiencies.

If/when people should want to contribute they will not have to reassign copyright. The authors copyright attribution will be included and remain in all contributed code. OpenCFD copyright is included in all source code that was part of the original code base as well as a few others (e.g. Symscape for some of the Windows portions). Lastly, in this vein, all contributed code will have to include at least some verification and/or validation as well as documentation.

There's one last issue Caelus addresses - trademark. We have renamed the fork because we want to respect the OpenFOAM trademark. OpenFOAM is not a free-to-use trademark (at least as I understand it), such as "Linux". And that's OK. Therefore it's ownership and usage must be respected.

That was pretty long winded but since you asked I thought it was best to give you the full brain dump and be transparent with our intentions. If what I said here or our motivations has offended someone, that was not our intention. As I mentioned, we all owe a lot of gratitude and have a lot of respect for OpenFOAM and it's community. We simply wish to take open-source computational mechanics in a different direction and are doing so by something GNU and the GPL openly advocates: forking.

-Chris

Ps: I originally posted this in the main CFD forum to avoid using OpenFOAM to promote Caelus but the forum mods must have decided otherwise. We simply hope Caelus is adopted and used by its own merits.
wyldckat likes this.
cnsidero is offline   Reply With Quote

Old   November 3, 2014, 06:02
Default
  #4
Senior Member
 
Elvis
Join Date: Mar 2009
Location: Sindelfingen, Germany
Posts: 620
Blog Entries: 6
Rep Power: 24
elvis will become famous soon enough
Hi,

I did not understand that there was not an (successful) attempt to get a working Windows Port of OpenFoam. Well SGI coming from the Supercomputing (Unix) market might not see to much the need for a Windows Port. But that ESI did not convince its developers that a Windows port would make economic sense, seems to indicate that the OF-code is not clean enough for a Windows port.
elvis is offline   Reply With Quote

Old   November 7, 2014, 11:16
Default
  #5
Senior Member
 
Chris Sideroff
Join Date: Mar 2009
Location: Ottawa, ON, CAN
Posts: 434
Rep Power: 22
cnsidero is on a distinguished road
For those interested in more frequent information about Caelus, check out @caelus_cml on twitter.
wyldckat likes this.
cnsidero is offline   Reply With Quote

Old   November 8, 2014, 07:31
Default
  #6
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings to all!

@Chris:
Quote:
Originally Posted by cnsidero View Post
Ps: I originally posted this in the main CFD forum to avoid using OpenFOAM to promote Caelus but the forum mods must have decided otherwise. We simply hope Caelus is adopted and used by its own merits.
That was my doing. I moved this thread to the main OpenFOAM forum, because any fork of OpenFOAM can come in handy to any user that uses OpenFOAM technology. And specially because forks sometimes merge back into a single line of development, after a long period of development
In addition, I wasn't aware that you were somehow connected to Applied CCM.

Quote:
Originally Posted by cnsidero View Post
There are many reasons for making Caelus but I suppose one of the bigger (technical) reasons was to get the Windows version building/running seamlessly. It was our opinion that Windows should not be a second class citizen but treated equal to the other platforms (Mac will be included in an upcoming release).
Give it time... somewhere in the future you might end up, once in awhile, cursing Windows for being how it is. And singing praises to it when it works! I say this from personal experience, as I also have close ties with this kind of work

Quote:
Originally Posted by cnsidero View Post
From the training courses that Applied CCM has conducted it was obvious that Linux was a significant barrier to entry (e.g. a 1 hr Linux primer regularly turned into half a day or more). There are enough challenges in learning OpenFOAM already so it made sense to try to remove as many as possible.
Very much understandable, which it's also why Caelus-CML should be welcomed into this forum as well!

Quote:
Originally Posted by cnsidero View Post
In addition to Windows support the build system was replaced with Scons (www.scons.org) to enable cross-platform compilation and easier building. It's Python-based so that should make Caelus more compatible with where it might go in the future.
I'm sorry, but when I read this paragraph, I thought to myself:
Quote:
FreeFOAM went with CMake and it's barely known about... and now Caelus went with Scons...
I guess that I can only give thanks that you didn't go with Google's Gyp...
Honestly, Scons is very likely the best choice, it's just that I myself have dealt with porting OpenFOAM to Windows and keeping up with the original version, that going with any other compiler stack seems... counter productive. But then again, Caelus is a fork which is aiming to doing things better, therefore it does seem like the best choice to go with!

Quote:
Originally Posted by cnsidero View Post
Since the major focus was on making it easier for people to use, only the necessary dependencies are included. We went a step further and packaged it up in an installer (which can be run in GUI or text mode).
Before I forget to mention this: Have you thought about integrating/adapting/adopting pythonFlu - http://pythonflu.wikidot.com/ - as well? Because Python is the way to go when it comes to Science and easy coding!

Quote:
Originally Posted by cnsidero View Post
You may have also noticed there isn't a code repository (yet?). We've found that Git was another barrier to using it, so, at least in the mean time, we haven't set a Git repository.
Uhm... a word of caution: the easier you make things, the bigger the risk that the users will find "real fluid flow" too hard to comprehend...

Quote:
Originally Posted by cnsidero View Post
So the take away here is that Caelus is geared to helping the user while also trying to improve the experience for the developer.
Many thanks for this!

Quote:
Originally Posted by cnsidero View Post
Applied CCM offers a technology subscription, it was important there was strong foundation. To achieve this, we wanted only validated solvers and models. This meant removing all but a handful of solvers, all turbulence models, and utilities of limited use. The turbulence models included were written by Applied CCM and correspond to the most common variants published in open literature (see the documentation for more information).
That's why my interpretation was that Caelus gave an Enterprise vibe, such as Debian Stable and CentOS/RHEL/SL
In this analogy, OpenFOAM would in comparison be something in between Fedora and Ubuntu... but better!

Quote:
Originally Posted by cnsidero View Post
You may have also noticed a major thrust of the effort was on validation and documentation. To be able to achieve this (it takes A LOT of time to validate and write documentation) only the most important and commonly used solvers were left in Caelus. Just because a previously included application is no longer there does not mean it may not return in the future. If/when it does, it will be accompanied with at least a modicum of validation and documentation.
Again, many thanks for this!

Quote:
Originally Posted by cnsidero View Post
While there are some solvers and technologies in the Applied CCM subscription that are only available to customers, the base libraries, a few commonly used solvers, utilities and turbulence models are included.
Nothing better like keeping it simple for newbies

Quote:
Originally Posted by cnsidero View Post
Caelus will not just be a one-time, release-and-forget. There are plans to improve and update it every 6 months (the release numbers reflect that: 4.10 = '14 October, 5.04 = '15 April, etc. The '1' was dropped for simplicity). There may also be bug fixes released in between major releases but those won't include features to maintain inter-release stability.
Again, many thanks! I hope and wish this to happen with success!

Quote:
Originally Posted by cnsidero View Post
Clearly there's some self-serving motivations but ultimately the motivations for releasing are authentic. There is no denying that what OpenFOAM has done for CFD and computational mechanics in general has been nothing short of amazing both from a technical point of view and from a social point of view. However, the reality is there are several short comings that have remained and are preventing it from moving forward. Caelus is developed and released as an attempt to address these deficiencies.
Evolution always comes at a cost. Which is why I believe that Caelus is more than welcome!

Quote:
Originally Posted by cnsidero View Post
Lastly, in this vein, all contributed code will have to include at least some verification and/or validation as well as documentation.
There's always a catch...

Quote:
Originally Posted by cnsidero View Post
There's one last issue Caelus addresses - trademark. We have renamed the fork because we want to respect the OpenFOAM trademark. OpenFOAM is not a free-to-use trademark (at least as I understand it), such as "Linux". And that's OK. Therefore it's ownership and usage must be respected.
As long as you did you research properly and that "Caelus" doesn't infringe on any other trademarked company name...

Quote:
Originally Posted by cnsidero View Post
That was pretty long winded but since you asked I thought it was best to give you the full brain dump and be transparent with our intentions. If what I said here or our motivations has offended someone, that was not our intention. As I mentioned, we all owe a lot of gratitude and have a lot of respect for OpenFOAM and it's community. We simply wish to take open-source computational mechanics in a different direction and are doing so by something GNU and the GPL openly advocates: forking.
I only had wished you have been clearer on the first post as to your affinity to Caelus and Applied CCM

------------------
@elvis:
Quote:
Originally Posted by elvis View Post
I did not understand that there was not an (successful) attempt to get a working Windows Port of OpenFoam.
There have been already several (somewhat) successful non-official ports of OpenFOAM for Windows.

Quote:
Originally Posted by elvis View Post
Well SGI coming from the Supercomputing (Unix) market might not see to much the need for a Windows Port. But that ESI did not convince its developers that a Windows port would make economic sense,
I think you should ask Prof. Hrvoje Jasak the same question, namely why a certain port of 1.6-ext or 1.5-dev for Windows wasn't made available to the general public

Quote:
Originally Posted by elvis View Post
seems to indicate that the OF-code is not clean enough for a Windows port.
You're looking at this from the very wrong point of view (assuming of course, that a right point of view exists ). If you had handled with Windows as hard-core scientific software developer, you would probably be on the same side as most of the people that have to construct the top 500 super-computers, i.e. to go with any suitable Linux Distribution.

I'm trying desperately to not go on ranting mode, so I'll try to make this as succinct as possible: OpenFOAM does not work on Windows, because the Operating System "Windows Science" edition does not exist. And if it did, it would be something derived from Windows Server, be sponsored by Intel and/or AMD and/or NVidia and cost 3 or 4 times more than Windows Server.
Don't believe me? Investigate the hardships that MinGW, SciPy and similar projects have had with mathematical issues in Windows itself. It's not OpenFOAM who isn't ready, it's Windows that isn't ready.

Things have gotten better in Windows over the past years, but from my experience, it is still Windows (as an Operating System and software ecosystem) which is not yet ready for OpenFOAM.

And OpenFOAM has a pretty clean and elegant code!

Best regards,
Bruno
elvis and Ohbuchi like this.

Last edited by wyldckat; November 8, 2014 at 07:35. Reason: fixed a few typos
wyldckat is offline   Reply With Quote

Old   November 11, 2014, 06:22
Default
  #7
Senior Member
 
Julien de Charentenay
Join Date: Jun 2009
Location: Australia
Posts: 231
Rep Power: 18
julien.decharentenay is on a distinguished road
Send a message via Skype™ to julien.decharentenay
Hi,

Thanks a lot to AppliedCCM for their work.

1) Windows Pre-requisite: it took me a couple of minutes to understand that the executable was only an archive and that I had to find the 4 executables and manually execute each one;
2) Is snappyHexMesh included? My first impression was that it is not. Can you confirm?

Have a great day. Julien
__________________
---
Julien de Charentenay
julien.decharentenay is offline   Reply With Quote

Old   November 11, 2014, 23:55
Default
  #8
Senior Member
 
Chris Sideroff
Join Date: Mar 2009
Location: Ottawa, ON, CAN
Posts: 434
Rep Power: 22
cnsidero is on a distinguished road
Quote:
Originally Posted by julien.decharentenay View Post
Hi,

1) Windows Pre-requisite: it took me a couple of minutes to understand that the executable was only an archive and that I had to find the 4 executables and manually execute each one;
Correct. I will make a point of clarifying this in the installation notes on the website. Thanks for the feedback.

Quote:
2) Is snappyHexMesh included? My first impression was that it is not. Can you confirm?
Correct, not included.
cnsidero is offline   Reply With Quote

Reply

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
OpenFOAM Foundation releases OpenFOAM 2.2.2 opencfd OpenFOAM Announcements from ESI-OpenCFD 0 October 14, 2013 08:18
ESI-OpenCFD Releases OpenFOAM v2.2.0 opencfd OpenFOAM Announcements from ESI-OpenCFD 13 March 30, 2013 17:52
[Gmsh] 2D Mesh Generation Tutorial for GMSH aeroslacker OpenFOAM Meshing & Mesh Conversion 12 January 19, 2012 04:52
64bitrhel5 OF installation instructions mirko OpenFOAM Installation 2 August 12, 2008 19:07
OpenFOAM Training and Workshop Hrvoje Jasak Main CFD Forum 0 October 7, 2005 08:14


All times are GMT -4. The time now is 06:20.