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 Distributions

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

freedyn-1.0.6.post1-cp314-cp314-win_amd64.whl (101.8 MB view details)

Uploaded CPython 3.14Windows x86-64

freedyn-1.0.6.post1-cp313-cp313-win_amd64.whl (102.5 MB view details)

Uploaded CPython 3.13Windows x86-64

File details

Details for the file freedyn-1.0.6.post1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for freedyn-1.0.6.post1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 eac8c8d6ad8bb361fec8a0581b4ed5d145dff1ba076eec3c8ebaac769f6beed9
MD5 31f358ddda0b55d08e83bd286a4f188e
BLAKE2b-256 d30ccead1d77b0b4d5c750ce9e275cae5b688e00e79d0d5eddf5d9e673a85817

See more details on using hashes here.

File details

Details for the file freedyn-1.0.6.post1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for freedyn-1.0.6.post1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b7c5598d084d4e4e3a7609a9584f9747c8865019f6d3105f63d17d8763d6b1af
MD5 d203bf337240f1c6df2b570593c6c25a
BLAKE2b-256 daaf361120f16aa3447b1f1754b4667de8fb0b9c1e1eb040e478a13e95703fb6

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