All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. and this project adheres to Semantic Versioning. Read more details in the issue #52: Releases and versioning.
- Fixed looking for velocity object that should first be created by the adapter #330.
- Added clang-format to the pre-commit hook #331.
- Added OpenFOAM v2406 to the supported versions (earlier versions already support it as well) #332.
- Added a locationType for volume coupling and implemented the respective functionality (over all internal fields) for Pressure and Velocity (FF) and Temperature (FF) #255.
- Added volume coupling over one or multiple domain regions specified by OpenFOAM cellSets (for Pressure and Velocity (FF) and Temperature (FF))#270.
- Added phase variable and flux coupling for interFOAM in the FF module #308.
- Added custom inletOutlet boundary conditions for pressure and velocity to the FF module #281.
- Added temperature and temperature gradient as coupling data to the FF module #281.
- Added option to write velocity that is corrected by the face flux
phi
#281. - Added a pre-commit hook to check formatting and linting of various aspects #321.
- Added a workflow for triggering system regression tests #309.
- Added citing guidelines, referring to the new reference article at the OpenFOAM Journal. #287
- Changed the preCICE dependency version to v3. The adapter is not compatible with v2 anymore. #285.
- Changed the default OpenFOAM version to v2312 in the documentation and CI. #325.
- Changed the way mesh connectivity (face triangles) are provided to preCICE, adapting to preCICE v3 #297.
- Renamed the
adjustSolverTimeStep()
method toadjustSolverTimeStepAndReadData()
, changing the behavior to always read data at the determined time step size #298. - Changed the build CI workflow to use the setup-precice-action to install preCICE #299.
- Improved building time by grouping together compilation units of each module #301.
- Fixed incorrect reading and writing of the FSI-related data buffers, if multiple patches are combined in an interface mesh commit 846affd.
- Updated the default OpenFOAM version in documentation and CI to v2212 commit 9b2b2.
- Fixed compatibility with OpenFOAM v2212, removing an unneeded
refCast
commit e40fe.
- Replaced a
std::make_unique
bynew
in order to remain C++11 compatible and support older compilers #264.
- Added support for a restart from the initial undeformed interface mesh for Fluid solvers in FSI simulations #224.
- Added functionality to allow use of solids4foam with the OpenFOAM adapter (new solver type "solid"). This includes reading forces and writing displacements.
- Enabled mesh motion solvers that do not register a pointDisplacement field (such as the RBFMeshMotionSolver from solids4foam) to work with the adapter #241
- Added timers for tracking the time spent in the adapter and preCICE (disabled by default) #256.
- Added a warning for trying to build without pkg-config being available and more suggestions for possible problems #220.
- Added more documentation, specifically for configuring the FF module. #254
- Removed the default
-j 4
option from the wmake command. Instead, documented theWM_NCOMPPROCS
option of OpenFOAM. #244 - Changed virtual function declarations to explicitly define one (only) of virtual/override/final. If you need to extend a method marked as
final
, please report. #245 - Changed the xy-plane error to a warning, to support 2D axisymmetric cases. #246
- OpenFOAM version bumped to v2206 in GitHub Actions (including preCICE v2.3.0 --> v2.5.0) and documentation #230.
- Removed the (deprecated since preCICE v2.5.0) call to isReadDataAvailable. #247
- Added a check for data fields and supported location types of the coupling interface #206.
- Extended the adapter's DEBUG output to print the rank in addition to the message in parallel runs #201.
- Added a custom build GitHub workflow to check building the adapter with any supported OpenFOAM version #214.
- Added a release pull request template and documented the versioning strategy and release artifact names. #216
- Added a hint to also cite the adapter, at the end of the coupling. #218
- Removed explicit casting of boundary conditions in the adapter's write function in order to allow more boundary conditions to be compatible with the adapter (e.g. groovyBC) #195.
- Cleaned-up the handling of adding checkpoint fields and replaced various unnecessary copies by references #209.
- OpenFOAM version bumped to v2112 in GitHub Actions (including preCICE v2.2.1 --> v2.3.0) and documentation. GitHub Action clang-format-action switched to its main branch. #211.
- Disabled automatic checking of links in GitHub Actions. This is now a manual workflow #215.
- Fixed a potential memory access issue in the xy-alignment check for parallel 2D cases #202.
- Fixed a bug that was not allowing more than one module at the same time and added an error message for the case when a dataset is not known by any or too many modules. #197.
- Fixed the misplaced data reading in the adapter 'advance' function #188.
- Automatic code formatting with clang-format. #173
- GitHub actions to build the adapter with OpenFOAM v2012 and to check shell scripts, documentation formatting, and links. #165 #164 #169 #171
- Status of the project in
README.md
: CI badges, license, maintainers, links to issues. #167 - Code of conduct, to ensure a safe environment for the community. #166
- Replaced the deprecated
lookupType
andsubDictPtr
calls withget
andfindDict
(supported in OpenFOAM v1812 and later). #176 - This Changelog now follows the Keep a Changelog format.
- Automatic triggering of system tests with Travis-CI. We will reimplement this later. #165
- Support for reading displacements on face centers and further improved the 2D mode. #147
- Restrict the user in valid orientation of 2D cases with an assertion. #155
- New fluid-fluid coupling (FF) module. You can find a new partitioned pipe tutorial on the website. #67
- Moved the wiki pages into the
docs/
folder here. These pages are now rendered in the new adapter documentation. - Moved all the
tutorials/
to the tutorials repository and the related documentation to the preCICE website. - Disabled debug messages by default, to reduce visual noise and logs length. a942c8
- Added
-j 4
towmake
inAllwmake
to build with four threads by default. Remove this you face any issues (in which case, let us know). #162 - Refactored the
Force
class. #148
- Dropped support for preCICE v1.x. #157
- Improved the
Allwmake
andAllclean
scripts. #157 - Cleaned up a few non-const references to boundary fields. #132
This changelog was established in April 2021 and the previous release was on September 2020. Notable changes before that and since the beginning of the project include, in arbitrary order:
- New fluid-structure interaction (FSI) module. #56
- Support stress data in FSI. #125
- Support computing forces in compressible and turbulent flows. #64
- Support nearest-projection mapping. #46
- Support preCICE v2. #117
- Replaced the YAML-based configuration format with an OpenFOAM dictionary. #105
- The compressible/incompressible solver type is not determined based on the pressure dimensions. #124
- Boundary evaluation under checkpointing. #110
The first commit to this codebase was on May 28, 2017 and the adapter has been used by non-developers since 2018.