eytelwein.belt_conveyor_design.extended.mass_inertia module

Public Pint wrappers for translating-mass and motor-shaft inertia functions.

eytelwein.belt_conveyor_design.extended.mass_inertia.component_inertia_referred_to_motor_shaft(component_inertia: Quantity, gear_ratio_motor_to_component: Quantity, unit: str = 'kilogram * meter**2', precision: int | None = None) Quantity[source]

Convert native component inertia to motor-shaft-equivalent inertia.

Parameters:
  • component_inertia (Quantity) – Native component inertia quantity.

  • gear_ratio_motor_to_component (Quantity) – Dimensionless gear ratio omega_motor / omega_component.

  • unit (str, optional) – Output unit, by default "kilogram * meter**2".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Component inertia referred to the motor shaft in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.drive_pulley_radius_from_drive_pulley_diameter(drive_pulley_diameter: Quantity, unit: str = 'meter', precision: int | None = None) Quantity[source]

Calculate drive pulley radius from drive pulley diameter.

Parameters:
  • drive_pulley_diameter (Quantity) – Drive pulley diameter quantity.

  • unit (str, optional) – Output unit, by default "meter".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Drive pulley radius in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, diameter is not positive, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.fluid_coupling_design_inertia(total_low_speed_inertia: Quantity, gearbox_ratio_motor_to_low_speed_side: Quantity, high_speed_coupling_inertia: Quantity | None = None, high_speed_brake_inertia: Quantity | None = None, gearbox_inertia: Quantity | None = None, flywheel_inertia: Quantity | None = None, unit: str = 'kilogram * meter**2', precision: int | None = None) Quantity[source]

Calculate fluid-coupling design inertia from low-speed total and gearbox ratio.

Reflects total low-speed inertia to motor shaft via gearbox ratio, then sums with high-speed components (coupling, brake, gearbox, flywheel).

Parameters:
  • total_low_speed_inertia (Quantity) – Total low-speed-side inertia quantity.

  • gearbox_ratio_motor_to_low_speed_side (Quantity) – Gearbox ratio omega_motor / omega_low_speed_side quantity.

  • high_speed_coupling_inertia (Quantity | None, optional) – High-speed coupling inertia quantity, by default None (treated as zero).

  • high_speed_brake_inertia (Quantity | None, optional) – High-speed brake inertia quantity, by default None (treated as zero).

  • gearbox_inertia (Quantity | None, optional) – Gearbox inertia (high-speed side) quantity, by default None (treated as zero).

  • flywheel_inertia (Quantity | None, optional) – Flywheel inertia quantity, by default None (treated as zero).

  • unit (str, optional) – Output unit, by default "kilogram * meter**2".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Fluid-coupling design inertia in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.mass_inertia_at_pulley_shaft(translating_mass: Quantity, drive_pulley_radius: Quantity, pulley_inertia_native: Quantity | None = None, unit: str = 'kilogram * meter**2', precision: int | None = None) Quantity[source]

Calculate total inertia at pulley shaft from translating mass and native pulley inertia.

Parameters:
  • translating_mass (Quantity) – Total translating mass quantity.

  • drive_pulley_radius (Quantity) – Drive pulley radius quantity.

  • pulley_inertia_native (Quantity | None, optional) – Native (inherent) pulley inertia quantity, by default None (treated as zero).

  • unit (str, optional) – Output unit, by default "kilogram * meter**2".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Total inertia at pulley shaft in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.total_inertia_for_single_drive(total_low_speed_inertia: Quantity, quantity_of_drives: int, gearbox_ratio_motor_to_low_speed_side: Quantity, high_speed_coupling_inertia: Quantity | None = None, high_speed_brake_inertia: Quantity | None = None, gearbox_inertia: Quantity | None = None, flywheel_inertia: Quantity | None = None, fluid_coupling_inertia: Quantity | None = None, motor_coupling_inertia: Quantity | None = None, motor_inertia: Quantity | None = None, unit: str = 'kilogram * meter**2', precision: int | None = None) Quantity[source]

Calculate per-drive total inertia from shared low-speed and single-drive motor-side components.

Reflects total low-speed inertia to motor shaft via gearbox ratio, divides by quantity_of_drives (to apportion the shared inertia across parallel drives), then adds optional single-drive high-speed and motor-side inertias.

Parameters:
  • total_low_speed_inertia (Quantity) – Total low-speed-side inertia quantity.

  • quantity_of_drives (int) – Number of drives sharing the low-speed inertia. Must be >= 1.

  • gearbox_ratio_motor_to_low_speed_side (Quantity) – Gearbox ratio omega_motor / omega_low_speed_side quantity.

  • high_speed_coupling_inertia (Quantity | None, optional) – High-speed coupling inertia (single drive) quantity, by default None (treated as zero).

  • high_speed_brake_inertia (Quantity | None, optional) – High-speed brake inertia (single drive) quantity, by default None (treated as zero).

  • gearbox_inertia (Quantity | None, optional) – Gearbox inertia on high-speed side (single drive) quantity, by default None (treated as zero).

  • flywheel_inertia (Quantity | None, optional) – Flywheel inertia (single drive) quantity, by default None (treated as zero).

  • fluid_coupling_inertia (Quantity | None, optional) – Fluid-coupling inertia (single drive) quantity, by default None (treated as zero).

  • motor_coupling_inertia (Quantity | None, optional) – Motor coupling inertia (single drive) quantity, by default None (treated as zero).

  • motor_inertia (Quantity | None, optional) – Motor inertia (single drive) quantity, by default None (treated as zero).

  • unit (str, optional) – Output unit, by default "kilogram * meter**2".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Per-drive total inertia in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.total_low_speed_inertia(mass_inertia_at_pulley_shaft: Quantity, low_speed_coupling_inertia: Quantity | None = None, low_speed_brake_inertia: Quantity | None = None, unit: str = 'kilogram * meter**2', precision: int | None = None) Quantity[source]

Calculate total low-speed-side inertia at pulley shaft.

Sums mass inertia at pulley shaft plus optional low-speed coupling and brake inertias.

Parameters:
  • mass_inertia_at_pulley_shaft (Quantity) – Total inertia at pulley shaft quantity.

  • low_speed_coupling_inertia (Quantity | None, optional) – Low-speed coupling inertia quantity, by default None (treated as zero).

  • low_speed_brake_inertia (Quantity | None, optional) – Low-speed brake inertia quantity, by default None (treated as zero).

  • unit (str, optional) – Output unit, by default "kilogram * meter**2".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Total low-speed-side inertia in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.total_translating_mass(translating_mass_idler_carry_value: Quantity, translating_mass_idler_return_value: Quantity, translating_mass_belt_carry_strand_value: Quantity, translating_mass_belt_return_strand_value: Quantity, translating_mass_material_value: Quantity | None = None, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate total translating mass for a conveyor segment.

Parameters:
  • translating_mass_idler_carry_value (Quantity) – Carry-idler translating mass quantity.

  • translating_mass_idler_return_value (Quantity) – Return-idler translating mass quantity.

  • translating_mass_belt_carry_strand_value (Quantity) – Belt translating mass quantity for the carry strand.

  • translating_mass_belt_return_strand_value (Quantity) – Belt translating mass quantity for the return strand.

  • translating_mass_material_value (Quantity | None, optional) – Material translating mass quantity, by default None (treated as zero).

  • unit (str, optional) – Output unit, by default "kilogram".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Total translating mass in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.total_translating_mass_empty(translating_mass_idler_carry_value: Quantity, translating_mass_idler_return_value: Quantity, translating_mass_belt_carry_strand_value: Quantity, translating_mass_belt_return_strand_value: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate total translating mass for empty conveyor.

Parameters:
  • translating_mass_idler_carry_value (Quantity) – Carry-idler translating mass quantity.

  • translating_mass_idler_return_value (Quantity) – Return-idler translating mass quantity.

  • translating_mass_belt_carry_strand_value (Quantity) – Belt translating mass quantity for the carry strand.

  • translating_mass_belt_return_strand_value (Quantity) – Belt translating mass quantity for the return strand.

  • unit (str, optional) – Output unit, by default "kilogram".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Empty-conveyor total translating mass in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.total_translating_mass_loaded(translating_mass_idler_carry_value: Quantity, translating_mass_idler_return_value: Quantity, translating_mass_belt_carry_strand_value: Quantity, translating_mass_belt_return_strand_value: Quantity, translating_mass_material_value: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate total translating mass for loaded conveyor.

This is a thin wrapper around total_translating_mass() with explicit material contribution.

eytelwein.belt_conveyor_design.extended.mass_inertia.translating_mass_belt(belt_line_load: Quantity, segment_length: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate belt translating mass for one strand.

Parameters:
  • belt_line_load (Quantity) – Belt line load quantity for one strand.

  • segment_length (Quantity) – Conveyor segment length quantity.

  • unit (str, optional) – Output unit, by default "kilogram".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Belt translating mass for one strand in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.translating_mass_from_line_load_and_segment_length(line_load: Quantity, segment_length: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate translating mass from line load and segment length.

Parameters:
  • line_load (Quantity) – Translating line load quantity.

  • segment_length (Quantity) – Conveyor segment length quantity.

  • unit (str, optional) – Output unit, by default "kilogram".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Translating mass in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.translating_mass_idler_carry(idler_carry_line_load: Quantity, segment_length: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate carry-idler translating mass.

Parameters:
  • idler_carry_line_load (Quantity) – Carry-idler line load quantity.

  • segment_length (Quantity) – Conveyor segment length quantity.

  • unit (str, optional) – Output unit, by default "kilogram".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Carry-idler translating mass in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.translating_mass_idler_return(idler_return_line_load: Quantity, segment_length: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate return-idler translating mass.

Parameters:
  • idler_return_line_load (Quantity) – Return-idler line load quantity.

  • segment_length (Quantity) – Conveyor segment length quantity.

  • unit (str, optional) – Output unit, by default "kilogram".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Return-idler translating mass in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.translating_mass_inertia_at_pulley_circumference(translating_mass: Quantity, drive_pulley_radius: Quantity, unit: str = 'kilogram * meter**2', precision: int | None = None) Quantity[source]
Calculate translating-mass inertia contribution at pulley circumference.

This function converts the translating mass to an equivalent rotational inertia at the drive pulley circumference.

Parameters:
  • translating_mass (Quantity) – Total translating mass quantity.

  • drive_pulley_radius (Quantity) – Drive pulley radius quantity.

  • unit (str, optional) – Output unit, by default "kilogram * meter**2".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Translating-mass inertia contribution at pulley circumference (low-speed side) in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.

eytelwein.belt_conveyor_design.extended.mass_inertia.translating_mass_material(material_line_load: Quantity, segment_length: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]

Calculate material translating mass.

Parameters:
  • material_line_load (Quantity) – Material line load quantity.

  • segment_length (Quantity) – Conveyor segment length quantity.

  • unit (str, optional) – Output unit, by default "kilogram".

  • precision (int | None, optional) – Decimal rounding precision. Use None to skip rounding.

Returns:

Material translating mass in the requested output unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, physical constraints are violated, or the requested output unit is invalid.