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

Documentation

Quick Start (Python)

  1. Install from the extracted release directory:
pip install .
  1. Run a model from the CLI:
freedyn-run path/to/model.fds
  1. 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

  • Python API - Programmatic simulation and analysis
  • MATLAB interface - Integration with MATLAB workflows
  • Scilab interface - Open-source alternative to MATLAB
  • C interface (CDLL) - Direct DLL linking for other languages

Architecture

FreeDyn consists of several core components:

  • freedyn.dll - C-interface Dynamic Link Library (core solver)
  • Python bindings - High-level API (Model, ModelInfo, analysis functions)
  • CLI tool - Command-line interface (freedyn-run)
  • GUI/CLI tools - Pre- and post-processing

Requirements

Runtime

  • Windows (tested on Windows 7, 10, 11)
  • Visual C++ Redistributable (included in release)
  • Intel MKL library (included in release)

Development (for bindings)

  • Python 3.8+
  • numpy
  • scipy

License

FreeDyn is released under the GNU Lesser General Public License v3.

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

To contribute to FreeDyn, please:

  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.0.post1-py3-none-win_amd64.whl (90.0 MB view details)

Uploaded Python 3Windows x86-64

File details

Details for the file freedyn-1.0.0.post1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for freedyn-1.0.0.post1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 33b3ca7b3bb70373ec0fbc522f78bd1ecac9d88aac72d6cadc998f9080af69f4
MD5 f2c7dcbe11610d904ad0856560a06247
BLAKE2b-256 a47b93791f146df9976e49967003bfab55cdc4afa268ed867324396b3c4b3a98

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