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.5-cp313-cp313-win_amd64.whl (98.1 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Hashes for freedyn-1.0.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3210cd4b1a5eeb044b886ed834c41c4ee1e9492bdddea23a3e58bd8df303103d
MD5 4d43c8401e3a9d5a7a5cbaa40ff6615c
BLAKE2b-256 b91954195bb78f5081ea1e94aacc65b1e07b56638dba4d68a3cf20e9ecbd74ac

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