Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

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

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages