preCICE v2.5.0 Release Notes
-
- โ Added 3D support to Linear Cell Interpolation mapping (
<mapping:linear-cell-interpolation >/
) using tetrahedra. (https://github.com/precice/precice/pull/1337) - Added C and Fortran bindings for setMeshTetrahedron (
precicec_setMeshTetrahedron
andprecicef_set_tetrahedron
). (https://github.com/precice/precice/pull/1382) - โ Added a clang-tidy CI and enforced the updated clang-tidy format. (https://github.com/precice/precice/pull/999)
- ๐ Added a new interface file
precice/Version.h
, which provides version macrosPRECICE_VERSION_MAJOR
,PRECICE_VERSION_MINOR
,PRECICE_VERSION_PATCH
as well as the stringified versionPRECICE_VERSION
. Use the convenience macroPRECICE_VERSION_GREATER_EQUAL(2,4,0)
to check for compatibility.SolverInterface.hpp
andSolverInterfaceC.h
now includeVersion.h
to simplify macro usage on older version lacking the header. (https://github.com/precice/precice/pull/1392) - โ Added checks during the establishment of inter-participant communication in order to safeguard against common issues. (https://github.com/precice/precice/pull/1290)
- โ Added checks of MPI ports functions and descriptive error messages. (https://github.com/precice/precice/pull/1292)
- โ Added default network interface for BSD-flavored operating systems. (https://github.com/precice/precice/pull/1332)
- โ Added pre-commit configuration, which drastically simplifies contributing. Required formatting tools will now be installed by pre-commit. (https://github.com/precice/precice/pull/1359)
- โ Added support for "Linear Cell Interpolation" data mapping in 2D. (https://github.com/precice/precice/pull/1297)
- โ Added success statement to
precice-tools check valid-config.xml
, which used to output nothing. ((https://github.com/precice/precice/pull/1406) - โ Added support for polynomial="separate" and polynomial="off" for Eigen based RBF mappings (use-qr-decomposition="true"). (https://github.com/precice/precice/pull/1335)
- โ Added support for tetrahedral meshes with
setMeshTetrahedron
. (https://github.com/precice/precice/pull/1314) - โ Added support for triangles in 2D meshes. (https://github.com/precice/precice/pull/1286)
- โ Added support in VTK and VTU exporters for exporting tetrahedral elements. (https://github.com/precice/precice/pull/1314)
- Added support to export gradient data in VTK exporting. Scalar gradients are written to a vector
<ScalarDataname>_gradient
(v0_dx,v0_dy,v0_dz,v1_dx ...
), vector gradients are written to multiple vectors<VectorDataname>_dx/dy/dz
(v0x_dx,v0y_dx,v0z_dz, ...
). (https://github.com/precice/precice/pull/1315) - โ Added support to export gradient data in XML based exporting, VTU, VTP. (https://github.com/precice/precice/pull/1340)
- โ Added tetrahedron communication. (https://github.com/precice/precice/pull/1325)
- ๐ Added the
PRECICE_BUILD_TOOLS
(ON by default) CMake variable in order to enable/disable the generation of theprecice-tools
executable. (https://github.com/precice/precice/pull/1344) - ๐ Changed behavior of "Watchpoints" to look for cell interpolation instead of boundary interpolation, if possible. (https://github.com/precice/precice/pull/1361)
- ๐ Deprecated API functions
isReadDataAvailable()
andisWriteDataRequired()
to simplify implementation of waveform iteration. (https://github.com/precice/precice/pull/1224) - ๐ Fixed a bug leading to large whitespace sections in logs when using MPI ports. (https://github.com/precice/precice/pull/1292)
- ๐ Fixed data type of 'uint' to compatible 'unsigned int' type in RBF test. (https://github.com/precice/precice/pull/1298)
- ๐ Fixed erroneous behavior of first-participant timestepping in compositional coupling schemes. (https://github.com/precice/precice/pull/1307)
- ๐ Fixed inconsistency between
writeVectorGradientData
andwriteBlockScalarGradientData
and cleaned-up doxygen documentation of gradient API functions. (https://github.com/precice/precice/pull/1302) - ๐ Fixed the API function
isGradientDataRequired
to behave as documented. (https://github.com/precice/precice/pull/1295) - ๐ Fixed the git revision detection picking up revisions of super-projects. (https://github.com/precice/precice/pull/1398)
- ๐ Fixed the triangle-to-point distance calculation leading to erroneous projections in corner cases of the nearest-projection mapping. (https://github.com/precice/precice/pull/1395)
- ๐ Improved efficienty of mesh filtering and communication. (https://github.com/precice/precice/pull/1311)
- ๐ Improved the basis function implementation of RBF mappings for faster evaluations. (https://github.com/precice/precice/pull/1338)
- ๐ Improved the memory footprint of triangles in meshes. (https://github.com/precice/precice/pull/1311)
- ๐ Improved the runtime of the Eigen based RBF matrix assembly (use-qr-decomposition="true"). (https://github.com/precice/precice/pull/1320)
- Passing
nullptr
to theSolverInterface
ascommunicator
is now forbidden. Use theSolverInterface
constructor without thecommunicator
argument, if you don't want to provide a custom MPI communicator. (https://github.com/precice/precice/pull/1261) - ๐จ Refactored RBF mappings to share a common base class (https://github.com/precice/precice/pull/1279)
- ๐จ Refactored RBF system assembly and RBF system solving into a dedicated class. (https://github.com/precice/precice/pull/1319)
- ๐จ Refactored mapping class interface into mapConsistent and mapConservative. (https://github.com/precice/precice/pull/1301)
- Removed argument 'rowsFirst' in
writeVectorGradientData
andwriteBlockVectorGradientData
. The functions have now the signaturewriteVectorGradientData( int dataID, int valueIndex, const double *gradientValues)
with the gradient format(vx_dx, vy_dx, vx_dy, vy_dy)
.writeBlockVectorGradientData
allows to pass data for multiple vertices point-wise in the same format. (https://github.com/precice/precice/pull/1302) - โ Removed restriction to only use 5 iterations in the
RS_LS
restart mode of the IQN-IMVJ acceleration method. (https://github.com/precice/precice/pull/1257) - โ Removed the explicit gradient data flag (
<data: ... gradient="on" />
) for nearest-neighbor-gradient mapping. The gradient data requirement is now deduced automatically by preCICE. (https://github.com/precice/precice/pull/1371) - ๐ Renamed preCICE's
master
branch tomain
branch. (https://github.com/precice/precice/pull/1385) - โฌ๏ธ Upgraded fmt to 9.0.0, json to 3.11.1 and tcbrindle span. (https://github.com/precice/precice/pull/1396)
- โ Added 3D support to Linear Cell Interpolation mapping (