Python bindings for FreeDyn Multi-Body System (MBS) simulator - Windows only
Project description
FreeDyn
Multi-Body System (MBS) Simulation and Analysis Software
What is FreeDyn?
FreeDyn is a powerful simulation software for modeling and analyzing Multi-Body Systems (MBS). It supports:
- Rigid and flexible body dynamics with arbitrary kinematic structures
- Advanced constraint modeling (joints, contact, etc.)
- Multiple force models (springs, dampers, external forces, etc.)
- HHT time integration solver for implicit integration
- Python/MATLAB/Scilab interfaces for custom analysis
- GUI and command-line tools for pre- and post-processing
Documentation
- Getting Started - Installation and first steps
- Examples - Code examples and tutorials
- Release Notes - What's new
Quick Start (Python)
- Install from the extracted release directory:
pip install .
- Run a model from the CLI:
freedyn-run path/to/model.fds
- Or script it:
import freedyn as fd
fd.initialize() # loads freedyn.dll
with fd.Model("path/to/model.fds") as model:
model.solve()
for idx, time, states in model.iterate_time_steps():
print(idx, time, states["Q"][0, 0])
More detail: docs/GETTING_STARTED.md
Features
Simulation Capabilities
- Kinematic and dynamic analysis
- Time-domain simulation with implicit integration
- Automatic constraint handling
- Flexible body dynamics
- Contact models
Analysis Tools
- Jacobian extraction - System matrices at any time point
- Force/motion analysis - Extract forces, accelerations, constraint forces
- Parameter sensitivity - Analytical jacobians w.r.t. parameters
- Custom measures - User-defined outputs
Integration Options
- Python API - Programmatic simulation and analysis
- MATLAB interface - Integration with MATLAB workflows
- Scilab interface - Open-source alternative to MATLAB
- C interface (CDLL) - Direct DLL linking for other languages
Architecture
FreeDyn consists of several core components:
- freedyn.dll - C-interface Dynamic Link Library (core solver)
- Python bindings - High-level API (Model, ModelInfo, analysis functions)
- CLI tool - Command-line interface (freedyn-run)
- GUI/CLI tools - Pre- and post-processing
Requirements
Runtime
- Windows (tested on Windows 7, 10, 11)
- Visual C++ Redistributable (included in release)
- Intel MKL library (included in release)
Development (for bindings)
- Python 3.8+
- numpy
- scipy
License
FreeDyn is released under the GNU Lesser General Public License v3.
See LICENSE for details.
Support & Issues
- GitHub Issues: Report bugs
- Documentation: See docs/ folder
- Examples: See examples/ folder
Release Notes
Latest Release
- Initial public release
- Complete Python bindings refactoring
- High-level API (Model, ModelInfo, analysis functions)
- Command-line tool (freedyn-run)
- Core MBS simulation capabilities
- Matrix/vector extraction functionality
- Comprehensive documentation
Contributing
To contribute to FreeDyn, please:
- Check existing issues
- Follow the coding guidelines
- Submit pull requests with clear descriptions
Citation
If you use FreeDyn in your research, please cite:
@software{freedyn2025,
title = {FreeDyn: Multi-Body System Simulation Software},
author = {Oberpeilsteiner, Stefan and others},
year = {2025},
url = {https://github.com/freedyn-org/freedyn}
}
Author
Stefan Oberpeilsteiner (FreeDyn Development Team)
Repository: https://github.com/freedyn-org/freedyn
Version: See _version.py for current version
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file freedyn-1.0.0.post1-py3-none-win_amd64.whl.
File metadata
- Download URL: freedyn-1.0.0.post1-py3-none-win_amd64.whl
- Upload date:
- Size: 90.0 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33b3ca7b3bb70373ec0fbc522f78bd1ecac9d88aac72d6cadc998f9080af69f4
|
|
| MD5 |
f2c7dcbe11610d904ad0856560a06247
|
|
| BLAKE2b-256 |
a47b93791f146df9976e49967003bfab55cdc4afa268ed867324396b3c4b3a98
|