eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system module

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.angle_of_inclination_from_horizontal_length_and_lift(horizontal_length: Quantity, lift: Quantity, unit: str = 'degree', precision: int | None = None) → Quantity[source]

Calculate the angle of inclination from horizontal length and lift.

The angle of inclination is the angle between the horizontal plane and the conveyor belt. It is calculated based on the horizontal length and the vertical lift of the conveyor.

Parameters:
  • horizontal_length (Quantity) – The horizontal length of the conveyor belt. Can be in any length unit.

  • lift (Quantity) – The vertical lift of the conveyor belt. Can be in any length unit.

  • unit (str, optional) – The unit for the returned angle. Defaults to “degree”.

  • precision (int | None, optional) – The number of decimal places to round the result to. Defaults to None. Use None to skip rounding and retain maximum available precision.

Returns:

The angle of inclination with the specified unit.

Return type:

Quantity

Raises:

ValueError – If horizontal_length is zero, or if units cannot be converted.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.belt_speed_from_motor_revolutions_gear_ratio_and_pulley_diameter(motor_revolutions: Quantity, gear_ratio: Quantity, pulley_diameter: Quantity, unit: str = 'meter / second', precision: int | None = None) → Quantity[source]

Calculate the belt speed from motor revolutions, gear ratio, and pulley diameter.

