engineeringkit.mechanical_engineering#

Rigid-body motion, gears, mechanisms and inspectable vibration histories.

Mechanical engineering fundamentals: motion, mechanisms, machines and vibration.

class engineeringkit.mechanical_engineering.SDOFResult(t, displacement, velocity)[source]#

Bases: object

Parameters:
  • t (ndarray)

  • displacement (ndarray)

  • velocity (ndarray)

animate(interval=30)[source]#
displacement: ndarray#
property history#
plot()[source]#
summary()[source]#
t: ndarray#
velocity: ndarray#
engineeringkit.mechanical_engineering.angular_momentum(I, omega)[source]#

Angular momentum.

Parameters:
  • I (kg m^2) – Input in the units stated above.

  • omega (rad/s) – Input in the units stated above.

Returns:

kg m^2/s.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.bearing_l10_life(C, P, p=3)[source]#

Bearing l10 life.

Parameters:
  • C (N) – Input in the units stated above.

  • P (N) – Input in the units stated above.

  • p (1) – Input in the units stated above.

Returns:

revolutions at 90% survival.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.belt_speed(diameter, rpm)[source]#

Belt speed.

Parameters:
  • diameter (m) – Input in the units stated above.

  • rpm (rev/min) – Input in the units stated above.

Returns:

m/s.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.centripetal_force(m, v, r)[source]#

Centripetal force.

Parameters:
  • m (kg) – Input in the units stated above.

  • v (m/s) – Input in the units stated above.

  • r (m) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.damped_frequency(k, m, c)[source]#

Return underdamped frequency, or zero when no oscillation exists.

Parameters:
  • k (N/m) – Input in the units stated above.

  • m (kg) – Input in the units stated above.

  • c (N s/m) – Input in the units stated above.

Returns:

rad/s.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.damping_ratio(c, k, m)[source]#

Damping ratio.

Parameters:
  • c (N s/m) – Input in the units stated above.

  • k (N/m) – Input in the units stated above.

  • m (kg) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.disk_inertia(m, r)[source]#

Disk inertia.

Parameters:
  • m (kg) – Input in the units stated above.

  • r (m) – Input in the units stated above.

Returns:

kg m^2.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.flywheel_energy(I, w1, w2)[source]#

Flywheel energy.

Parameters:
  • I (kg m^2) – Input in the units stated above.

  • w1 (rad/s) – Input in the units stated above.

  • w2 (rad/s) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.fourbar_grashof(lengths)[source]#

Fourbar grashof.

Parameters:

lengths (m) – Input in the units stated above.

Returns:

bool.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.gear_output_speed(input_speed, teeth_driver, teeth_driven)[source]#

Gear output speed.

Parameters:
  • input_speed (rad/s) – Input in the units stated above.

  • teeth_driver (1) – Input in the units stated above.

  • teeth_driven (1) – Input in the units stated above.

Returns:

rad/s.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.gear_output_torque(input_torque, teeth_driver, teeth_driven, efficiency=1)[source]#

Gear output torque.

Parameters:
  • input_torque (N m) – Input in the units stated above.

  • teeth_driver (1) – Input in the units stated above.

  • teeth_driven (1) – Input in the units stated above.

  • efficiency (1) – Input in the units stated above.

Returns:

N m.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.gear_ratio(teeth_driven, teeth_driver)[source]#

Gear ratio.

Parameters:
  • teeth_driven (1) – Input in the units stated above.

  • teeth_driver (1) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.kinetic_energy(m, v)[source]#

Kinetic energy.

Parameters:
  • m (kg) – Input in the units stated above.

  • v (m/s) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.natural_frequency(k, m)[source]#

Natural frequency.

Parameters:
  • k (N/m) – Input in the units stated above.

  • m (kg) – Input in the units stated above.

Returns:

rad/s.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.natural_frequency_hz(k, m)[source]#

Natural frequency hz.

Parameters:
  • k (N/m) – Input in the units stated above.

  • m (kg) – Input in the units stated above.

Returns:

Hz.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.parallel_axis(I_centroid, m, d)[source]#

Parallel axis.

Parameters:
  • I_centroid (kg m^2) – Input in the units stated above.

  • m (kg) – Input in the units stated above.

  • d (m) – Input in the units stated above.

Returns:

kg m^2.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.power_torque(torque, omega)[source]#

Power torque.

Parameters:
  • torque (N m) – Input in the units stated above.

  • omega (rad/s) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.rotating_unbalance_force(m_e, e, omega)[source]#

Rotating unbalance force.

Parameters:
  • m_e (kg) – Input in the units stated above.

  • e (m) – Input in the units stated above.

  • omega (rad/s) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.rotational_energy(I, omega)[source]#

Rotational energy.

Parameters:
  • I (kg m^2) – Input in the units stated above.

  • omega (rad/s) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.screw_torque_raise(load, mean_diameter, lead, mu)[source]#

Screw torque raise.

Parameters:
  • load (N) – Input in the units stated above.

  • mean_diameter (m) – Input in the units stated above.

  • lead (m) – Input in the units stated above.

  • mu (1) – Input in the units stated above.

Returns:

N m.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.simulate_sdof(m, c, k, x0=0, v0=0, t=None, force=None)[source]#

Integrate m*x’’ + c*x’ + k*x = force(t) for a passive linear oscillator.

SI inputs: mass [kg], damping [N s/m], stiffness [N/m], displacement [m], velocity [m/s], time [s], and external force [N]. Constant coefficients and small linear displacements are assumed.

Parameters:
  • m (kg) – Input in the units stated above.

  • c (N s/m) – Input in the units stated above.

  • k (N/m) – Input in the units stated above.

  • x0 (m) – Input in the units stated above.

  • v0 (m/s) – Input in the units stated above.

  • t (s) – Input in the units stated above.

  • force (callable(time [s]) -> force [N] or None) – Input in the units stated above.

Returns:

SDOFResult: time [s], displacement [m], velocity [m/s].

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.slider_crank_displacement(r, l, theta)[source]#

Slider crank displacement.

Parameters:
  • r (m) – Input in the units stated above.

  • l (m) – Input in the units stated above.

  • theta (rad) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.solid_sphere_inertia(m, r)[source]#

Solid sphere inertia.

Parameters:
  • m (kg) – Input in the units stated above.

  • r (m) – Input in the units stated above.

Returns:

kg m^2.

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.transmissibility(r, zeta)[source]#

Transmissibility.

Parameters:
  • r (1 (excitation/natural frequency)) – Input in the units stated above.

  • zeta (1) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.

engineeringkit.mechanical_engineering.work_constant_force(F, d, theta=0)[source]#

Work constant force.

Parameters:
  • F (N) – Input in the units stated above.

  • d (m) – Input in the units stated above.

  • theta (rad) – Input in the units stated above.

Returns:

Return type:

result

Notes

Assumptions, governing equations and validity limits are discussed in Mechanical engineering: power, vibration and mechanism geometry. SI inputs are required; raw numbers carry no dimensional metadata.