preCICE (software)
| preCICE | |
|---|---|
| Developers | University of Stuttgart, Technical University of Munich, and the preCICE community |
| Release | June 1, 2010 |
| Stable release | |
| Written in | C++ |
| Operating system | Linux, macOS, Windows, FreeBSD |
| Predecessor | FSI*ce |
| Available in | English |
| Type | simulation software, multiphysics simulation, multiscale simulation |
| License | LGPL-3.0-or-later |
| Website | precice |
| Repository | |
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.
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.
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.
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.
The software originates from a fluid-structure interaction on High-performance computing context. Other common applications include studies of conjugate heat transfer, hemodynamics, muscle-tendon systems, geothermal energy, porous media flow, and more).