All Versions
24
Latest Version
Avg Release Cycle
-
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v2.5.0 Changes
- โ 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 (
-
v2.4.0 Changes
- โ Added API methods for entering gradient data in the solver interface. Methods available are for scalar gradient data, vector gradient data, block scalar gradient data and block vector gradient data. (https://github.com/precice/precice/pull/1169)
- โ Added CMake options to enable debug logging, trace logging and assertions in release builds. (https://github.com/precice/precice/pull/1177)
- โ Added a pkg-config file for using preCICE directly from the build directory. (https://github.com/precice/precice/pull/1238)
- โ Added a warning if the relative convergence measure is set too low. (https://github.com/precice/precice/pull/1266)
- โ Added a warning when using
<export:vtk />
in a parallel participant. (https://github.com/precice/precice/pull/1136) - โ Added experimental API functions for waveform interpolation. Currently restricted to parallel-implicit coupling. Refer to the user documentation. (https://github.com/precice/precice/pull/1187)
- โ Added export to CSV using
<export:csv />
. (https://github.com/precice/precice/pull/1144) - โ Added export to VTP using
<export:vtp />
. (https://github.com/precice/precice/pull/1137) - โ Added export to VTU using
<export:vtu />
. (https://github.com/precice/precice/pull/1136) - โ Added the
support-radius
as an additional configuration option to the Gaussian RBF mapping configuration. (https://github.com/precice/precice/pull/1163) - โ Added the API header
precice/Tooling.hpp
, which includes utility functions. (https://github.com/precice/precice/pull/1122) - โ Added the command
check
tobinprecice
, which checks a given configuration file for correctness. (https://github.com/precice/precice/pull/1132) - โ Added the command
version
tobinprecice
, which prints the version string of the used preCICE library. (https://github.com/precice/precice/pull/1122) - โ Added tooling to CMake, which simplifies contributing. (https://github.com/precice/precice/pull/1143)
- ๐ Changed baseline from Ubuntu 18.04 LTS to Ubuntu 20.04 LTS. preCICE now requires Boost version
1.71.0
and CMake version3.16.3
. (https://github.com/precice/precice/pull/1259) - โ
Deprecated API functions
mapWriteDataFrom
andmapReadDataTo
. Note: compiling the tests will trigger this warning. (https://github.com/precice/precice/pull/859) - ๐ Fixed a bug in ID management, which lead to a crash when reconstructing a SolverInterface. (https://github.com/precice/precice/pull/1190)
- ๐ Fixed a bug in the socket communication back-end, which occasionally lead to crashes. (https://github.com/precice/precice/pull/1262)
- ๐ Fixed a bug which crashed preCICE when explicitly enforcing gather scatter communication using
<m2n:X enforce-gather-scatter=1 />
. (https://github.com/precice/precice/pull/1268) - ๐ Fixed an incompatibility with Boost 1.79.0 (https://github.com/precice/precice/pull/1250)
- ๐ Fixed missing data pieces in the master pvtu file for empty vertex distributions (e.g. a mesh is not exchanged) (https://github.com/precice/precice/pull/1233)
- ๐ Fixed missing edge connectivity in VTK exports. (https://github.com/precice/precice/pull/1127)
- ๐ Fixed the
format-all-docker
script to change of reformatted files to root. (https://github.com/precice/precice/pull/1210) - Fixed the names of experimental direct-access API in the Fortran bindings to
precicef_set_mesh_access_region_
andprecicef_get_mesh_vertices_and_IDs_
. (https://github.com/precice/precice/pull/1129) - ๐ Fixed the naming scheme of parallel VTU files (
.pvtu
and.vtu
pieces). Paraview now correctly detects exports of multiple time-steps as a time series. (https://github.com/precice/precice/pull/1126) - ๐ Fixed the wrong data assignment for multiple read mappings to the same mesh or multiple write mappings from the same mesh. (https://github.com/precice/precice/pull/1267)
- ๐ Improved the efficiency of vertex to edge projections. (https://github.com/precice/precice/pull/1226)
- Migrated to the FindPython3 module for locating Python3 and NumPy. (https://github.com/precice/precice/pull/1263)
- Migrated to using the target provided by FindLibXml2 (https://github.com/precice/precice/pull/1263)
- ๐ Renamed
binprecice
toprecice-tools
and added a symbolic link for backwards-compatibility. The link will be removed in preCICE version 3.0.0. (https://github.com/precice/precice/pull/1175) - โ Removed meshName from solverdummies input parameters. (https://github.com/precice/precice/pull/1256)
- ๐ Renamed all instances of master to primary and of slave to secondary, along with their plural and joint forms. (https://github.com/precice/precice/pull/1253)
- ๐ Renamed class
MasterSlave
toIntraComm
and changed all corresponding names. Changed the XML tagmaster
tointra-comm
and changed the XML attributeson-slaves
andon-master
toon-secondary-ranks
andon-primary-rank
respectively. The tagmaster
and attributeson-slaves
andon-master
are deprecated. (https://github.com/precice/precice/pull/1274) - โฌ๏ธ Upgraded dependencies fmtlib to 8.1.1, json to 3.10.5 and tcbrindle span. (https://github.com/precice/precice/pull/1241)
-
v2.3.0 Changes
- โ Added
isMeshConnectivityRequired(meshID)
to the SolverInterface API. This is useful to generate connectivity information only if required by preCICE. - โ Added a configuration option to enable experiemental API functions.
- โ Added bindings to doxygen.
- โ Added check of user-written data to be finite.
- โ Added convergence information for linear solvers of PETSc-based RBF mappings. Reports of converged solvers are logged as DEBUG, stopped solvers as WARNING and diverged solvers as ERROR messages.
- โ Added experimental support for direct mesh access of meshes.
- โ Added fmtlib for more readable and maintainable message formatting.
- โ Added support for 3D meshes in
ScaleByAreaAction
. - โ Added the
Rank
of partitions in VTK exports. - โ Added the associated data name when printing convergence information.
- โ Added the constraint
scaled-consistent
to mapping methods, which scales a consistent mapping such that the surface integral is equal on both sides of the interface. - โ Added the experimental API functions
setMeshAccessRegion
andgetMeshVerticesAndIDs
. - โ Added the xml configuration option '' for this feature.
- Adopted the Contributor Covenant code of conduct (see
CODE_OF_CONDUCT.md
). - ๐ Change
m2n:mpi
to use the more efficient single-ports implementation. To use the old implementation, usem2n:mpi-mulitple-ports
. - ๐ Changed edge and triangle normals to be computed on-demand.
- ๐ Changed formatting scripts to use
git ls-files
. This simplifies handling of edge cases. - ๐ Changed linear solvers of PETSc-based RBF mappings now issue a warning when they reach the maximum iterations. This used to result in an ERROR.
- ๐ Changed the convergence measures INFO print to a fixed width scientific format. (issue #975)
- ๐ Changed the default build type of the library from
static
toshared
. - ๐ Changed the precice log files to print a fixed width scientific notation using 8 digits after the comma for floating point numbers and a fixed width for integer values. (issue #975)
- ๐ Changed the watch-point calculation algorithm to use already built index trees.
- ๐ Deprecated the
flip-normals
attribute of meshes. This is not functional anymore. - ๐ Deprecated vertex normals in the
vertexCallback()
of the python actions. preCICE will passNone
if the normal parameter is defined. - ๐ Fixed FindNumPy using fallback of
find_path
. - ๐ Fixed FindPETSc to also find PETSc if the include directory is in CPATH, which occured with some versions of
pkg-config
. - ๐ Fixed socket communication to fail without a network connection.
- ๐ Fixed wrong error in tightly converging QN coupling. (Issue #976)
- Implement a simplified interface to query index trees of meshes.
- ๐ Improved memory consumption and data locality of vertices.
- ๐ Improved mesh memory usage of vertices by ~41% and of connectivity by ~55%.
- ๐ Improved usabilty and readability of logging macros and assertions.
- ๐ฆ Introduced package
time
and moved functionality related to extrapolation there. - Migrated
PRECICE_XXX
macros to fmtlib. - ๐ Modifying release PR templates according to restructured tutorials.
- โ Removed limitation of multi-coupling scheme for coupling topologies without a central participant. A non-centric controlling participant still needs to run in serial.
- โ Removed obsolete
query
package functionality. Interpolation is refactored intomapping
package. - โ Removed the FASTEST fortran bindings.
- โ Removed vertex normals from the vtk exporters.
- ๐จ Replaced
prettyprint
withfmtlib
.
- โ Added
-
v2.2.1 Changes
- ๐ Fixed a bug leading to a freeze when using
sync-mode
with lazy indexing. - ๐ Fixed empty received partitions for filtering on slaves.
- ๐ Fixed gather-scatter communication deadlock with empty master ranks.
- ๐ Fixed a bug leading to a freeze when using
-
v2.2.0 Changes
- โ Added a file sink to the test runner, which additionally writes the test log output to the file
test.log
. - โ Added a verbose log file
test.debug.log
to tests. Submitting this file alongside bug reports will significantly simplify debugging the tests. - โ Added check for user-defined python actions.
- โ Added check to ensure
advance()
isn't called with invalid timestep size. - โ Added error message for incorrectly configured acceleration data in a serial implicit coupling scheme.
- โ Added missing documentation to XML tags and attributes.
- โ Added support for
BUILD_TESTING
, which may be used to disable the compilation and execution of the tests. - โ Added support for escaped characters in XML.
- โ Added the build configuration (Release/Debug) to the preCICE startup statement and inform the user when
Debug
anTrace
logs are not available. - โ Added watch-integral functionality to, for instance, compute total force, total stress, or flow rate at coupling mesh.
- ๐ Changed an error to a warning when all sub-vectors of the residual-sum preconditioner are numerically zero.
- ๐ Changed the CMake FindPETSc module to a robust wrapper based on pkg-config. The new method is more robust and simplifies the compilation of preCICE in e.g. SLURM jobs.
- ๐ Changed the log format for tests. They now contain the participant name and are
|
-separated. - Clarified the wording of errors messages in data access functions. They now refer to vertex IDs instead of indices.
- ๐ Deprecated API method
getMeshIDs
. CallgetMeshID
for specific mesh names instead. This method will be removed in a future release. - ๐ง Extended configuration and repartitioning to allow the user to define multiple mappings from and/or to the same mesh.
- ๐ Fixed MacOS compilation and test errors.
- ๐ Fixed a bug in ReceivedPartition which led to problems when coupling multiple participants.
- ๐ Fixed a bug in the configuration of Aitken underrelexation.
- ๐ Fixed an issue when running the tests with Intel MPI.
- ๐ Fixed an occasional issue solving the system matrix in PETSc-based RBF mappings.
- ๐ Fixed boost log_level issues on MacOS.
- ๐ Fixed compilation error emitted by intel compilers.
- ๐ Fixed cryptic assertion for forgetting the max-iterations tag. Now max-iterations is enforced in the configuration.
- ๐ Fixed indexing bug in solverdummies.
- ๐ Fixed input checks for data access functions.
- ๐ Fixed interleaved assertion output.
- ๐ Fixed parameter type of operator"" in TestContext, which was a system-dependant error.
- ๐ Fixed parsing error on systems without locales installed. This fixes issues when running preCICE in minimal docker containers.
- Fixed syntax of the Fortran function
precicef_get_mesh_vertex_size_
, which lead to incorrect name de-mangling. - ๐ Fixed the data type and precision in exported VTK files.
- ๐ Fixed two wrong assertions in QR factorization, which did not allow meshes with only a single partition.
- ๐ Improved checks of configuration related to data access.
- ๐ Improved compiler compatibility of assertion.
- ๐ Improved the error message for not exchanging data over the same mesh used for convergence measures.
- Increased the minimum required C++ version from 11 to 14. This was triggered by
Boost.Geometry
increasing their minimum version to C++14 in Boost1.75
. - โ Removed obsolete
trigger-solver-plot
config option.
- โ Added a file sink to the test runner, which additionally writes the test log output to the file
-
v2.1.1 Changes
- ๐ Fixed a compilation error emitted by intel compilers when compiling tests.
- ๐ Fixed an error message for unique acceleration subtags.
- ๐ Fixed parsing error on systems without locales installed. This fixes issues when running preCICE in minimal docker containers.
- ๐ Fixed preCICE erroneously expects cyclic communicator for IMVJ with restart.
- ๐ Fixed system-dependent compilation error when compiling tests.
- โก๏ธ Updated the PKGBUILD for the Arch Linux User Repository to be compatible with preCICE v2.
-
v2.1.0 Changes
- โ Added MPI version detection and print it during the CMake configuration.
- โ Added a new action to sum up data values,
action:summation
. - โ Added check for only allowing watchpoints on a provided meshes.
- โ Added check for the coordinates of configured watchpoints. They have to match the dimensionality of the
<solver-interface>
. - โ Added check to prevent
<use-mesh>
from the same participant. - โ Added control flow checks to C bingings.
- โ Added many tests for the communication abstraction.
- โ Added option to make a convergence measure strict. It has to converge then and leads to a premature simulation stop if not.
- โ Added parallel support for Eigen RBF mapping.
- โ Added platform-specific defaults of the loopback interface name to the
network
attribute of socket connections. - โ Added reset of written data 0 in
advance()
to simplify detection of missing write data calls. - โ Added several checks to prevent that false API usage leads to complicated quasi-Newton assertions.
- โ Added support for planar quads based on triangulation, needed, for instance for nearest-projection mapping. Quads will be split along the shortest diagonal to minimize the mapping error. Note that this triangulation will be visible in configured mesh exports.
- โ Added tests which build solverdummies and tests which run them in various configurations.
- โ Added tooling to prevent changelog conflicts.
- โ Added warning when configuring m2n as mpi when preCICE is compiled with OpenMPI. This is known to cause connection issues.
- ๐ Allowed multiple convergence measures of same coupling data.
- ๐ Changed
com::MPIDirectcommunication
to work only for Master-Slave connections. - ๐ Changed test setup to a simpler and consistent version using the new
testing::TestContext
. Tests now require to run on 4 MPI ranks. They will still compile but not run whenMPICommunication=OFF
. - ๐ Changed the CMake FindNumPy module to only consider information based on the selected python interpreter.
- ๐ Changed the minimum required PETSc version to 3.12, which delivers consistent results across platforms.
- โ Disabled tests based on MPIPorts and MPISinglePorts when using Open MPI.
- โ Enabled RBF-based tests in partiton unit-tests and serial integration tests.
- ๐ฒ Extended iteration logging by total and dropped quasi-Newton columns.
- Extended title headers of convergence and iteration files by measure abbreviation.
- ๐ Fixed MPIPorts and MPISinglePorts not always closing ports.
- ๐ Fixed SocketCommunication setting up a port and writing connection info even if there are no requesters.
- ๐ Fixed compatibility with Boost 1.73.0.
- ๐ Fixed memory leaks and hanging communication when not calling
precice::SolverInterface::finalize()
. - ๐ Fixed memory leaks in C bindings.
- ๐ Fixed memory leaks in Fortran bindings in case of missing call to
X_finalize()
. - ๐ Fixed memory leaks when using petrbf mappings in some conditions.
- ๐ Fixed occasional errors when using PETRBF with a preCICE-managed MPI Communicator.
- ๐ Fixed over-subscription error when executing the tests with recent versions of Open MPI on less than 4 physical cores.
- ๐ Fixed silent truncation of numeric values in the config with C locales using decimal comma. The parser now always uses the locale
en_US.UTF-8
. - ๐ Fixed target
test_install
requiring CMake version 1.13. - ๐ Fixed value semantics of
precice::SolverInterface
. - Improved all error messages.
- ๐ Improved readability of relative convergence measure INFO logs.
- ๐จ Refactored
com::Communication
handling of rank adjustments. - ๐จ Refactored
cplscheme::BaseCouplingScheme
and derived classes. Introducecplscheme::BiCouplingScheme
. - ๐จ Refactored
mesh::BoundingBox
into seperate class. - โ Removed
m2n:mpi-single
, which never worked outside tests. - โ Removed convergence file logging for min-iterations convergence measure.
- โ Removed deprecated and untested Manifold Mapping. API functions
hasToEvaluateSurrogateModel
andhasToEvaluateFineModel
remain as nop stubs. - โ Removed logging of average convergence rates.
- โ Removed support for
CPP
andCPPFLAGS
environment variables. - ๐ Renamed a few functions of the Fortran bindings for consistency with the C++ API. This does not break backwards compatibility, but the previous functions are now considered deprecated and will be removed in v3.
- โ Removes the summary of event timing when preCICE finalizes and writes it to the file
precice-PARTICIPANT-events-summary.log
instead. - ๐ง Restricted the configuration of WatchPoints to provided meshes.
- โ Split multi-setup integration tests into multiple single-setup tests.
-
v2.0.2 Changes
- ๐ Fixed a critical bug in the testing framework.
- ๐ Fixed a critical bug in the partitioning for geometric filter set to
on-master
in<use-mesh>
tags. The default configuration ison-slave
.
-
v2.0.1 Changes
- ๐ Fixed broken pkg-config file in some cases due to CMake
GNUInstallDirs
. - ๐ Fixed system-dependent error when displaying mapping distance information for empty partitions.
- ๐ Improved RBF error messages by clarifying them and giving a hint to the user on what to do next.
- ๐ Fixed broken pkg-config file in some cases due to CMake
-
v2.0.0 Changes
- โ Added CMake build type fallback to
Debug
in case it wasn't provided. - โ Added CMake check for C++11 library conformance. This is especially helpful when using Intel Compilers.
- Added CMake options to enable native bindings
PRECICE_ENABLE_C
,PRECICE_ENABLE_FORTRAN
(on by default). - โ Added
examples/
to installation and package - โ Added a generator for markdown references
binprecice md
. - โ Added caching to the CMake library validation
- โ Added directional directory level for file-based connection exchange. For each connection, there is now a directory in
precice-run
of the formAccepter-Requestor
. - โ Added distance statistics of nearest-neighbour and nearest-projection mappings between mesh pairs as debug output.
- โ Added grouped tests by module to CTest.
- โ Added information to the log of the first written Data values.
- โ Added log statements to the connection information file writers and listeners including full paths.
- โ Added step to remove the connection directories after connecting the slaves.
precice-run
will be empty after a successful run. - โ Added support for python 3 in python actions.
- โ Added the mesh name to the information used to generate connection information files, which is required for the two-level initialization.
- Changed CMake to always validate dependencies. Set
PRECICE_ALWAYS_VALIDATE_LIBS=NO
to disable this behaviour. - ๐ Changed the internal handling of meshes by removing sub-meshes, the type hierarchy based on
mesh::PropertyContainer
, and the obsoletemesh::Group
andmesh::Merge
. This improves memory consumption, dramatically reduces allocations and improves locality when traversing primitives. - ๐ Changed unit tests to run only on MPI Rank 0.
- ๐ Completely removed server mode. Now, the only supported parallelization concept is the peer-to-peer master-slave mode.
- โ Disabled the installation of the test binary and files by default.
- โฌ๏ธ Dropped official python2 support for python bindings (remove tests).
- โ Removed all experimental python bindings
precice
,precice-future
,PySolverInterface
. - ๐ Fixed a bug in the XML parser which did not correctly checked tag occurrence.
- ๐ Fixed a bug in the XML parser which lead to ignored error messages from
libxml2
. - ๐ Fixed the Debian package generation by using
GNUInstallDirs
, providing a correctchangelog
andSOVERSION
, as well as generating a package name including theSOVERSION
. - ๐ Improved efficiency of nearest projection mapping of matching meshes using lazy generation of index trees.
- Introduced preCICE-MATLAB bindings (https://github.com/precice/precice/pull/494, https://github.com/precice/precice/pull/580) and provided them in
precice/matlab-bindings
. - ๐ง Merged the
SolverInterface::configure()
into theSolverInterface
constructors. They now have a second parameter for the configuration file. - ๐ Moved Fortan 2003 bindings (
src/precice/bindings/f2003
) and solverdummy (tools/solverdummy/f2003
) to a separate repository. - ๐จ Refactored and made two-level initialization configurable through
"use-two-level-init"
inm2n
. - ๐ Refactored the XML documentation generation out of the
xml::XMLAttribute
andxml::XMLTag
classes intoxml/Printer.[c/h]pp
. - ๐ Released finalized version of python bindings in independent repository:
precice/python-bindings
. Package is namedpyprecice
and supports the preCICE version >= 2.0.0. - โ Removed
MeshHandle
from API and replace use in integration tests bySolverInterfaceImpl::mesh()
. - โ Removed an unnecessary assertion in
getMeshVertexIDsFromPositions()
. - โ Removed deprecated SCons.
- โ Removed deprecated
HierarchicalAitkenAcceleration
. - โ Removed deprecated
ModifyCoordinatesAction
. - โ Removed deprecated voxel queries in
src/query/
. - โ Removed packaging files specific to Ubuntu 18.04 as it is covered by CPack.
- Renamed CMake variables
MPI
,PETSC
,PYTHON
toPRECICE_MPICommunication
,PRECICE_PETScMapping
,PRECICE_PythonActions
- Replaced geometric filter option "filter-first" and "broadcast-filter" by "on-master" and "on-slaves", respectively, to generalize to two-level initialization.
- Restructured tools and bindings:
- Moved developer tools to
tools/
. - Moved user tools to
extras/
. - Moved native bindings to
extras/bindings/
.
- Moved developer tools to
- ๐ง Simplify parallel configuration:
- Automatically add
master:mpi-single
for parallel participant if necessary. - No longer require
gather-scatter
distribution type for am2n
with at least one serial participant. - Automatically choose suitable RBF implementation based on whether preCICE was built with PETSc and whether the participant is serial or parallel.
- Automatically add
- Sorted out the different meaning of timestep and time window:
- Renamed API function
isTimestepComplete
toisTimeWindowComplete
. - Renamed C bindings function
precicec_isCouplingTimestepComplete
toprecicec_isTimeWindowComplete
. - Renamed
cplscheme
configuration optiontimestep-length
totime-window-size
. - Renamed
cplscheme
configuration optionmax-timesteps
tomax-time-windows
. - Renamed
acceleration
configuration optiontimesteps-reused
totime-windows-reused
. - Renamed
acceleration
configuration optionreused-timesteps-at-restart
toreused-time-windows-at-restart
. - Renamed
export
configuration optiontimestep-interval
toevery-n-time-windows
.
- Renamed API function
- โ Added CMake build type fallback to