-
-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Policy on support for OpenFOAM.org and other versions #328
Comments
Generally, I would say considering the OpenFOAM ecosystem with codes developed with a certain version without porting to newer versions, I think precice is there a nice drop-in solution, when one needs to couple these codes. This does not only apply to certain versions, but also the different flavours of OF (foundation, ESI, extend). I, of course, understand that maintaining precice for a growing number of OF versions, especially OF11, is rather painful. However, I still believe that quite some use-cases of precice would not be feasible anymore and, thus, the value precice gives to the community, if one only stays with the latest versions. My suggestion would be to let maybe stick with some versions directly inside the project and let the others be maintained by the community. There seems to be an interest as the cited PRs are showing. |
@hoehnp thank you for speaking up! Questions:
|
I just stumbled upon another potential user that cited the compatibility with multiple OpenFOAM versions as a reason to use preCICE. |
|
As I wrote in my first post, we would also like to support foam-extend, since this is apparently (via your contribution) possible. The goal here is to support what people need, without investing too much effort on versions that people don't need anymore.
What needs to be the same is the major preCICE version (v1, v2, v3). You can couple OpenFOAM v2312 that uses the adapter v1.3.0 and preCICE v3 with your foam-extend v5.1 project that uses your modification of the adapter, if that is ported to preCICE v3. What is not possible is mixing preCICE v2 with v3, since the way the data is serialized and exchanged has changed. |
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there: https://precice.discourse.group/t/openfoam-org-adapter-doesnt-read-celldisplacement/1971/4 |
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there: https://precice.discourse.group/t/openfoam2-4-0-mnf-and-xdem-coupling/1995/4 |
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there: https://precice.discourse.group/t/will-there-be-openfoam-8-adapter-for-precice-v3/1999/2 |
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there: https://precice.discourse.group/t/trouble-installing-openfoam6-adapter-with-precice-v3/2065/2 |
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there: https://precice.discourse.group/t/openfoam-adapter-for-openfoam11-and-12/2073/2 |
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there: https://precice.discourse.group/t/volume-coupling-openfoam-10/2107/2 |
At the preCICE Workshop 2024, me and @davidscn discussed with users on how to continue regarding this. Our current idea is:
Any feedback on this plan is very welcome. |
Hi @MakisH, I have a few questions on your plan:
which would that repository be? .org? .com?
I believe this is a very bold statement since you expect the community to step up. I would lay this in the hands of the people from the community to decide which and how many versions in addition to the latest they want to support.
Which version would be actually in this repository now?
Again which version will the current repo follow? |
@hoehnp our current priority is supporting the latest ESI version (because it is so far the most backwards compatible), and we would continue supporting that mainly here. |
This will also require coordination between the community and the core developers. Are there any plans about how to do this? Will it be a PR based workflow? Who would then merge those? |
@hoehnp very good questions! Scenario A: New featuresWe (or the community) want to implement some feature in the adapter: we open a pull request in this repository, we review it, we merge it. Once merged, we (or the community) open related PRs in the additional, version-specific repositories. We use the documented differences of the versions to port the changes. Feature PRs targeting other repositories without first implementing the features in this repository would get "automatically" rejected, ensuring a one-way porting, to reduce the potential chaos. Scenario B: New OpenFOAM versionWe keep doing versioned releases of each adapter, with release artifacts (
Good point. If the maintenance is really from the community, then we can of course have a similar model as currently, with different branches per versions. |
As the ESI / OpenCFD (.com) and CFD Direct / OpenFOAM Foundation (.org) versions are diverging more and more, it is becoming impossible to maintain the same level of support we started with. The amount of effort required is extremely high, especially since every new version of OpenFOAM.org brings several breaking changes.
There seem to be some users relying mainly on the latest versions of OpenFOAM.org, mainly judging from the download numbers of the release artifacts and PRs such as #310 (and similarly for foam-extend #302).
At the same time, we currently maintain commented-out configuration variants in some of our tutorials, and since OpenFOAM 10, a complete branch.
Motivation for supporting multiple versions is mainly because people are often restricted from custom codes and what version is installed on their local system. We couple codes, so we want to enable diversity. However, supporting old versions as well is becoming extremely complex and keeps the whole project behind.
As a way forward, and to (a) simplify our release process and (b) facilitate community contributions for other versions, I suggest the following:
For tutorials:
fluid-openfoam-org
.partitioned-heat-conduction
,flow-over-heated-plate
, andperpendicular-flap
, potentially alsopartitioned-pipe
). If someone wants to port more cases, they can compare the changes.Any suggestions?
The text was updated successfully, but these errors were encountered: