The release v1.4.0 of the OpenFOAM-preCICE adapter brings a few new features that prepare the adapter for larger changes in future releases, and fixes some long-standing issues, mainly related to checkpointing. A large part of this release includes first-time contributions by @vidulejs.
Highlihts:
- A new experimental
Genericmodule allows users to couple any field by its name, providingvalue,gradient,surface-normal-gradient, andmixedoperations, but without knowing anything else about the physical meaning of the coupled field. Tutorials will gradually be migrated to use this module, aiming to drop most of the current readers/writers in the future. - The FF module now also provides the drag force, implicit momentum coefficient, explicit momentum, and the full pressure gradient, as coupling variables for CFD-DEM simulations. See David Schneider's dissertation - @davidscn, as well as the current list of supported fields.
- Largely reworked checkpointing for mesh-related fields, allowing support for higher-order schemes (by checkpointing all of
V,V0,V00, if available) and, among others, fixing issue #158 that was leading to runtime errors for some solvers (different dimensions). See the documentation on checkpointed fields. - The adapter configuration file is now a bit more flexible, allowing to skip a
readDataorwriteDataentry (effectively enabling uni-directional coupling, as it should have always been) and accepting case-insensitive names for coupled fields (mainly to allow coupling to solvers that require all-uppercase names). - The error handling procedure was simplified in the adapter, now asking users to use the function objects option
errors strict, available since OpenFOAM v2012 (Documentation: Load the adapter). The adapter now also handles preCICE exceptions.
More changes have been happening under the hood: for example, the configuration files now also support readData and writeData as lists of dictionaries (#354), preparing the adapter for conformance to the preCICE adapter and tooling configuration schema (see guidelines for adapters).
The adapter is now compatible with OpenFOAM v2606 and earlier versions (see OpenFOAM support; other branches are currently not maintained), it is now listed in the OpenFOAM Package Index (OPI), and the CI of this repository uses the setup-openfoam GitHub action.
For more changes and details, see the changelog, with commits from @vidulejs, @davidscn, @r-walloner, @BenjaminRodenberg, @gerlero, @MuhammadAashirAslam, and myself (@MakisH).
Note
This release mainly supports OpenFOAM v2606 and earlier. Other branches are not currently maintained. We are currently discussing updates to our support policy.