precice / openfoam-adapter

OpenFOAM-preCICE adapter
https://precice.org/adapter-openfoam-overview.html
GNU General Public License v3.0
135 stars 80 forks source link

Policy on support for OpenFOAM.org and other versions #328

Open MakisH opened 5 months ago

MakisH commented 5 months ago

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:

Any suggestions?

hoehnp commented 5 months ago

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.

MakisH commented 5 months ago

@hoehnp thank you for speaking up! Questions:

  1. Which versions would be relevant for you, and in which context? What is limiting you/your dependency to upgrade?
  2. Would it be sufficient for you to use an older version of the adapter for an older version of OpenFOAM? I do understand that you would need a version compatible with preCICE v3, so we probably cannot escape releasing the usual set of version-specific packages for this release of the adapter.
MakisH commented 5 months ago

I just stumbled upon another potential user that cited the compatibility with multiple OpenFOAM versions as a reason to use preCICE.

hoehnp commented 5 months ago

@MakisH:

  1. If i remember correctly CFDEMcoupling is based on OF6. I remember there was a discussion to upgrade to OF9, when talking to the developers, but considering this issue I assume it is still stuck to that version. The other software I mostly look into is solids4foam which also has an adapter, but I dont remember which versions it uses.
  2. Then i for example as a consequence community contributions for officially unsupported versions or flavors had to be rejected. I also understand that probably adapters of different versions are not compatible with each other, right?
MakisH commented 4 months ago

Then i for example as a consequence community contributions for officially unsupported versions or flavors had to be rejected.

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.

I also understand that probably adapters of different versions are not compatible with each other, right?

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.

precice-bot commented 2 months ago

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

precice-bot commented 2 months ago

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

precice-bot commented 2 months ago

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

precice-bot commented 1 month ago

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

precice-bot commented 1 month ago

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

precice-bot commented 2 weeks ago

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

MakisH commented 5 hours ago

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.

hoehnp commented 2 hours ago

Hi @MakisH,

I have a few questions on your plan:

  • We will still develop and maintain mainly this repository. For the other repositories, we expect the community to step up.

which would that repository be? .org? .com?

  • Only maintain one version (latest) for each variant.

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.

  • We will also port preCICE-related features from this repository to the other repositories, but we will not actively update for new OpenFOAM versions.

Which version would be actually in this repository now?

  • We will remove all version-related preprocessor statements from the current repository.

Again which version will the current repo follow?

MakisH commented 2 hours ago

@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.

hoehnp commented 2 hours ago

We will also port preCICE-related features from this repository to the other repositories, but we will not actively update for new OpenFOAM versions.

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?