solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM
Abstract
This article presents solids4foam, a finite-volume toolbox for solid mechanics and fluid–solid interaction simulations within OpenFOAM. It describes the toolbox’s core capabilities—including material models, coupling strategies, boundary conditions, discretisation approaches, and solution algorithms—and situates it within the wider landscape of OpenFOAM-based and external solid mechanics and FSI frameworks. The work provides a detailed account of solids4foam’s design, scope, and distinguishing features relative to other available toolboxes, highlighting its role as a general-purpose, actively maintained environment for multiphysics simulation.
Full text
solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM Philip Cardiff 1¶, Ivan Batistić 1,2, and Željko Tuković 2 1School of Mechanical and Materials Engineering, University College Dublin, Dublin, Ireland 2Faculty of Mechanical Engineering and Naval Architecture, University of Zagreb, Zagreb, Croatia ¶ Corresponding author DOI: 10.21105/joss.07407 Software •Review •Repository •Archive Editor: Kyle Niemeyer Reviewers: •@MakisH •@mohd-afeef-badri Submitted: 01 July 2024 Published: 02 April 2025 License Authors of papers retain copyright and release the work under a Creative Commons Attribution 4.0 International License (CC BY 4.0). Summary solids4foam is a toolbox designed for conducting solid mechanics and fluid-solid interaction simulations within the widely-used OpenFOAM software (ESI-OpenCFD, 2024;foam-extend, 2024;The OpenFOAM Foundation, 2024). The toolbox has a comprehensive set of features, including advanced algorithms for fluid-solid and thermo-fluid-solid coupling, a variety of solid material models, non-trivial solid boundary conditions, and numerous discretisation and solution methods for solid mechanics. The solids4foam toolbox is one of the most comprehensive solid mechanics and fluid-solid interaction toolboxes available within OpenFOAM, having evolved from the solidMechanics and extend-bazaar/FluidSolidInteraction toolboxes of the foam-extend community (foamextend, 2024). Several other OpenFOAM-based toolboxes provide capabilities for solid mechanics and fluid-solid interaction, including FOAM-FSI (Mehl et al., 2016), miniGeotechFoam (Tang et al., 2015), explicitSolidDynamics Haider et al. (2018), as well as more specialised solvers such as the membrane fluid-solid interaction solver (Wagner et al., 2022), a coupled actuator line and finite element analysis tool (Schmitt & Robinson, 2022), and a modular multiphysics framework (St-Onge & Olivier, 2023). However, many of these toolboxes are no longer actively maintained and lack the broad range of solid mechanics and fluid-solid interaction features required for general-purpose simulations. Beyond OpenFOAM-based solutions, preCICE (Chourdakis et al., 2023) provides an alternative approach by coupling OpenFOAM with widely-used finite element solvers such as deal.II (Arndt et al., 2021), CalculiX (Dhondt, 2004), FEniCS (Logg et al., 2012), and Code_Aster (France, 1989--2017), enabling flexible multiphysics simulations. While solids4foam is among the first general finite volume-based toolboxes for solid mechanics and fluid-solid interaction, established finite element-based codes such as FEniCS (Logg et al., 2012) and deal.II (Arndt et al., 2021) offer comparable functionality but differ in their numerical methodology. Furthermore, domain-specific fluidsolid interaction solvers, such as SimVascular (Zhu et al., 2022) and Ambit (Hirschvogel, 2024) for cardiovascular simulations or turtlefluid-solid interaction (Bergersen et al., 2020) for general monolithic fluid-solid interaction problems, provide specialised solutions for particular applications. Despite these alternatives, solids4foam remains a uniquely positioned toolbox within OpenFOAM, offering a well-maintained and feature-rich platform for solid mechanics and fluid-solid interaction simulations based on the finite volume method. Statement of Need The solids4foam toolbox addresses four primary needs within the OpenFOAM community: 1. The need to perform fluid-solid interactions within OpenFOAM. 2. The need to solve complex solid mechanics problems directly within OpenFOAM. Cardiff et al. (2025). solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM. Journal of Open Source Software,10(108), 7407. https://doi.org/10.21105/joss.07407.1
3. The necessity for a modular approach to coupling various solid and fluid processes in OpenFOAM. 4. The demand for an extendable framework to facilitate research into innovative finite volume methods for solid mechanics. The design of solids4foam adheres to three guiding principles: 1. Usability: If you can use OpenFOAM, you can use solids4foam. 2. Compatibility: Supports the three main OpenFOAM variants: OpenFOAM.com, OpenFOAM.org, and foam-extend. 3. Ease of Installation: The toolbox is easy to install and requires minimal additional dependencies beyond OpenFOAM. Features The solids4foam toolbox is designed with a modular architecture, allowing for a flexible and extensible approach to solid mechanics and fluid-solid interaction within OpenFOAM. The core framework consists of generic class interfaces for solid mechanics, fluid dynamics, coupling methods, and solid material models. Additionally, it supports all native OpenFOAM modularity, including boundary conditions and function objects. The solids4foam-v2.1 release includes the following features: Partitioned Fluid-Solid Interaction Coupling Methods solids4foam provides a range of partitioned coupling methods for fluid-solid interaction, including fixed under-relaxation, Aitken’s accelerated under-relaxation, interface-quasi-Newton coupling (Degroote J, 2009) based on a Dirichlet-Neumann formulation, as well as an addedmass Robin-Neumann formulation. Details of the implementation are given by Cardiff et al. (2018), Tuković, Karač, et al. (2018), and Tuković, Bukač, et al. (2018). Thermo-fluid-solid interaction coupling is also available (solids4foam, 2025). Finite Volume Solid Model Discretisations and Solution Algorithms The toolbox supports multiple discretisation approaches and solution algorithms tailored for solid mechanics. Users can choose between segregated (Cardiff et al., 2018), coupled (Cardiff, Tuković, Jasak, et al., 2016), and explicit solution algorithms, offering flexibility depending on computational constraints and problem requirements. Both linear geometry (small strain) and nonlinear geometry (finite strain) formulations are available, with support for total and updated Lagrangian approaches. solids4foam includes both cell-centered and vertex-centered formulations. Solid Material Models A wide range of material models are implemented to cater to various solid mechanics problems. These include linear elasticity, covering isotropic and orthotropic materials (Cardiff et al., 2014), and inelastic material models such as plasticity (e.g., 𝐽2 plasticity (Cardiff, Tuković, De Jaeger, et al., 2016) and Mohr-Coulomb plasticity (Tang et al., 2015)), viscoelasticity (Cardiff et al., 2018), thermo-elasticity (Cardiff et al., 2018), and poroelasticity (Tang et al., 2015). Additionally, the toolbox supports hyperelastic materials, including neo-Hookean, Ogden, Mooney-Rivlin, Fung, and Yeoh models (Oliveira et al., 2022,2023), as well as hyperelastoplasticity (Cardiff, Tuković, De Jaeger, et al., 2016). To further extend its capabilities, solids4foam provides an interface to Abaqus user-defined material subroutines (UMATs). Cardiff et al. (2025). solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM. Journal of Open Source Software,10(108), 7407. https://doi.org/10.21105/joss.07407.2
Solid Boundary Conditions To ensure realistic constraints and interactions, solids4foam includes a variety of solid boundary conditions. The toolbox supports frictional contact models, with implementations for node-tosegment (Cardiff et al., 2012;Cardiff, Tuković, De Jaeger, et al., 2016) and segment-to-segment contact algorithms (Batistić et al., 2022,2023). Additionally, cohesive zone models are available for simulating material failure and debonding processes. Standard boundary conditions for traction, displacement, and rotation constraints are also included. Fluid Models To enable fluid-solid interaction simulations, solids4foam integrates with ported versions of the OpenFOAM’s fluid solvers. The toolbox supports incompressible flows, including PIMPLE and PIMPLE-overset methods, as well as multiphase flows using the volume-of-fluid approach. For applications requiring compressibility effects, it also includes a weakly compressible fluid solver (Oliveira et al., 2022), expanding the scope of problems that can be addressed. In addition, solids4foam supports coupling via preCICE (see the example in the tutorials guide); that is, solids4foam can be used as a solid solver in a preCICE-coupled simulation, allowing coupling with a broader range of OpenFOAM and non-OpenFOAM fluid models, potentially with additional physics. Function Objects The toolbox provides several function objects for post-processing and in-situ analysis, allowing users to extract key simulation data. Available function objects include energy calculations, displacement tracking, force evaluation, stress computation, principal stress extraction, and torque measurement. Utilities and Scripts solids4foam includes a collection of utilities and scripts to enhance usability and compatibility across different OpenFOAM variants. These utilities ensure smooth interoperability between OpenFOAM versions, simplifying installation and execution. Additionally, solids4foam provides mesh conversion tools to facilitate OpenFOAM-to-Abaqus and Abaqus-to-OpenFOAM mesh transformations, enabling seamless integration with external finite element solvers. Tutorials A set of tutorial cases is included with solids4foam , providing users with ready-to-run examples for various solid mechanics and fluid-solid interaction scenarios. These tutorials serve as both educational resources and benchmarks for verifying solver performance, helping users quickly become familiar with the toolbox’s capabilities. As described in the tutorials guide, the tutorial cases are organised into solids, fluids, fluid-solid interaction, and thermo-fluid-solid interaction cases, with sub-divisions in the solids categories for linear elasticity, elastoplasticity, hyperelasticity, poroelasticity, thermoelasticity, viscoelasticity, multiple materials and fracture. Acknowledgements The solids4foam toolbox has not directly received funding from any source; nonetheless, many implementations within the toolbox have stemmed from research projects at University College Dublin, the University of Zagreb, and other institutes. With this in mind, Philip Cardiff gratefully acknowledges financial support from the Irish Research Council through the Laureate program, grant number IRCLA/2017/45, and the European Research Council (ERC) under the European Union’s Horizon 2020 Research and Innovation programme (Grant agreement No. 101088740), Science Foundation Ireland (SFI) through I-Form (SFI Grant Cardiff et al. (2025). solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM. Journal of Open Source Software,10(108), 7407. https://doi.org/10.21105/joss.07407.3
Numbers 16/RC/3872 and 21/RC/10295 P2), MaREI (SFI Grant Number RC2302 2), NexSys (SFI Grant Number 21/SPP/375), as well as the DJEI/DES/SFI/HEA Irish Centre for High-End Computing (ICHEC) for the provision of computational facilities and support (www.ichec.ie), and the UCD ResearchIT Sonic cluster funded by UCD IT Services and the UCD Research Office. References Arndt, D., Bangerth, W., Clevenger, T. C., Fehling, M., Garcia-Sanchez, D., Heister, T., Heltai, L., Kormann, K., Kronbichler, M., Maier, M., Munch, P., Pelteret, J.-P., Turcksin, B., & Wells, D. (2021). The deal.II library, version 9.3. Journal of Numerical Mathematics, 29(3), 171–186. https://doi.org/10.1515/jnma-2021-0081 Batistić, I., Cardiff, P., Ivanković, A., & Tuković, Ž. (2023). A finite volume penalty-based implicit procedure for the treatment of the frictionless contact boundaries. International Journal for Numerical Methods in Engineering,124(18), 4171–4191. https://doi.org/10. 1002/nme.7302 Batistić, I., Cardiff, P., & Tuković, Ž. (2022). A finite volume penalty based segment-tosegment method for frictional contact problems. Applied Mathematical Modelling,101, 673–693. https://doi.org/10.1016/j.apm.2021.09.009 Bergersen, A., Waagaard, K. C., Pardo, D., & Rønquist, E. M. (2020). turtleFSI: A robust and monolithic FEniCS-based fluid-structure interaction solver. Journal of Open Source Software,5(50), 2089. https://doi.org/10.21105/joss.02089 Cardiff, P., Karač, A., & Ivanković, A. (2012). Development of a finite volume contact solver based on the penalty method. Computational Materials Science,64, 283–284. https://doi.org/10.1016/j.commatsci.2012.03.011 Cardiff, P., Karač, A., & Ivanković, A. (2014). A large strain finite volume method for orthotropic bodies with general material orientations. Computer Methods in Applied Mechanics and Engineering,268, 318–335. https://doi.org/10.1016/j.cma.2013.09.008 Cardiff, P., Karač, A., Jaeger, P. D., Jasak, H., Nagy, J., Ivanković, A., & Tuković, Ž. (2018). Towards the development of an extendable solid mechanics and fluid-solid interactions toolbox for OpenFOAM. Preprint.https://doi.org/10.48550/arXiv.1808.10736 Cardiff, P., Tuković, De Jaeger, P., Clancy, M., & Ivanković, A. (2016). A Lagrangian cell-centred finite volume method for metal forming simulation. International Journal for Numerical Methods in Engineering,109(13), 1777–1803. https://doi.org/10.1002/nme. 5345 Cardiff, P., Tuković, Jasak, H., & Ivanković, A. (2016). A block-coupled finite volume methodology for linear elasticity and unstructured meshes. Computers & Structures,175, 100–122. https://doi.org/10.1016/j.compstruc.2016.07.004 Chourdakis, G., Schneider, D., & Uekermann, B. (2023). OpenFOAM-preCICE: Coupling OpenFOAM with external solvers for multi-physics simulations. OpenFOAM® Journal,3, 1–25. https://doi.org/10.51560/ofj.v3.88 Degroote J, V. J., Bathe K-J. (2009). Performance of a new partitioned procedure versus a monolithic procedure in fluid-structure interaction. Computers and Structures,87(11-12), 793–801. https://doi.org/10.1016/j.compstruc.2008.11.013 Dhondt, G. (2004). The finite element method for three-dimensional thermomechanical applications. Wiley. https://doi.org/10.1002/0470021217 ESI-OpenCFD. (2024). OpenFOAM.com. ESI Group. https://www.openfoam.com foam-extend. (2024). foam-extend project.https://sourceforge.net/projects/foam-extend Cardiff et al. (2025). solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM. Journal of Open Source Software,10(108), 7407. https://doi.org/10.21105/joss.07407.4
France, E. de. (1989--2017). Finite element code _ aster, analysis of structures and thermomechanics for studies and research. Open source on www.code-aster.org. Haider, J. (2019). ExplicitSolidDynamics toolkit for OpenFOAM.https://doi.org/10.5281/ zenodo.2577033 Haider, J., Lee, C. H., Gil, A. J., & Bonet, J. (2017). A first order hyperbolic framework for large strain computational solid dynamics: An upwind cell centred total lagrangian scheme. International Journal for Numerical Methods in Engineering,109(3), 407–456. https://doi.org/10.1002/nme.5293 Haider, J., Lee, C. H., Gil, A. J., Huerta, A., & Bonet, J. (2018). An upwind cell centred total lagrangian finite volume algorithm for nearly incompressible explicit fast solid dynamic applications. Computer Methods in Applied Mechanics and Engineering,340, 684–727. https://doi.org/10.1016/j.cma.2018.06.033 Hirschvogel, M. (2024). Ambit – a FEniCS-based cardiovascular multi-physics solver. Journal of Open Source Software,9(93), 5744. https://doi.org/10.21105/joss.05744 Logg, A., Mardal, K.-A., Wells, G. N., & others. (2012). Automated solution of differential equations by the finite element method. Springer. Mehl, M., Uekermann, B., Bijl, H., Blom, D., Gatzhammer, B., & Van Zuijlen, A. (2016). Parallel coupling numerics for partitioned fluid–structure interaction simulations. Computers & Mathematics with Applications,71(4), 869–891. https://doi.org/10.1016/j.camwa.2015. 12.025 Oliveira, I. L., Cardiff, P., Baccin, C. E., & Gasche, J. L. (2022). A numerical investigation of the mechanics of intracranial aneurysms walls: Assessing the influence of tissue hyperelastic laws and heterogeneous properties on the stress and stretch fields. Journal of the Mechanical Behavior of Biomedical Materials,136.https://doi.org/10.1016/j.jmbbm.2022.105498 Oliveira, I. L., Cardiff, P., Baccin, C. E., Tatit, R. T., & Gasche, J. L. (2023). On the major role played by the lumen curvature of intracranial aneurysms walls in determining their mechanical response, local hemodynamics, and rupture likelihood. Computers in Biology and Medicine,163.https://doi.org/10.1016/j.compbiomed.2023.107178 Schmitt, P., & Robinson, D. (2022). A coupled actuator line and finite element analysis tool. OpenFOAM® Journal,2, 81–93. https://doi.org/10.51560/ofj.v2.51 solids4foam. (2025). Thermo-fluid-solid interaction tutorials.https://www.solids4foam.com/ tutorials/more-tutorials/thermo-fluid-solid-interaction/ St-Onge, G., & Olivier, M. (2023). Modular framework for the solution of boundary-coupled multiphysics problems. OpenFOAM® Journal,3, 120–145. https://doi.org/10.51560/ofj. v3.64 Tang, T., Hededal, O., & Cardiff, P. (2015). On finite volume method implementation of poro-elasto-plasticity soil model. International Journal for Numerical and Analytical Methods in Geomechanics,39, 1410–1430. https://doi.org/10.1002/nag.2361 The OpenFOAM Foundation. (2024). OpenFOAM.org.https://www.openfoam.org Tuković, Ž., Bukač, M., Cardiff, P., Jasak, H., & Ivanković, A. (2018). Added mass partitioned fluid-structure interaction solver based on a robin boundary condition for pressure. In OpenFOAM selected papers of the 11th workshop (pp. 1–23). Springer International. https://doi.org/10.1007/978-3-319-60846-4_1 Tuković, Ž., Karač, A., Cardiff, P., Jasak, H., & Ivanković, A. (2018). OpenFOAM finite volume solver for fluid-solid interaction. Transactions of FAMENA,42(3), 1–31. https: //doi.org/10.21278/TOF.42301 Wagner, S., Münsch, M., & Delgado, A. (2022). An integrated OpenFOAM membrane Cardiff et al. (2025). solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM. Journal of Open Source Software,10(108), 7407. https://doi.org/10.21105/joss.07407.5
fluid-structure interaction solver. OpenFOAM® Journal,2, 48–61. https://doi.org/10. 51560/ofj.v2.45 Zhu, X., Updegrove, A., Sotiropoulos, F., & Figueroa, C. A. (2022). svFSI: A multiphysics package for integrated cardiac modeling. Journal of Open Source Software,7(78), 4118. https://doi.org/10.21105/joss.04118 Cardiff et al. (2025). solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM. Journal of Open Source Software,10(108), 7407. https://doi.org/10.21105/joss.07407.6