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
Download
Download the latest release as a ZIP archive from GitHub Releases.
Documentation
- Getting Started - Installation and first steps (GUI & Python)
- C API - Canonical C header location and ABI conventions
- Examples - Python code examples and tutorials
- Release Notes - What's new
Quick Start
Option A – GUI (no programming required)
- Download and extract the release ZIP
- Run
bin\x64_MD\Freedyn_GUI.exefrom the extracted folder - Open a model file (
.fds) and start simulating
No Python or other tools required.
Option B – Python Scripting
For automated simulations, custom analysis, and batch processing:
- Install the Python bindings from the extracted release directory:
cd C:\FreeDyn pip install .
- Run a model from the command line:
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
- GUI - Pre- and post-processing with
Freedyn_GUI.exe - Python API - Programmatic simulation and analysis
- MATLAB API - Scripting via
freedyn_api.m+ Simulink integration - Scilab API - Scripting via
freedyn_api.sce(uses MT variant) - C interface (CDLL) - Direct DLL linking for other languages (see
include/freedyn/freedyn_c_api.h)
Architecture
FreeDyn consists of several components:
- Freedyn_GUI.exe - Graphical pre- and post-processor
- freedyn.dll - Core MBS solver (C-interface Dynamic Link Library)
- Python bindings - High-level API for scripting and analysis (open source)
- CLI tool - Command-line interface (
freedyn-run)
Requirements
GUI / Standalone Use
- Windows 7 or later (64-bit)
- Visual C++ Redistributable (included in release)
- Intel MKL runtime (included in release)
Python Bindings (optional)
- Python 3.8+
- numpy, scipy
License
FreeDyn is released under the GNU Lesser General Public License v3.
The Python bindings (source code in this repository) are open source.
The binary components (freedyn.dll, Freedyn_GUI.exe, etc.) are distributed
as pre-built binaries via GitHub Releases.
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
Contributions to the Python bindings are welcome:
- 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.5-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: freedyn-1.0.5-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 98.1 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3210cd4b1a5eeb044b886ed834c41c4ee1e9492bdddea23a3e58bd8df303103d
|
|
| MD5 |
4d43c8401e3a9d5a7a5cbaa40ff6615c
|
|
| BLAKE2b-256 |
b91954195bb78f5081ea1e94aacc65b1e07b56638dba4d68a3cf20e9ecbd74ac
|