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
Metadata
Release files for freedyn 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| freedyn-1.1.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details for freedyn-1.1.0-py3-none-win_amd64.whl |
Release files / freedyn-1.1.0-py3-none-win_amd64.whl
| Download URL | freedyn-1.1.0-py3-none-win_amd64.whl |
|---|---|
| Size | 97.3 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a668d7cd87059dedd14edade29d1500241296a0c95bdac731c85c677e0440ead
|
|
BLAKE2b-256 checksum How to use checksums |
c3f16db1565d1e4a9f7598aaa1872b92daaba580de9fca50717a1536a2d90f5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Security for freedyn 1.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.