A review of the OpenFOAM adapter using the contributing guidelines. This is a work-in-progress that will eventually be moved.

The OpenFOAM adapter conforms to most of the preCICE best practices and fulfills many of the additional criteria.

Metadata:

  • M.1: OpenFOAM
  • M.2: https://precice.org/adapter-openfoam-overview.html
  • M.3: GPL-3.0
  • M.4: Gerasimos Chourdakis <gerasimos.chourdakis ipvs.uni-stuttgart.de>, David Schneider <david.schneider ipvs.uni-stuttgart.de>
  • M.5: https://doi.org/10.51560/ofj.v3.88
  • M.6: library

Required best practices:

  • R.1: Several application cases are available as tutorials. The application cases list is not yet available.
  • R.2: README.md
  • R.3: LICENSE
  • R.4: GitHub project (public)
  • R.5: versioning scheme
  • R.6: CHANGELOG.md
  • R.7: issue tracker on GitHub
  • R.8: .clang-format
  • R.9: See, for example, https://github.com/precice/openfoam-adapter/blob/develop/Adapter.H
  • R.10: Still requires porting of single fields, e.g. preciceConfigpreciceConfigFileName.
  • R.11: See call to setMeshVertices in https://github.com/precice/openfoam-adapter/blob/develop/Interface.C

Additional criteria: