While openfoam.org versions 4.x have no changes that affect the adapter in comparison to versions 5.x, there are some differences in older versions.
Versions 3.x are different from 4.x in at least the following points:
The way that the boundaryField and internalField are accessed. In the OpenFOAM 4.0 release notes, it is stated:
Robust data handling: new convention for const and non-const reference func-
tions of fields where the non-const function uses ...Ref(); for example, where
boundaryField() provides the const reference to the boundary field,
boundaryFieldRef() provides a non-const reference. for tmp objects, non-
const access uses a ref() function rather than the () dereferencing operator.
[ ] Change all the boundaryFieldRef() to boundaryField().
[ ] Check and adjust the types and methods used to access the effective conductivity/diffusivity. The classification into compressible and incompressible solvers may need to be refined and more cases may need to be added.
[ ] Check and adjust the OpenFOAM dependencies in the Make/options file, if needed.
We have decided to not fix this, and it gets less and less relevant over time. If anyone needs to work on this for their own system, the required steps can still be found above.
While openfoam.org versions 4.x have no changes that affect the adapter in comparison to versions 5.x, there are some differences in older versions.
Versions 3.x are different from 4.x in at least the following points:
boundaryField
andinternalField
are accessed. In the OpenFOAM 4.0 release notes, it is stated:See also the OpenFOAM-dev commit a4e2afa and this issue.
The class hierarchy for turbulence models, as version 4.0 introduced the templated class
TurbulenceModels
. See the OpenFOAM-4.x commit 93732c8.Small changes in the function objects. See the OpenFOAM 4.x commit 91aba2d. You may find a function objects code template for your version in the
$FOAM_ETC/
directory. The files preciceAdapterFunctionObject.H and preciceAdapterFunctionObject.C need to be adjusted.The adapter could support different versions using different branches.
List of tasks:
boundaryFieldRef()
toboundaryField()
.Make/options
file, if needed.More tasks may be needed.
For older versions, see #9.