-
-
Notifications
You must be signed in to change notification settings - Fork 98
Description
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:
- Our latest release only supports the latest OpenFOAM.com version, as we mostly already do. This means:
- No more release artifacts for older versions
- No more "if this version do this, else do that" (see Support multiple OpenFOAM versions with the same source #32)
- If someone needs an older version, they can get an older version of the adapter.
- We host one branch for OpenFOAM.org, aiming to support the latest release of OpenFOAM.org.
- The community can contribute to this branch.
- Only compatibility updates can be contributed to these branches. All features and general fixes must be contributed to the develop branch.
- We generate release artifacts for the latest supported version in every release.
- If this is not ready, we proceed with our release, and attach additional artifacts later.
- We only attach an artifact if all tests (see below) pass, and all preCICE features of the main adapter are supported or documented in the code and the user documentation.
- We similarly host one branch for foam-extend, etc.
For tutorials:
- We consider each OpenFOAM variant to be a separate code. This means that it will get its own case directory in some tutorials:
fluid-openfoam-org
. - We only provide such variants for a couple of tutorials (
partitioned-heat-conduction
,flow-over-heated-plate
, andperpendicular-flap
, potentially alsopartitioned-pipe
). If someone wants to port more cases, they can compare the changes. - We add these cases to the system tests.
Any suggestions?