Joints

Mechanical joints are typical of modern multibody software, and combine attributes of the fundamental objects found in the classic interface. A good reference to common joint definitions may be found in the documentation for the open-source Modelica project, in the OpenModelica Mechanics Multibody package. While MOMDYN does not use Modelica  code, I will attempt to use similar terminology and input parameters where applicable.

Prismatic Joint

Front-end for SymPy 'symbols', 'dynamicsymbols', 'Vector' and 'Point' types

A prismatic joint creates a point that is translated relative to an existing point with vector components defined in a specified reference frame. The joint is analogous to creating a vector and point using the classic interface. The vector component can be constant valued, or a degree of freedom (DOF) may be generated where the point can translate in the unit vector direction. If the DOF form is chosen, then an optional linear stiffness, damping, and equilibrium distance can be used to include translational spring-damper physics in the joint.

Parameters

:param name: string

Name given to the joint, default is uppercase characters in alphabetical order (A, B, C, ...)

:param ref_point_key: string

Start point from which the vector component of the joint is defined

:param ref_frame_key: string

Reference frame in which the components of the vector are defined, with basis vectors e_x, e_y, and e_z

:param is_form: string

'constant' or 'degree of freedom'

Vector Components

:param x: numeric

Component of the unit vector measured in the x-axis of the reference frame

:param y: numeric

Component of the unit vector measured in the y-axis of the reference frame

:param z: numeric

Component of the unit vector measured in the z-axis of the reference frame

Initial States (DOF)

:param value: numeric

Initial value for the generalized coordinate if is_form == 'degree of freedom'

:param rate: numeric

Initial value for the generalized speed if is_form == 'degree of freedom'

Spring Parameters

:param k: numeric

Spring constant

:param c: numeric

Damping constant

:param equilibrium: numeric

Equilibrium distance

Revolute Joint

Front-end for SymPy 'symbols', 'dynamicsymbols', and 'Frame' types

A revolute joint creates a frame that is rotated relative to an existing frame about an axis defined in a specified reference frame. The angular component can be constant valued, or a degree of freedom (DOF) may be generated. If the DOF form is chosen, then an optional rotational stiffness, damping, and equilibrium angle can be used to include rotational spring-damper physics in the joint.

Parameters

:param name: string

Name given to the joint, default is uppercase characters in alphabetical order (A, B, C, ...)

:param ref_point_key: string

Point at which the joint is displayed

:param ref_frame_key: string

Reference frame in which the components of the rotation axis are defined

:param is_form: string

'constant' or 'degree of freedom'

Rotation Axis Components

:param x: numeric

Component of the rotation axis measured in the x-axis of the reference frame

:param y: numeric

Component of the rotation axis measured in the y-axis of the reference frame

:param z: numeric

Component of the rotation axis measured in the z-axis of the reference frame

Initial States (DOF)

:param value: numeric

Initial value for the generalized coordinate if is_form == 'degree of freedom'

:param rate: numeric

Initial value for the generalized speed if is_form == 'degree of freedom'

Spring Parameters

:param k: numeric

Spring constant

:param c: numeric

Damping constant

:param equilibrium: numeric

Equilibrium distance


Planar Joint

Front-end for SymPy 'symbols', 'dynamicsymbols', 'Frame', and 'Point' types

A planar joint creates a point that is translated by two components coordinates defined in the reference frame, and a frame that is rotated relative to an existing frame about an axis that is normal to the two components. The components can be constant valued, or a three degrees of freedom (DOF) form may be generated. If the DOF form is chosen, then optional stiffness, damping, and equilibrium coefficients can be used to include translational and rotational spring-damper physics in the joint.

Parameters

:param name: string

Name given to the joint, default is uppercase characters in alphabetical order (A, B, C, ...)

:param ref_point_key: string

Start point from which the vector component of the joint is defined

:param ref_frame_key: string

Reference frame in which the translational and rotational displacement components are defined

:param is_form: string

'constant' or 'degree of freedom'

:param normal_axis: string

'Z', 'Y', or 'X'. Represents the axis about which rotation is defined, and normal to the plane in which the translational coordinates are defined. If 'Z', then the (x, y) axis pair of the reference frame will be used for the translational DOFs, if 'Y' then (z, x), and if 'X' then (y, z)

:param velocity_in: string

'Reference Frame' or 'Created Frame'

Initial Values

:param initial_t0: numeric

Initial value in the 0^{th} translational coordinate

:param initial_t1: numeric

Initial value in the 1^{st} translational coordinate

:param initial_r: numeric

Initial value for rotation

:param rate_t0: numeric

Initial speed in the 0^{th} translational coordinate

