Skip to main content

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

Quick Start

Option A – GUI (no programming required)

  1. Download and extract the release ZIP
  2. Run bin\x64_MD\Freedyn_GUI.exe from the extracted folder
  3. 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:

  1. Install the Python bindings from the extracted release directory:
    cd C:\FreeDyn
    pip install .
    
  2. Run a model from the command line:
    freedyn-run path/to/model.fds
    
  3. 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

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:

  1. Check existing issues
  2. Follow the coding guidelines
  3. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

freedyn-1.0.3-cp313-cp313-win_amd64.whl (95.6 MB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file freedyn-1.0.3-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: freedyn-1.0.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 95.6 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

Hashes for freedyn-1.0.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1382723c2923fa53ad92c3cdd7bb7a7a7131e58256f812db44ce31999c8fc47e
MD5 4ce35ac1f73ec84798c4f6b96f40b5ea
BLAKE2b-256 86895a7385aec3539b4412a6b81c128ca270eeb40e571a7a7dd522af3a3b0867

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page