Parameters:
  • motor_revolutions (Quantity) – Motor speed [revolution / time], must be non-negative.

  • gear_ratio (Quantity) – Gearbox transmission ratio i = n_motor / n_pulley [dimensionless], must be positive.

  • pulley_diameter (Quantity) – Effective pulley diameter at the belt contact, including lagging [length], must be positive.

  • unit (str, optional) – Output unit for the belt speed (default is “meter / second”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Belt speed in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, motor_revolutions is negative, or gear_ratio or pulley_diameter is not positive.

Notes

v = pi * D_eff * n_motor / i, with D_eff = D_shell + 2 * t_lagging

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.belt_speed_from_pulley_revolutions(revolutions: Quantity, pulley_diameter: Quantity, unit: str = 'meter/second', precision: int | None = None) → Quantity[source]

Calculate the belt speed from the pulley revolutions.

Parameters:
  • revolutions (Quantity) – The number of revolutions value with units.

  • pulley_diameter (Quantity) – The pulley diameter value with units.

  • unit (str, optional) – The unit for the output belt speed (default is “meter/second”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The belt speed in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.effective_pulley_diameter_from_shell_diameter_and_lagging_thickness(shell_diameter: Quantity, lagging_thickness: Quantity, unit: str = 'meter', precision: int | None = None) → Quantity[source]

Calculate the effective pulley diameter from shell diameter and lagging thickness.

The effective diameter is measured at the belt contact surface and is the diameter to use in belt speed calculations.

Parameters:
  • shell_diameter (Quantity) – Pulley shell diameter [length], must be positive.

  • lagging_thickness (Quantity) – Lagging thickness [length], must be non-negative.

  • unit (str, optional) – Output unit for the effective pulley diameter (default is “meter”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Effective pulley diameter in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, shell_diameter is not positive, or lagging_thickness is negative.

Notes

D_eff = D_shell + 2 * t_lagging

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.gear_ratio_from_belt_speed_motor_revolutions_and_pulley_diameter(belt_speed: Quantity, motor_revolutions: Quantity, pulley_diameter: Quantity, unit: str = 'dimensionless', precision: int | None = None) → Quantity[source]

Calculate the gear ratio from belt speed, motor revolutions, and pulley diameter.

Parameters:
  • belt_speed (Quantity) – Belt speed [length / time], must be positive.

  • motor_revolutions (Quantity) – Motor speed [revolution / time], must be positive.

  • pulley_diameter (Quantity) – Effective pulley diameter at the belt contact, including lagging [length], must be positive.

  • unit (str, optional) – Output unit for the gear ratio (default is “dimensionless”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Gearbox transmission ratio in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, or belt_speed, motor_revolutions, or pulley_diameter is not positive.

Notes

i = pi * D_eff * n_motor / v

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.gear_ratio_from_motor_revolutions_and_pulley_revolutions(motor_revolutions: Quantity, pulley_revolutions: Quantity, unit: str = 'dimensionless', precision: int | None = None) → Quantity[source]

Calculate the gear ratio from motor and pulley revolutions.

Parameters:
  • motor_revolutions (Quantity) – Motor speed [revolution / time], must be positive.

  • pulley_revolutions (Quantity) – Pulley speed [revolution / time], must be positive.

  • unit (str, optional) – Output unit for the gear ratio (default is “dimensionless”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Gearbox transmission ratio in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, or either speed is not positive.

Notes

i = n_motor / n_pulley

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.lagging_thickness_from_effective_and_shell_diameter(effective_pulley_diameter: Quantity, shell_diameter: Quantity, unit: str = 'millimeter', precision: int | None = None) → Quantity[source]

Calculate the lagging thickness from effective and shell diameters.

Parameters:
  • effective_pulley_diameter (Quantity) – Effective pulley diameter at the belt contact [length], must be positive and not smaller than shell_diameter.

  • shell_diameter (Quantity) – Pulley shell diameter [length], must be positive.

  • unit (str, optional) – Output unit for the lagging thickness (default is “millimeter”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Lagging thickness in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, either diameter is not positive, or effective_pulley_diameter is smaller than shell_diameter.

Notes

t_lagging = (D_eff - D_shell) / 2

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.mechanical_power_from_torque_and_belt_speed(torque: Quantity, belt_speed: Quantity, pulley_diameter: Quantity, unit: str = 'kilowatt', precision: int | None = None) → Quantity[source]

Calculate the mechanical power from the torque, belt speed, and pulley diameter.

Parameters:
  • torque (Quantity) – The torque value with units.

  • belt_speed (Quantity) – The belt speed value with units.

  • pulley_diameter (Quantity) – The pulley diameter value with units.

  • unit (str, optional) – The unit for the output mechanical power (default is “kilowatt”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The mechanical power in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.mechanical_power_from_torque_and_revolutions(torque: Quantity, revolutions: Quantity, unit: str = 'kilowatt', precision: int | None = None) → Quantity[source]

Calculate the mechanical power from the torque and revolutions.

Parameters:
  • torque (Quantity) – The torque value with units.

  • revolutions (Quantity) – The number of revolutions value with units.

  • unit (str, optional) – The unit for the output mechanical power (default is “kilowatt”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The mechanical power in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.mechanical_torque_from_belt_force(belt_force: Quantity, pulley_diameter: Quantity, unit: str = 'newton * meter', precision: int | None = None) → Quantity[source]

Calculate the mechanical torque from the belt force and pulley diameter.

Parameters:
  • belt_force (Quantity) – The belt force value with units.

  • pulley_diameter (Quantity) – The pulley diameter value with units.

  • unit (str, optional) – The unit for the output mechanical torque (default is “newton * meter”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The mechanical torque in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.motor_revolutions_from_belt_speed_gear_ratio_and_pulley_diameter(belt_speed: Quantity, gear_ratio: Quantity, pulley_diameter: Quantity, unit: str = 'rps', precision: int | None = None) → Quantity[source]

Calculate the motor revolutions from belt speed, gear ratio, and pulley diameter.

Parameters:
  • belt_speed (Quantity) – Belt speed [length / time], must be positive.

  • gear_ratio (Quantity) – Gearbox transmission ratio i = n_motor / n_pulley [dimensionless], must be positive.

  • pulley_diameter (Quantity) – Effective pulley diameter at the belt contact, including lagging [length], must be positive.

  • unit (str, optional) – Output unit for the motor revolutions (default is “rps”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Motor speed in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, or belt_speed, gear_ratio, or pulley_diameter is not positive.

Notes

n_motor = v * i / (pi * D_eff)

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.motor_revolutions_from_pulley_revolutions_and_gear_ratio(pulley_revolutions: Quantity, gear_ratio: Quantity, unit: str = 'rps', precision: int | None = None) → Quantity[source]

Calculate the motor revolutions from pulley revolutions and gear ratio.

Parameters:
  • pulley_revolutions (Quantity) – Pulley speed [revolution / time], must be non-negative.

  • gear_ratio (Quantity) – Gearbox transmission ratio i = n_motor / n_pulley [dimensionless], must be positive.

  • unit (str, optional) – Output unit for the motor revolutions (default is “rps”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Motor speed in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, pulley_revolutions is negative, or gear_ratio is not positive.

Notes

n_motor = n_pulley * i

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.motor_revolutions_from_synchronous_revolutions_and_slip(synchronous_revolutions: Quantity, slip: Quantity, unit: str = 'rps', precision: int | None = None) → Quantity[source]

Calculate the motor revolutions from synchronous revolutions and slip.

Parameters:
  • synchronous_revolutions (Quantity) – Synchronous speed [revolution / time], must be positive.

  • slip (Quantity) – Motor slip [dimensionless], must satisfy 0 <= slip < 1.

  • unit (str, optional) – Output unit for the motor revolutions (default is “rps”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Motor speed in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, synchronous_revolutions is not positive, or slip is outside [0, 1).

Notes

n_motor = n_sync * (1 - s)

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.number_of_revolutions_from_translatory_speed(translatory_speed: Quantity, radius: Quantity, unit: str = 'rps', precision: int | None = None) → Quantity[source]

Calculate the number of revolutions from the translatory speed.

Parameters:
  • translatory_speed (Quantity) – The translatory speed value with units.

  • radius (Quantity) – The radius value with units.

  • unit (str, optional) – The unit for the output number of revolutions (default is “revolution”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The number of revolutions in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.pulley_diameter_from_belt_speed_and_revolutions(belt_speed: Quantity, revolutions: Quantity, unit: str = 'meter', precision: int | None = None) → Quantity[source]

Calculate the pulley diameter from the belt speed and revolutions.

Parameters:
  • belt_speed (Quantity) – The belt speed value with units.

  • revolutions (Quantity) – The number of revolutions value with units.

  • unit (str, optional) – The unit for the output pulley diameter (default is “meter”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The pulley diameter in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid. If revolutions is zero or if the calculated diameter is negative.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.pulley_diameter_from_belt_speed_motor_revolutions_and_gear_ratio(belt_speed: Quantity, motor_revolutions: Quantity, gear_ratio: Quantity, unit: str = 'meter', precision: int | None = None) → Quantity[source]

Calculate the effective pulley diameter from belt speed, motor revolutions, and gear ratio.

Parameters:
  • belt_speed (Quantity) – Belt speed [length / time], must be positive.

  • motor_revolutions (Quantity) – Motor speed [revolution / time], must be positive.

  • gear_ratio (Quantity) – Gearbox transmission ratio i = n_motor / n_pulley [dimensionless], must be positive.

  • unit (str, optional) – Output unit for the effective pulley diameter (default is “meter”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Effective pulley diameter at the belt contact in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, or belt_speed, motor_revolutions, or gear_ratio is not positive.

Notes

D_eff = v * i / (pi * n_motor)

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.pulley_revolutions_from_belt_speed(belt_speed: Quantity, pulley_diameter: Quantity, unit: str = 'rps', precision: int | None = None) → Quantity[source]

Calculate the pulley revolutions from the belt speed.

Parameters:
  • belt_speed (Quantity) – The belt speed value with units.

  • pulley_diameter (Quantity) – The pulley diameter value with units.

  • unit (str, optional) – The unit for the output pulley revolutions (default is “revolution”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The pulley revolutions in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.pulley_revolutions_from_motor_revolutions_and_gear_ratio(motor_revolutions: Quantity, gear_ratio: Quantity, unit: str = 'rps', precision: int | None = None) → Quantity[source]

Calculate the pulley revolutions from motor revolutions and gear ratio.

Parameters:
  • motor_revolutions (Quantity) – Motor speed [revolution / time], must be non-negative.

  • gear_ratio (Quantity) – Gearbox transmission ratio i = n_motor / n_pulley [dimensionless], must be positive.

  • unit (str, optional) – Output unit for the pulley revolutions (default is “rps”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Pulley speed in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, motor_revolutions is negative, or gear_ratio is not positive.

Notes

n_pulley = n_motor / i

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.radius_from_translatory_speed_and_revolutions(translatory_speed: Quantity, revolutions: Quantity, unit: str = 'meter', precision: int | None = None) → Quantity[source]

Calculate the radius from the translatory speed and revolutions.

Parameters:
  • translatory_speed (Quantity) – The translatory speed value with units.

  • revolutions (Quantity) – The number of revolutions value with units.

  • unit (str, optional) – The unit for the output radius (default is “meter”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The radius in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid. If revolutions is zero.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.revolutions_from_mechanical_power_and_torque(power: Quantity, torque: Quantity, unit: str = 'revolution / second', precision: int | None = None) → Quantity[source]

Calculate the revolutions from the mechanical power and torque.

Parameters:
  • power (Quantity) – The mechanical power value with units.

  • torque (Quantity) – The torque value with units.

  • unit (str, optional) – The unit for the output revolutions (default is “revolution / second”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The number of revolutions in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.shell_diameter_from_effective_pulley_diameter_and_lagging_thickness(effective_pulley_diameter: Quantity, lagging_thickness: Quantity, unit: str = 'meter', precision: int | None = None) → Quantity[source]

Calculate the pulley shell diameter from effective diameter and lagging thickness.

Parameters:
  • effective_pulley_diameter (Quantity) – Effective pulley diameter at the belt contact [length], must be positive and exceed twice the lagging thickness.

  • lagging_thickness (Quantity) – Lagging thickness [length], must be non-negative.

  • unit (str, optional) – Output unit for the shell diameter (default is “meter”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Pulley shell diameter in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, effective_pulley_diameter is not positive, lagging_thickness is negative, or effective_pulley_diameter does not exceed twice lagging_thickness.

Notes

D_shell = D_eff - 2 * t_lagging

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.slip_from_synchronous_revolutions_and_motor_revolutions(synchronous_revolutions: Quantity, motor_revolutions: Quantity, unit: str = 'dimensionless', precision: int | None = None) → Quantity[source]

Calculate the motor slip from synchronous and motor revolutions.

Parameters:
  • synchronous_revolutions (Quantity) – Synchronous speed [revolution / time], must be positive.

  • motor_revolutions (Quantity) – Motor speed [revolution / time], must be non-negative and not exceed synchronous_revolutions.

  • unit (str, optional) – Output unit for the slip (default is “dimensionless”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Motor slip in the requested unit.

Return type:

Quantity

Raises:

ValueError – If unit conversion fails, the output unit is invalid or incompatible, synchronous_revolutions is not positive, motor_revolutions is negative, or motor_revolutions exceeds synchronous_revolutions.

Notes

s = (n_sync - n_motor) / n_sync

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.synchronous_revolutions_from_supply_frequency_and_pole_pairs(supply_frequency: Quantity, pole_pairs: int, unit: str = 'rps', precision: int | None = None) → Quantity[source]

Calculate the synchronous revolutions from supply frequency and pole pairs.

Parameters:
  • supply_frequency (Quantity) – Supply frequency [1 / time], must be positive.

  • pole_pairs (int) – Number of motor pole pairs, must be a positive integer.

  • unit (str, optional) – Output unit for the synchronous revolutions (default is “rps”).

  • precision (int | None, optional) – Number of decimal places for rounding (default is None, no rounding).

Returns:

Synchronous speed in the requested unit.

Return type:

Quantity

Raises:

ValueError – If pole_pairs is not a positive integer, unit conversion fails, the output unit is invalid or incompatible, or supply_frequency is not positive.

Notes

n_sync = f / p

pole_pairs is a discrete configuration count describing the motor winding layout, not a measured value. It is therefore a plain int rather than a Quantity, consistent with other configuration counts in Eytelwein.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.torque_from_mechanical_power_and_revolutions(power: Quantity, revolutions: Quantity, unit: str = 'newton * meter', precision: int | None = None) → Quantity[source]

Calculate the torque from the mechanical power and revolutions.

Parameters:
  • power (Quantity) – The mechanical power value with units.

  • revolutions (Quantity) – The number of revolutions value with units.

  • unit (str, optional) – The unit for the output torque (default is “newton * meter”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The torque in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.

eytelwein.belt_conveyor_design.extended.design_layout_of_drive_system.translatory_speed_from_number_of_revolutions(revolutions: Quantity, radius: Quantity, unit: str = 'meter/second', precision: int | None = None) → Quantity[source]

Calculate the translatory speed from the number of revolutions.

Parameters:
  • revolutions (Quantity) – The number of revolutions value with units.

  • radius (Quantity) – The radius value with units.

  • unit (str, optional) – The unit for the output translatory speed (default is “meter/second”).

  • precision (int | None, optional) – The precision for rounding the result (default is None; use an integer to round explicitly).

Returns:

The translatory speed in the specified unit.

Return type:

Quantity

Raises:

ValueError – If there is an error in converting units or if the unit is invalid.