Skip to content

DSPHChronoLib is a C++ library that enables two-way integration between the DualSPHysics SPH solver and the Project Chrono dynamics engine, allowing synchronised exchange of forces, motion, and state data for fluid–structure and multibody interaction simulations.

License

Notifications You must be signed in to change notification settings

DualSPHysics/DSPHChronoLib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DSPHChronoLib Logo

DSPHChronoLib

Two-way coupling between DualSPHysics and Project Chrono
Fluid–structure interaction · Multibody dynamics · SPH–rigid body coupling

CMake >= 3.24.0 Project Chrono v9 DualSPHysics >= 5.4 Eigen >= 3.4.0 License LGPL 2.1


✨ Overview

DSPHChronoLib is a C++ library that enables two-way interaction between DualSPHysics (SPH fluid solver) and Project Chrono (multibody dynamics engine).

It synchronizes forces, motion, and state data between both solvers, enabling:

  • Fluid–structure interaction (FSI)
  • Multibody systems interacting with SPH fluids
  • Mechanisms and articulated bodies driven by hydrodynamics

The library is designed to be modular, lightweight, and easy to integrate into existing DualSPHysics workflows.


🚀 Features

  • 🔄 Two-way coupling between SPH fluid dynamics and multibody rigid dynamics
  • 🧩 Modular and low-coupling architecture
  • 🌊 Fluid–structure interaction support
  • ⚙️ Compatible with Chrono v9 and DualSPHysics ≥ v5.4
  • 🐧🪟 Cross-platform support (Windows & Linux)

📌 Important notes

  • All binaries and patched source files must belong to the same DualSPHysics version.
  • Do not mix bin/ or src/lib/ folders from different DualSPHysics versions.
  • If DualSPHysics source files are patched, this must be done before compiling DualSPHysics.
  • Build and integration instructions are in BUILD.md.

📁 Repository Structure

DSPHChronoLib/
├─ Source/               # DSPHChronoLib source code and CMake project
│   ├─ ChronoChanges/    # Chrono source replacements required by the coupling
│   └─ CMakeLists.txt
├─ BUILD.md              
├─ LICENSE
└─ README.md


🧩 Requirements

  • CMake ≥ 3.24.0
  • C++ compiler toolchain
  • Eigen ≥ 3.4.0 (3.4.0 tested)
  • Project Chrono v9
  • DualSPHysics ≥ 5.4

Detailed build instructions are provided in BUILD.md.


📚 Citation

If you use DSPHChronoLib in your research, please cite:

Coupling Library (DSPHChronoLib)

Martínez-Estévez, I., Domínguez, J. M., Tagliafierro, B., Canelas, R. B., García-Feal, O., Crespo, A. J. C., & Gómez-Gesteira, M. (2023). Coupling of an SPH-based solver with a multiphysics library. Computer Physics Communications, 283, 108581. https://doi.org/10.1016/j.cpc.2022.108581

FEA Coupling Usage

Martínez-Estévez, I., Tagliafierro, B., El Rahi, J., Domínguez, J. M., Crespo, A. J. C., Troch, P., & Gómez-Gesteira, M. (2023). Coupling an SPH-based solver with an FEA structural solver to simulate free surface flows interacting with flexible structures. Computer Methods in Applied Mechanics and Engineering, 410, 115989. https://doi.org/10.1016/j.cma.2023.115989


🤝 Contributing

Contributions are welcome!

You can help by:

  • Reporting issues
  • Proposing improvements
  • Enhancing documentation
  • Submitting pull requests

Guidelines

  1. Fork the repository
  2. Create a feature or fix branch
  3. Follow the existing code style and structure
  4. Provide clear commit messages
  5. Submit a pull request with a concise description

By contributing, you agree that your contributions will be released under the same license as this project.


📄 License

This project follows the licensing terms of DualSPHysics and Project Chrono.
See LICENSE for details. GNU Lesser General Public License v2.1.

© 2025 Ivan Martinez-Estevez

EPHYSLAB Environmental Physics Laboratory, Universidade de Vigo  

This software is provided “as is,” without warranty of any kind. See the license for details.

About

DSPHChronoLib is a C++ library that enables two-way integration between the DualSPHysics SPH solver and the Project Chrono dynamics engine, allowing synchronised exchange of forces, motion, and state data for fluid–structure and multibody interaction simulations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •