| Type | Location | Extends | Description |
|---|---|---|---|
| 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. |
| beam_element_3d | dynamics_beam_elements | line_element | Defines a three-dimensional Bernoulli-Euler beam element. |
| 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. |
| 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. |
| 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. |
| 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: |
| 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. |
| 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. |