Classic

The classic interface implements several fundamental components for defining kinematics, largely based on the physics and classical mechanics modules in SymPy. A few of the objects that are used in MOMDYN are:


MOMDYN provides a front-end interface for interacting with these data types, creating a "Mechanism" object that acts as a container for the various types, and uses them to generate bodies and loads. These are passed to the KanesMethod object to generate equations of motion, simulated using custom numerical algorithms, and reported in text and plot form. The following components are implemented in the classic interface:

Parameter

Front-end for SymPy 'symbols' type

A parameter is a symbolic variable used to represent constants in the model. Typical uses are fixed lengths or angles in vector or frame definitions, mass properties, or spring stiffness and damping.

Parameters

:param name: string

Key to be used when referencing this parameter in the mechanism.p dictionary. Can be entered using LaTeX symbol formatting, i.e. \\theta yields θ, etc

:param value: numeric

Constant value for the parameter

:param description: string

Description of the parameter

:return: string

Message describing the created parameter


Generalized Coordinate

Front-end for SymPy 'dynamicsymbols' type

A generalized coordinate is a symbolic variable representing the mechanism configuration, typically as either a length or angular dimension. It is time-varying, and is alternately termed a degree of freedom. When using the classic interface, the generalized coordinate dialog is used to create the symbolic variable, which is later selected in the frame or vector dialogs as a dimension.

Parameters

:param name: string

Key to be used when referencing this coordinate in the mechanism.q dictionary. Can be entered using LaTeX symbol formatting, i.e. \\theta yields θ, etc

:param initial: numeric

Initial value for the generalized coordinate

:param description: string

Description of the generalized coordinate


Generalized Speed

Front-end for SymPy 'dynamicsymbols' type

A generalized speed is a symbolic variable representing the mechanism motion. It is common to equate a generalized speed to the first derivative of a corresponding generalized speed with respect to time, however, this is not required. In fact, a more compact form of equations of motion are often obtained by using an alternate set of generalized speeds, for example, in free motion of a rigid body it is common to define generalized coordinates as positions relative to the origin in the inertial frame, with generalized speeds being the velocity components in the body-fixed frame.

Parameters

:param name: string

Key to be used when referencing this coordinate in the mechanism.q dictionary. Can be entered using LaTeX symbol formatting, i.e. \\omega yields ω, etc.

:param equates_to: string

Equation representing terms in the point velocity or frame angular velocity equations that will be replaced by this generalized speed.

:param initial: numeric

Initial value for the generalized speed

:param description: string

Description of the generalized speed


Frame

Front-end for SymPy 'ReferenceFrame' type

A reference frame is a set of three orthonormal basis vectors which are rotated relative to the inertial frame, or some intermediate frame.

Parameters

:param ref_point_key: string

Name of the point where the frame will be centered, for visualization in the diagram.

:param ref_frame_key: string

Name of the reference frame from which the relative orientation angles are measured.

:param rotation_sequence: string

Euler angle sequence, for example, 'ZYX' corresponds to a yaw-pitch-roll sequence, where the first_angle is a rotation about the Z-axis of the original reference frame, the second_angle is a rotation about the Y'-axis of an intermediate frame, and the third_angle is a rotation about the X''-axis of a second intermediate frame.

:param first_angle: string or numeric

First rotation angle (i.e. yaw rotation in the 'ZYX' example).

:param second_angle: string or numeric

Second rotation angle (i.e. pitch rotation in the 'ZYX' example).

:param third_angle: string or numeric

Third rotation angle (i.e. roll rotation in the 'ZYX' example.


Vector

Front-end for SymPy 'Vector' type

Create a vector using an existing reference frame and specified distances.

Parameters

:param name: string

Key to be used when referencing this vector in the mechanism.vectors dictionary.

:param start_point: string

Key of the point used to mark the start of the vector.

:param ref_frame_key: string

Key of the frame in which the x, y, z components are measured.

:param x: string

Key of the parameter or generalized coordinate for distance in x- component of the reference frame.

:param y: string

Key of the parameter or generalized coordinate for distance in y- component of the reference frame.

:param z: string

Key of the parameter or generalized coordinate for distance in z- component of the reference frame.


Point

Front-end for SymPy 'Point' type

A point has a location, velocity, and acceleration relative to the inertial reference frame. Points are used to define interfaces between multiple parts in the mechanism, to position bodies (masses and inertias), or as locations of applied forces.

Parameters

:param name: string

Key to be used when referencing this point.

:param ref_point_key: string

Key of the point from which the created points position will be measured.

:param vector_key: string

Key of the vector used to define the position of the created point relative to the reference point.

No comments:

Post a Comment