:param rate_t1: numeric

Initial speed in the 1^{st} translational coordinate

:param rate_r: numeric

Initial speed for rotation

Spring Parameters

:param kt0: numeric

Stiffness in the 0^{th} translational coordinate

:param kt1: numeric

Stiffness in the 1^{st} translational coordinate

:param kr: numeric

Stiffness for rotation

:param ct0: numeric

Damping in the 0^{th} translational coordinate

:param ct1: numeric

Damping in the 1^{st} translational coordinate

:param cr: numeric

Rotational damping

:param equilibrium_t0: numeric

Equilibrium distance in the 0^{th} translational coordinate

:param equilibrium_t1: numeric

Equilibrium distance in the 1^{st} translational coordinate

:param equilibrium_r: numeric

Equilibrium angle


Free Motion Joint

A free motion joint creates a point that is translated by three components coordinates defined in the reference frame, and a frame that is rotated relative to an existing frame using a quaternion to define its orientation. Initial quaternion values are defined using an equivalent Euler angle sequence. The components can be constant valued, or a six degrees of freedom (DOF) form may be generated. If the DOF form is chosen, then optional stiffness, damping, and equilibrium coefficients can be used to include translational and rotational spring-damper physics in the joint.

Parameters

:param name: string

Name given to the joint, default is uppercase characters in alphabetical order (A, B, C, ...)

:param ref_point_key: string

Start point from which the vector component of the joint is defined

:param ref_frame_key: string

Reference frame in which the translational and rotational displacement components are defined

:param is_form: string

'constant' or 'degree of freedom'

:param rotation_sequence: string

'ZYX', Represents the Euler angle sequence used for defining equivalent initial quaternion states

Initial Values

:param initial_t0: numeric

Initial value for displacement in the x-axis of the reference frame

:param initial_t1: numeric

Initial value for displacement in the y-axis of the reference frame

:param initial_t2: numeric

Initial value for displacement in the z-axis of the reference frame

:param initial_r0: numeric

Initial value for the 0^{th} rotation angle in the Euler sequence

:param initial_r1: numeric

Initial value for the 1^{st} rotation angle in the Euler sequence

:param initial_r2: numeric

Initial value for the 2^{nd} rotation angle in the Euler sequence

:param rate_t0: numeric

Initial value for the velocity component in the x-axis of the created frame

:param rate_t1: numeric

Initial value for the velocity component in the y-axis of the created frame

:param rate_t2: numeric

Initial value for the velocity component in the z-axis of the created frame

:param rate_r0: numeric

Initial value for angular rotation rate about the x-axis of the created frame

:param rate_r1: numeric

Initial value for angular rotation rate about the y-axis of the created frame

:param rate_r2: numeric

Initial value for angular rotation rate about the z-axis of the created frame

Spring Parameters

:param kt0: numeric

Stiffness corresponding to displacement in the x-axis of the reference frame

:param kt1: numeric

Stiffness corresponding to displacement in the y-axis of the reference frame

:param kt2: numeric

Stiffness corresponding to displacement in the z-axis of the reference frame

:param kr0: numeric

Stiffness corresponding to the 0^{th} rotation angle in the Euler sequence

:param kr1: numeric

Stiffness corresponding to the 1^{st} rotation angle in the Euler sequence

:param kr2: numeric

Stiffness corresponding to the 2^{nd} rotation angle in the Euler sequence

:param ct0: numeric

Damping corresponding to the velocity component in the x-axis of the created frame

:param ct1: numeric

Damping corresponding to the velocity component in the y-axis of the created frame

:param ct2: numeric

Damping corresponding to the velocity component in the z-axis of the created frame

:param cr0: numeric

Damping corresponding to the angular rotation rate about the x-axis of the created frame

:param cr1: numeric

Stiffness corresponding to the angular rotation rate about the y-axis of the created frame

:param cr2: numeric

Stiffness corresponding to the angular rotation rate about the z-axis of the created frame

:param equilibrium_t0: numeric

Equilibrium corresponding to displacement in the x-axis of the reference frame

:param equilibrium_t1: numeric

Equilibrium corresponding to displacement in the y-axis of the reference frame

:param equilibrium_t2: numeric

Equilibrium corresponding to displacement in the z-axis of the reference frame

:param equilibrium_r0: numeric

Equilibrium corresponding to the 0^{th} rotation angle in the Euler sequence

:param equilibrium_r1: numeric

Equilibrium corresponding to the 1^{st} rotation angle in the Euler sequence

:param equilibrium_r2: numeric

Equilibrium corresponding to the 2^{nd} rotation angle in the Euler sequence


No comments:

Post a Comment