Top Qs
Timeline
Chat
Perspective

PreCICE (software)

Free/open-source coupling library for partitioned simulations From Wikipedia, the free encyclopedia

PreCICE (software)
Remove ads

preCICE is a free/open-source coupling library for partitioned multi-physics simulations. preCICE is not specific to particular applications or tools, but instead couples independent codes capable of simulating a subpart of the complete physics involved in a simulation.

Quick facts Developers, Initial release ...

A coupled simulation consists on multiple simulation codes calling the preCICE API and a shared configuration file describing the simulation setup. Once launched, the preCICE library establishes connections between the individual simulation codes and coordinates their progression in time until a configured end condition is fulfilled.[6]

preCICE supports nodal data on unstructured meshes, a wide range of interpolation schemes between non-conforming meshes and in time, implicit schemes with various convergence acceleration methods, and support for solvers using MPI parallelization, partially overlapping with features offered by other coupling tools.[7]

The preCICE API is available in C++, with C and Fortran bindings provided as part of the library. External support includes Python, Rust, Julia, and Matlab.[8]

The software originates from a fluid-structure interaction on High-performance computing context.[9] Other common applications include studies of conjugate heat transfer, hemodynamics, muscle-tendon systems, geothermal energy, porous media flow, and more[8]).

Thumb
Overview of the preCICE coupling library (as of 2024), including the main concepts, features, and examples of codes already coupled.
Remove ads

History

Summarize
Perspective

Early years

The name "preCICE" (precise code interaction coupling environment) appears in literature first in 2010.[1] preCICE is a direct successor of FSI*ce, developed at the Technical University of Munich, which mainly targeted fluid-structure interaction simulations.[5] FSI*ce was a result of a German Research Foundation project in the Research Group Fluid-Structure Interaction: Modelling, Simulation, Optimisation (FOR493).[10]

preCICE v1

In May 2015, the development of preCICE was moved to its own organization on GitHub. The first stable version v1.0.0 of the core library was released in November 2017.

preCICE v1 included a variety of coupling schemes (explicit and implicit, Aitken underrelaxation, Anderson and Broyden quasi-Newton acceleration algorithms), data mapping methods (nearest-neighbor, nearest-projection, RBF), and communication methods (TCP/IP sockets, MPI ports).[6]

The v1.x release cycle saw releases until v1.6.1, in September 2019.

preCICE v2

By 2020, the preCICE project saw development in different directions: extensive refactoring and testing of the core library, large expansion of the available documentation, development of several new adapters and several community building measures.[8] Several of these changes are connected to the acceptance of preCICE into the extreme-scale scientific software development kit (xSDK). Due to increased number of components, the preCICE distribution was introduced as a citable bundle of components working together.

The v2.x release cycle saw releases until v2.5.1, in January 2024.

preCICE v3

preCICE v3.0.0 was released in February 2024. Notable changes of v3 include simplifications in the API and configuration, multirate and higher-order time stepping,[11] and faster RBF mapping based on a partition of unity approach.

At the time of the v3 release cycle, the project has expanded from targeting mainly surface coupling to also targeting volume coupling (overlapping domains, see domain decomposition methods), geometric multiscale mapping, system codes implementing the Functional Mock-up Interface.,[12] and multiscale simulations[13]

Remove ads

Coupled codes

While preCICE is a software library with an API that can be used by programmers to couple their own code, there exist several integrations with several simulation codes, making preCICE more accessible to end users that are not primarily programmers (such as applied mathematicians, mechanical engineers, or climate scientists).

In the terminology used by preCICE, the integrations to simulation codes are called adapters[8] and can be maintained by the preCICE developers or third parties.

Example codes that preCICE integrates with via adapters include,[14] among others:

The community has also coupled[8] CAMRAD II, DLR TAU, DUST, DuMuX, Rhoxyz, Ateles, XDEM, FLEXI, MBDyn, OpenFAST, LS-DYNA, and G+Smo.

Remove ads

See also

References

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads