Derived Types

TypeLocationExtendsDescription
axial_element_result dynamics_linkage_dynamics None

Defines the instantaneous state and scalar force of an axial element.

axial_force_element dynamics_linkage_dynamics None

Defines an extensible force element between two attachment points. The element force acts along the line from point 1 to point 2. Body index zero denotes a fixed ground point whose coordinates are expressed in world coordinates. Subtypes override evaluate_force to compute a force from the current length and length rate.

beam_element_2d dynamics_beam_elements line_element

Defines a two-dimensional Bernoulli-Euler beam element.

Read more…
beam_element_3d dynamics_beam_elements line_element

Defines a three-dimensional Bernoulli-Euler beam element.

Read more…
binary_link dynamics_linkage link

Defines a link consisting of only two joints. The coordinate system of this link is situated at the distal joint with it's z-axis coincident with the axis of the joint. The link utilizes a Denavit-Hartenberg convention in order to express its geometry.

coordinate_system dynamics_kinematics None

Defines a 3D Cartesian coordinate system.

damper_element dynamics_discrete_elements two_node_discrete_element

Defines a linear, axial viscous damper element. When evaluated with nodal velocities, the element "strain" is the elongation rate and the element "stress" is the damper force (positive in tension).

damper_element_2d dynamics_discrete_elements damper_element

Defines a 2D linear, axial viscous damper element with x and y translations at each node.

damper_element_3d dynamics_discrete_elements damper_element

Defines a 3D linear, axial viscous damper element with x, y, and z translations at each node.

dense_generalized_alpha_integrator dynamics_linear_structural_solvers structural_integrator

Defines a generalized alpha integrator for dense matrix systems.

dh_parameter_set dynamics_kinematics None

Describes a set of Denavit-Hartenberg parameters for a single joint.

Read more…
dh_table dynamics_kinematics None

Describes a Denavit-Hartenberg table.

discrete_element dynamics_discrete_elements element

Defines a discrete (lumped-parameter) element. Discrete elements have no spatial extent; therefore, the stiffness, mass, and damping matrices default to zero and are overridden only where the element contributes to the system. The inherited material is unused.

dynamic_joint dynamics_linkage_dynamics None

Describes one joint constraint in maximal-coordinate body indexing. Body index zero denotes the fixed ground link. Each frame is a homogeneous transform from its associated body frame to the joint frame; for a ground body, the frame is expressed directly in world coordinates. The parent and child joint frames coincide when the joint constraint is satisfied.

dynamic_system_measurement dynamics_system_id None

A container of a single measurement data set.

element dynamics_structural None

Defines an element.

frf dynamics_frequency_response None

A container for a frequency response function, or series of frequency response functions.

graph dynamics_graph None

Defines an undirected multigraph. Multiple edges between the same pair of vertices, as well as self-loops, are permitted.

graph_edge dynamics_graph None

Defines an undirected edge connecting two vertices.

graph_loop dynamics_graph None

Describes an independent loop within the graph. The loop is defined by an edge that is not part of the spanning tree; the loop itself is closed by the tree paths leading to each of the edge's vertices.

graph_path dynamics_graph None

Describes a path through a graph.

joint dynamics_joints None

Defines a kinematic joint connecting two links. The joint attaches to a coordinate frame on each of the two links; the frames are identified by their index within each link. The joint is coincident with both frames when all of its joint variables are zero.

joint_reaction dynamics_linkage_dynamics None

Defines the constraint reaction exerted by a joint on its child link. Both vectors are expressed in the world coordinate frame. The reaction exerted on the parent link is equal and opposite.

kinematic_mechanism dynamics_parallel_linkage None

Defines the behavior common to all multi-link mechanisms, including those containing closed kinematic loops. The joint variables of the mechanism are collected into a single array; the variables belonging to each joint appear in the order in which the joints were supplied.

line dynamics_geometry None

Defines the parametric form of a line

line_element dynamics_structural element

Defines a line element type.

linear_damper dynamics_linkage_dynamics axial_force_element

Defines a linear viscous damper acting only along the element axis.

linear_spring dynamics_linkage_dynamics axial_force_element

Defines a linear axial spring supporting tension and compression.

link dynamics_linkage rigid_body

Defines the base class for a link within a mechanism. A link is a rigid body that carries one coordinate frame for each joint that may attach to it.

link_container dynamics_parallel_linkage None

A container allowing a collection of differing link types to be stored within a single array.

linkage_dynamic_model dynamics_linkage_dynamics None

Defines the variational-integrator representation of a linkage. Body index zero in a joint descriptor denotes the fixed ground link.

mass_element dynamics_discrete_elements discrete_element

Defines a translational point mass element attached to a single node.

mass_element_2d dynamics_discrete_elements mass_element

Defines a 2D translational point mass element with x and y translations.

mass_element_3d dynamics_discrete_elements mass_element

Defines a 3D translational point mass element with x, y, and z translations.

material dynamics_structural None

Defines a linear-elastic-isotropic material.

mimo_frf dynamics_frequency_response None

A container for the frequency responses of a system of multiple inputs and multiple outputs (MIMO).

model_information dynamics_system_id None

A container for model information.

multi_joint_link dynamics_linkage link

Defines a link carrying an arbitrary number of joint coordinate frames. This type is suitable for the ternary and higher-order links found in closed-loop mechanisms.

node dynamics_structural point

Defines a node.

parallel_linkage dynamics_parallel_linkage kinematic_mechanism

Defines a spatial, closed-loop linkage. Each independent loop within the mechanism contributes six loop-closure constraint equations.

planar_linkage dynamics_parallel_linkage kinematic_mechanism

Defines a planar, closed-loop linkage operating within the x-y plane. Each independent loop within the mechanism contributes three loop-closure constraint equations, avoiding the redundant equations that arise when a planar mechanism is analyzed in three dimensions.

Read more…
plane dynamics_geometry None

Defines a plane as

plucker_line dynamics_geometry None

Defines a line in 3D Euclidean space using Plücker coordinates. For a point and direction , the coordinates are with and .

point dynamics_geometry None

Defines a point in 3D, Cartesian space.

quaternion dynamics_quaternions None

Defines a quaternion of the form Its norm is ; unit quaternions represent three-dimensional rotations.

rectangular_shell_element dynamics_shell_elements shell_element

Defines a four-node flat shell element.

Read more…
rigid_body dynamics_rigid_bodies None

Defines a rigid body with mass properties about its center of mass. The translational and rotational kinetic energies are represented by

serial_linkage dynamics_linkage None

Defines a serial linkage.

shell_element dynamics_shell_elements element

Defines a flat shell element with six degrees of freedom per node (three translations and three rotations).

spanning_tree dynamics_graph None

Describes a spanning tree of a graph as generated by a breadth-first traversal.

sparse_generalized_alpha_integrator dynamics_linear_structural_solvers structural_integrator

Defines a generalized alpha integrator for sparse matrix systems.

spring_element dynamics_discrete_elements two_node_discrete_element

Defines a linear, axial spring element. The element "strain" is the spring elongation and the element "stress" is the spring force (positive in tension).

spring_element_2d dynamics_discrete_elements spring_element

Defines a 2D linear, axial spring element with x and y translations at each node.

spring_element_3d dynamics_discrete_elements spring_element

Defines a 3D linear, axial spring element with x, y, and z translations at each node.

state_space dynamics_controls None

Defines a state-space representation of a dynamic system. This implementation takes the form:

Read more…
structural_integrator dynamics_linear_structural_solvers None

Base class for linear structural time integrators.

torsional_damper dynamics_linkage_dynamics torsional_force_element

Defines a linear damper opposing only joint-axis twist rate.

torsional_element_result dynamics_linkage_dynamics None

Defines the instantaneous twist state and torque of a torsional element.

torsional_force_element dynamics_linkage_dynamics None

Defines an extensible torsional element bound to a revolute joint.

torsional_spring dynamics_linkage_dynamics torsional_force_element

Defines a linear torsional spring about a revolute-joint axis.

transfer_function dynamics_controls None

Defines a transfer function for a continuous system of the form .

triangular_shell_element dynamics_shell_elements shell_element

Defines a three-node flat shell element.

Read more…
truss_element_2d dynamics_truss_elements line_element

Defines a pin-jointed 2D bar with x and y translations per node. Use the parent mass_matrix and the global axial stiffness override.

truss_element_3d dynamics_truss_elements line_element

Defines a pin-jointed 3D bar with three translations per node. The local transverse axes are arbitrary; only the longitudinal direction influences axial strain and stiffness.

two_node_discrete_element dynamics_discrete_elements discrete_element

Defines a discrete element that connects two nodes and acts along a single axis.

variational_integrator dynamics_variational_integrators None

Implements the maximal-coordinate variational integrator in Brudigam et al. (2023), equations (18)-(20). The nonlinear system is solved with damped Newton iterations and either dense LU or the paper's graph-structured block factorization.

variational_integrator_info dynamics_variational_integrators None

Reports convergence diagnostics for a step or trajectory solve.

variational_integrator_settings dynamics_variational_integrators None

Defines numerical settings for the nonlinear variational step.

variational_state dynamics_variational_integrators None

Defines the maximal-coordinate state of a collection of rigid bodies. Angular velocities and inertia tensors are expressed in each body's frame. Positions, translational velocities, forces, and orientations use the world frame.