ross.Mesh#

class ross.Mesh(driving_gear, driven_gear, gear_mesh_stiffness=None, square_varying_stiffness=False, square_stiffness_amplitude_ratio=0, orientation_angle=0)#

Represents the meshing behavior between two gears in contact including stiffness and contact ratio calculations.

Examples

>>> from ross.materials import steel
>>> driving = GearElementTVMS(
...    n=0,
...    material=steel,
...    width=0.02,
...    bore_diameter=0.0175 * 2,
...    module=0.002,
...    n_teeth=62,
...    pr_angle=0.349066
... )
>>> driven = GearElementTVMS(
...    n=2,
...    material=steel,
...    width=0.02,
...    bore_diameter=0.0175 * 2,
...    module=0.002,
...    n_teeth=62,
...    pr_angle=0.349066
... )
>>> mesh = Mesh(driving, driven)
>>> mesh.stiffness # doctest : +ELLIPSIS
419603831.338...

Methods

__init__(driving_gear, driven_gear, gear_mesh_stiffness=None, square_varying_stiffness=False, square_stiffness_amplitude_ratio=0, orientation_angle=0)#
get_stiffness_for_mesh_period(n_mesh_period=1, n_points=1000)#

Computes the mesh stiffness profile over a specified number of gear mesh periods.

Parameters:
n_mesh_periodint, optional

Number of mesh periods to evaluate. Default is 1.

n_pointsint, optional

Number of angular sample points to compute within the total range. Default is 1000.

Returns:
theta_rangenp.ndarray

Array of angular positions (rad) spanning the specified mesh periods.

stiffness_rangelist of float

List of stiffness values corresponding to each angular position.

get_variable_stiffness(angular_position)#

Calculate the variable stiffness of a gear pair.

This method computes the equivalent stiffness of a gear mesh at a given angular position, taking into account the periodic nature of the meshing process and the contact ratio of the gear pair. It is assumed constant rotor speed.

Parameters:
angular_positionfloat

Gear angular position for which the meshing stiffness is calculated (rad).

Returns:
stiffnessfloat

The total equivalent meshing stiffness at the given angular position.

interpolate_stiffness(angular_position)#

Interpolates the mesh stiffness value at a given angular position.

Parameters:
angular_positionfloat or array-like

Angular position(s) at which to evaluate the stiffness (rad).

Returns:
stiffnessfloat or np.ndarray

Interpolated stiffness value(s) in N/m.

plot_stiffness_profile(n_mesh_period=1, n_points=1000, angle_units='rad', stiffness_units='N/m', **kwargs)#

Plots the gear mesh stiffness profile over one or more meshing periods.

Parameters:
n_mesh_periodint, optional

Number of mesh periods to plot. Default is 1.

n_pointsint, optional

Number of data points to evaluate for the stiffness profile. Default is 1000.

angle_unitsstr, optional

Units for the angular position axis. Default is ‘rad’.

stiffness_unitsstr, optional

Units for the stiffness axis. Default is ‘N/m’.

**kwargsdict, optional

Additional keyword arguments passed to plotly.graph_objects.Figure.update_layout for customizing the figure (e.g., title, font, size, legend settings, etc.).