eytelwein.belt_conveyor_design.core.belt_tensions_and_takeup_forces module¶
Public API for belt tensions and takeup forces calculations.
This module provides the Quantity-based public interface for calculations in the belt-tensions-and-takeup-forces domain. Each public function wraps the corresponding private helper with unit conversion, validation, and output formatting.
- eytelwein.belt_conveyor_design.core.belt_tensions_and_takeup_forces.minimum_belt_tension_from_sag_carry(line_load_belt: Quantity, line_load_material: Quantity, idler_spacing: Quantity, allowable_sag: Quantity, unit: str = 'kilonewton', precision: int | None = None) Quantity[source]¶
Calculate minimum belt tension from sag during carry run.
This function applies the relationship between belt tension, belt and material line loads, idler spacing, and allowable sag. All inputs must be strict Quantity objects with explicit units.
- Parameters:
line_load_belt (Quantity) – Belt line load (mass per unit length) in kg/m or equivalent units.
line_load_material (Quantity) – Material line load (mass per unit length) in kg/m or equivalent units.
idler_spacing (Quantity) – Distance between consecutive idlers (e.g., 1.5 meter).
allowable_sag (Quantity) – Allowable sag as a dimensionless fraction of idler spacing (e.g., 0.01 for 1%). Must be a Quantity with dimensionless units.
unit (str, optional) – Output unit for tension result (default: “kilonewton”). Common values: “newton”, “kilonewton”. Must be a force unit.
precision (int or None, optional) – Decimal places to round the result to (default: None). If None, no rounding is applied.
- Returns:
Minimum belt tension in the specified output unit.
- Return type:
Quantity
- Raises:
ValueError – If unit conversion fails due to incompatible input units.
ValueError – If line_load_belt is negative.
ValueError – If line_load_material is negative.
ValueError – If idler_spacing is negative.
ValueError – If allowable_sag is not positive or invalid.
Examples
>>> from pint import Quantity >>> from eytelwein.main.units import get_unit_registry >>> u = get_unit_registry() >>> result = minimum_belt_tension_from_sag_carry( ... line_load_belt=Quantity(5.0, u.kilogram / u.meter), ... line_load_material=Quantity(10.0, u.kilogram / u.meter), ... idler_spacing=Quantity(1.5, u.meter), ... allowable_sag=Quantity(0.01, u.dimensionless), ... ) >>> result 2.75812... kilonewton
- eytelwein.belt_conveyor_design.core.belt_tensions_and_takeup_forces.takeup_weight_force_from_takeup_weight(takeup_weight: Quantity, unit: str = 'kilonewton', precision: int | None = None) Quantity[source]¶
Calculate takeup weight force from takeup weight.
This function converts a mass-based takeup weight to a force quantity using the standard gravitational acceleration constant. All inputs must be strict Quantity objects with explicit units.
- Parameters:
takeup_weight (Quantity) – Takeup weight in kg or equivalent mass units.
unit (str, optional) – Output unit for force result (default: “kilonewton”). Common values: “newton”, “kilonewton”. Must be a force unit.
precision (int or None, optional) – Decimal places to round the result to (default: None). If None, no rounding is applied.
- Returns:
Takeup weight force in the specified output unit.
- Return type:
Quantity
- Raises:
ValueError – If unit conversion fails due to incompatible input units.
ValueError – If takeup_weight is negative.
ValueError – If unit is invalid or incompatible with force.
Examples
>>> from pint import Quantity >>> from eytelwein.main.units import get_unit_registry >>> u = get_unit_registry() >>> result = takeup_weight_force_from_takeup_weight( ... takeup_weight=Quantity(3000.0, u.kilogram) ... ) >>> result 29.41995... kilonewton
- eytelwein.belt_conveyor_design.core.belt_tensions_and_takeup_forces.takeup_weight_from_takeup_weight_force(takeup_weight_force: Quantity, unit: str = 'kilogram', precision: int | None = None) Quantity[source]¶
Calculate takeup weight from takeup weight force.
This function converts a force-based takeup weight force to a mass quantity using the standard gravitational acceleration constant. All inputs must be strict Quantity objects with explicit units.
- Parameters:
takeup_weight_force (Quantity) – Takeup weight force in newtons or equivalent force units.
unit (str, optional) – Output unit for mass result (default: “kilogram”). Common values: “kilogram”, “gram”. Must be a mass unit.
precision (int or None, optional) – Decimal places to round the result to (default: None). If None, no rounding is applied.
- Returns:
Takeup weight in the specified output unit.
- Return type:
Quantity
- Raises:
ValueError – If unit conversion fails due to incompatible input units.
ValueError – If takeup_weight_force is negative.
ValueError – If unit is invalid or incompatible with mass.
Examples
>>> from pint import Quantity >>> from eytelwein.main.units import get_unit_registry >>> u = get_unit_registry() >>> result = takeup_weight_from_takeup_weight_force( ... takeup_weight_force=Quantity(29419.95, u.newton) ... ) >>> result 3000.0... kilogram