Skip to content

Python code for automatic detection of kinematic substructures in complex mechanisms

Notifications You must be signed in to change notification settings

kwehage/kinematic-substructuring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

This git repository contains a Python script that demonstrates the kinematic substructuring algorithm described in Generalized coordinate partitioning for complex mechanisms based on kinematic substructuring (doi:10.1016/j.mechmachtheory.2015.06.006).

Kinematic substructuring is a graph partitioning algorithm applied to the directed graph of a multibody system with multiple loops. In the algorithm, independent, non-overlapping chord loops are identified and assigned to substructures. Bodies and joints are then reordered according to their substructure assignments, resulting in a block-diagonalized Jacobian matrix. Generalized Coordinate Partitioning, a numerical method used to identify the optimal set of independent and dependent system coordinates, can then be applied to each block matrix independently. The graph partitioning and block-diagonalization results in a significant reduction in floating point operations required compared to full dense matrix decomposition and increased opportunities for vectorization compared to sparse matrix decomposition. Refer to the linked article for more specific details on the algorithm.

Copyright 2015 Kristopher Wehage University of California-Davis

About

Python code for automatic detection of kinematic substructures in complex mechanisms

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages