Published August 24, 2026
| Version v2.4
Software
Open
solids4foam: A toolbox for performing solid mechanics and fluid-solid interaction simulations in OpenFOAM
Authors/Creators
- 1. University College Dublin
- 2. University of Zagreb
Description
Full Changelog: v2.3...v2.4
Added in v2.4
- Added support for OpenFOAM-v2606, extending compatibility to OpenFOAM-v2312
through OpenFOAM-v2606, alongside the existing OpenFOAM-9 and
foam-extend-4.1 support. - Added a configurable stabilisation framework, including combined
stabilisation models, volumetric-strain-rate stabilisation, and PETSc SNES
Jacobian support for JST and even-order schemes. - Added high-order finite-volume solid mechanics, with high-order
configurations forcantilever2d, Cook's membrane,pressurisedCylinder,plateHole, andsphericalCavity
(https://doi.org/10.1016/j.jcp.2026.115056). - Added a block-coupled incompressible solid formulation
(https://doi.org/10.3390/app152312660). - Added
decomposeParMonolithicfor consistently decomposing coupled meshes. - Added adaptive time stepping to
newtonIcoFluid. - Added the
solidPressureMinMaxfunction object and utilities for detecting
PETSc build state and summarising solver logs. - Added an optional Unity build for
libsolids4FoamModels, reducing
compilation time. - Added validation of the PETSc configuration at build time, continuous
integration across supported OpenFOAM versions, and a v2512 Docker release
image. - Added further tutorial cases and per-tutorial README.md files, including the
poroelasticity, elastoplasticity,ellipticPlate, and one-way cavity cases,
plus expanded website documentation.
Changed in v2.4
- Tutorial cases are now stored in the OpenFOAM.com format and converted to
foam-extend or OpenFOAM.org at run time, rather than the reverse. All three
variants continue to work; see the upgrade notes below. - Incremental (updated Lagrangian) solid models now stop with a clear message
when an initialDfield is present outside a restart; see the upgrade notes
below. - Improved IQN-ILS coupling and simplified FSI region selection.
- Extended
electroMechanicalLawwith field-based active tension and
independent fibre tensors. - Made point-patch enforcement optional in the
fixedDisplacementboundary
condition, and made thefluidModelfluid-property accessors public. - Unsupported foam-extend
cyclicGgipatches now fail with a clear error
rather than segfaulting during volume-to-point interpolation. - Expanded regression coverage for solid, contact, FSI, and least-squares
gradient cases, and added aTest-leastSquaresS4fGradtest application.
Fixed in v2.4
- Fixed PETSc Jacobian preallocation by creating the Jacobian as a block AIJ
matrix, resolving segmentation faults with recent PETSc versions. - Fixed old-time deformation gradient storage in
StVenantKirchhoffElastic. - Fixed least-squares gradient evaluation at boundary faces, and ported
enhancedVolPointInterpolationto OpenFOAM-9, correcting rigid-rotation
cases solved with the updated Lagrangian approach. - Fixed the sign convention in the even-order Laplacian for the
m == 0case. - Fixed boundary condition enforcement in the
diffusionElasticmechanical law
and the tabulated acceleration fields insonicLiquidFluid. - Fixed the
RBFMeshMotionSolversetup for fluid-solid interaction, and
documented a verified configuration. - Fixed
tmp<fvMatrix>assembly on OpenFOAM.org. - Fixed the restart behaviour of the
elasticWallVelocityboundary condition,
which previously discarded its face-centre history and so restarted with a
zero interface velocity. The history is now written to, and read from, the
time directories, and is mapped bydecomposeParandreconstructPar.
Removed in v2.4
- Removed tutorial-specific analytical solution function objects from
src/solids4FoamModels; these now live in case-local libraries within the
corresponding tutorials.
Upgrade notes for v2.4
- Tutorial case format: tutorial cases are stored in the OpenFOAM.com
format. Cases copied from the repository run directly on OpenFOAM.com, and
theAllrunscripts convert them for foam-extend and OpenFOAM.org. Local
copies of older cases are unaffected, but any scripts that assumed the
foam-extend layout (for exampleconstant/polyMesh/blockMeshDict) should be
updated. - Initial
Dfield with incremental solid models: incremental updated
Lagrangian solid models solve forDD, and an initialDfield alongside it
can make boundary conditions pick up an inconsistent displacement history.
Such cases now fail at startup unless the run is an explicit restart. Remove0/Dfrom affected cases. - Tutorial analytical solutions: if a case or user library referenced an
analytical solution function object fromlibsolids4FoamModels, link against
the case-local library in the corresponding tutorial instead. - Interface-to-interface mapping and the undeformed mesh: all
interface-to-interface mappings (AMI,GGI,RBFanddirectMap) now
build the interface correspondence from the undeformed mesh points in theconstantinstance, rather than from the current interface. This keeps the
correspondence independent of when it is first constructed, now that the
cached interface geometry follows the mesh motion and the solid deformation.
Cases whose mesh changes topology during the run, or whose points are not
available in theconstantinstance, now fail with an explicit error instead
of silently building the correspondence from whatever configuration the
interface happened to be in. Previously, onlyAMIread theconstant
points, so this affects a wider set of cases than before.
Related to v2.4
[beamFoam](https://github.com/solids4foam/beamFoam)was released alongside
the v2.4 update (https://doi.org/10.51560/ofj.v5.170). It is developed and
maintained in a separate repository and is not part of solids4foam itself.
Notes
Files
solids4foam-2.4.zip
Files
(79.7 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:ab9042c803966f4e8ddbc5a851c0cc4a
|
79.7 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/solids4foam/solids4foam/tree/v2.2 (URL)
Funding
Dates
- Updated
-
2026-08-24
Software
- Repository URL
- https://github.com/solids4foam/solids4foam
- Programming language
- C++
- Development Status
- Active