Skip to content
/ metis Public

Project on numerical computation for the dynamics of mechanical systems. Simulation of particle, rigid body and Multibody systems.

License

Notifications You must be signed in to change notification settings

plkinon/metis

Repository files navigation

metis

Metis: Matlab-based simulation of dynamical systems.

See license and acknowledgements.

Citation

If you used this code (partially) in your project or found it somehow useful, please cite one or both of the following works:

@article{kinon_conserving_2024,
  author  = {Kinon, Philipp L. and Betsch, P.},
  title   = {Conserving integration of multibody systems with singular and non-constant mass matrix including quaternion-based rigid body dynamics},
  journal = {Multibody Syst. Dyn.},
  year    = {2024},
  doi     = {10.1007/s11044-024-10001-9}
}

@article{kinon_structure_2023,
  author  = {Kinon, Philipp L. and Betsch, P. and Schneider, S.},
  title   = {Structure-preserving integrators based on a new variational principle for constrained mechanical systems},
  journal = {Nonlinear Dyn.},
  year    = {2023},
  doi     = {10.1007/s11071-023-08522-7},
  note    = {doi: 10.1007/s11071-023-08522-7}
}

@article{kinon_ggl_2023,
  author  = {Kinon, Philipp L. and Betsch, P. and Schneider, S.},
  title   = {The {GGL} variational principle for constrained mechanical systems},
  journal = {Multibody Syst. Dyn.},
  volume  = {57},
  pages   = {211--236},
  year    = {2023},
  doi     = {10.1007/s11044-023-09889-6}
}

Documentation

The full documentation can be found here. See How to Start below.

Description

This project targets the efficient and easy numerical computation of dynamical systems with or without holonomic constraints: particle systems as well as rigid body systems and multibody dynamics.

Metis is an object-oriented MATLAB code package - tested with the R2023b version.

A startscript loads the desired input-file. This input-file includes all necessary parameters for the given mechanical problem (geometry, loads, initial values,...), the chosen numerical integration scheme (time-step size, method, simulation time), the Postprocessing routine (plot quantities, animation, export) and the solution technique (max. iterations, tolerance). Metis creates all necessary objects and computes the approximate solution based on the given parameters. Eventually, one can choose to have an animation of the solution, some plots are created and the results are being exported. The simulation is will be tracked by a log-file ./metis.log.

Prerequisites

Theoretical Background

  • Initial Value Problems (IVP) of Constrained Dynamics leading to Differential-algebraic Equations (DAEs)
  • Numerical Integration (Direct Methods, Variational Integrators, Energy-Momentum Schemes)
  • Newton-Rhapson Method
  • Particle Systems
  • Rigid Body Dynamics
  • Multibody Dynamics

Back To The Top


How To Start

  1. Clone this directory or download the .zip folder
  2. Get matlab2tikz (optional)
  3. Open the MATLAB editor or run it with the shell script metis.sh
  4. Open start_metis_single_analysis.m
  5. Adjust <input_file_name> corresponding to a file from /input, for more info look at README_input
[simulation, system, integrator, solver] = Metis('input/<input_file_name>',1,1);
  1. Adjust the path to the matlab2tikz directory in the chosen input-file
  2. Execute start_metis_single_analysis.m for a first simulation
  3. Edit or change input file or create a new one in /input
  4. For error analyses run start_metis_error_analysis.m with corresponding input-file
  5. Have fun!

Back To The Top


References

Hamiltonian Dynamics and Constraints:

Differential-Algebraic Equations:

Numerical Integration:

Rigid Body Dynamics:

Back To The Top


Author Info

Back To The Top


Acknowledgements

This project was initialized by Philipp L. Kinon during their master thesis at the Institute of Mechanics (IFM) at Karlsruhe Institute of Technology (KIT), Germany. Subsequently, Philipp worked on the code continuously in the context of academic projects. The achieved results would not have been possible without the support and supervision by Prof. Peter Betsch and the other colleagues from the institute.

Coding support:


Back To The Top