Developer Interface

Conveyance

class conveyance.conveyance.Conveyance(file_path)

Class used for conveyor design.

New in version 0.1.0.

Attributes
file_pathstr

Path to file containing the design parameters for the conveyor.

Belt Capacity

conveyance.belt_capacity.mass_density_material(v, q=None, q_v=None, p=None)

Calculate the mass of material on the conveyor (\(kg/m\))

In addition to providing v, it accepts either a throughput \(q\)

\[q_m = \dfrac{1000\ q}{3600\ v}\]

Or \(Q_v\) flow rate and \(\rho\) material density

\[q_m = \dfrac{Q_v\ (1000\ \rho)}{v}\]
Parameters
vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

qfloat

\(q\) : Throughput of the conveyor (\(t/h\))

q_vfloat

\(Q_v\) : Flow rate of the conveyor (\(m^3/s\))

pfloat

\(\rho\) : Density of the material (\(t/m^3\))

Returns
float

\(q_m\) : Mass per metre of material carried (\(kg/m\))

conveyance.belt_capacity.mass_density_idler(a, m)

Calculate the mass of the idler per meter (\(kg/m\))

\[q_r = \dfrac{m}{a}\]
Parameters
afloat

\(a\) : Idler spacing (\(m\))

mfloat

\(m\) : Idler mass (\(kg\))

Returns
float

\(q_r\) : Mass per meter from idlers (\(kg/m\))

conveyance.belt_capacity.volume_carried_material(q, p)

Calculate the volume carried per second (\(m^3/s\))

\[Q_v = \dfrac{q}{3600\ \rho}\]
Parameters
qfloat

\(q\) : Throughput of the conveyor (\(t/h\))

pfloat

\(\rho\) : Density of the material (\(t/m^3\))

Returns
float

\(Q_v\) : Volume per second of material carried (\(m^3/s\))

conveyance.belt_capacity.volumetric_flow(belt_ca, v)

Calculate the theoretical flow rate of the conveyor (\(m^3/s\))

\[Q_v = S\ v\]
Parameters
belt_cafloat

\(S\) : Cross-sectional area of material of the belt (\(m^2\))

vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

Returns
float

\(Q_v\) : The theoretical flow rate of the conveyor (\(m^3/s\))

conveyance.belt_capacity.belt_cs_area(l3, b, ia, sa)

Calculate the cross-sectional area of material on the belt (\(m^2\))

Note: A three-roll idler set is assumed.

\[\begin{split}S_1 & = \frac{1}{6} (l_3 + (b - l_3) \cos \lambda)^2 \tan \theta \\ S_2 & = \left (l_3 + \dfrac {b - l_3}{2} \cos \lambda \right) \left (\dfrac {b - l_3}{2} \sin \lambda \right) \\ S & = S_1 + S_2\end{split}\]
Parameters
l3float

\(l_3\) : Width of the idler (\(m\))

bfloat

\(b\) : Width of max material on belt (\(m\))

iafloat

\(\lambda\) : Installed angle of the side idlers (\(deg\))

safloat

\(\theta\) : Surcharge angle of the material (\(deg\))

Returns
float

\(S\) : The cross-sectional area of material on the belt (\(m^2\))

Conveyor Resistances

conveyance.conveyor_resistances.resistance_main(q_m, q_b, q_ro, q_ru, c_l, install_a, ff)

Calculate the conveyor main resistance (\(F_H\))

Includes the rotational resistances of the carry and return strands, identified by the friction coefficient

\[F_H = f\ L\ g\ (q_{ro} + q_{ru} + (2\ q_b + q_m) \cos \delta)\]
Parameters
q_m: float

\(q_m\) : Mass per metre of material carried (\(kg/m\))

q_b: float

\(q_b\) : Belt mass per meter (\(kg/m\))

q_ro: float

\(q_{ro}\) : Mass of carry idler per meter (\(kg/m\))

q_ru: float

\(q_{ru}\) : Mass of return idler per meter (\(kg/m\))

c_l: float

\(L\) : Center-to-centre length of the conveyor (\(m\))

install_a: float

\(\delta\) : Installation angle of the conveyor (\(deg\))

ff: float, default=0.02

\(f\) : Artificial friction factor (average operating conditions)

Returns
float

\(F_H\) : Main resistances to motion (\(N\))

conveyance.conveyor_resistances.resistance_secondary(q_v, p, v, v_0, B, b1, mu1, mu2, wrap_a_h, wrap_a_t, f_1t_d=None, f_1t_t=None)

Calculate the conveyor secondary resistances (\(F_N\))

\[F_N = F_{bA} + F_f + F_1 + F_t\]
Parameters
q_vfloat

\(q_v\) : Volume per second of material carried (\(m^3/s\))

pfloat

\(\rho\) : Density of the material (\(t/m^3\))

vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

v_0float

\(v_0\) : Speed of the material dropped on to the belt, in the direction of the belt movement (\(m/s\))

B: float

\(B\) : Total width of belt (\(m\))

b1float

\(b_1\) : Width between skirtplates (\(m\))

mu1float

\(\mu_1\) : Friction coefficient between material/belt

mu2float

\(\mu_2\) : Friction coefficient between material/skirtplates

wrap_a_hfloat

\(\theta_h\) : Wrap angle around the head pulley (\(deg\))

wrap_a_tfloat

\(\theta_t\) : Wrap angle around the tail pulley (\(deg\))

f_1t_dfloat, optional

\(f_{1t,d}\) : Wrap resistance between the belt and the drive pulley (\(N\))

f_1t_tfloat, optional

\(f_{1t,t}\) : Wrap resistance between the belt and the tail pulley (\(N\))

Returns
float

\(F_N\) : Secondary resistances due to inertial and material and belt frictions (\(N\))

conveyance.conveyor_resistances.resistance_concentrated(q_v, p, v, l_s, b1, bc_w, bc_t, bc_p, bc_n, mu2, mu3)

Calculate concentrated local resistances on the conveyor (\(F_S\))

\[F_S = F_{\epsilon} + F_{gL} + F_{rc} + F_a\]
Parameters
q_vfloat

\(q_v\) : Volume per second of material carried (\(m^3/s\))

pfloat

\(\rho\) : Density of the material (\(t/m^3\))

vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

l_sfloat

\(l_s\) : Length of installation fitted with skirtplates (\(m\))

b1float

\(b_1\) : Width between skirtplates (\(m\))

bc_wfloat

\(bc_w\) : Belt cleaner width (\(m\))

bc_tfloat

\(bc_t\) : Belt cleaner thickness (\(m\))

bc_pfloat

\(bc_p\) : Pressure between cleaner and belt (\(N/m^2\))

bc_nint

\(bc_n\) : Number of belt cleaners

mu2float

\(\mu_2\) : Friction coefficient between material/skirtplates

mu3float

\(\mu_3\) : Friction coefficient between belt and cleaner

Returns
float

\(F_S\) : Conveyor concentrated resistances (\(N\))

conveyance.conveyor_resistances.resistance_gravity(q_m, H)

Calculate the gravity forces from the conveyed material on the belt (\(F_{st}\))

\[F_{st} = q_m\ H\ g\]
Parameters
q_mfloat

\(q_m\) : Mass per metre of material carried (\(kg/m\))

Hfloat

\(H\) : The conveyor lift (\(m\))

Returns
float

\(F_{st}\) : Resistance due to gravity of the conveyed material (\(N\))

conveyance.conveyor_resistances.resistance_inertial_friction(q_v, p, v, v_0)

Calculate the inertial and friction resistances (\(F_{bA}\))

\[F_{bA} = Q_v\ (1000\ \rho) (v - v_0)\]

Determined at the loading point and in the acceleration area between the material handled and the belt.

Parameters
q_vfloat

\(Q_v\) : Volume per second of material carried (\(m^3/s\))

pfloat

\(\rho\) : Density of the material (\(t/m^3\))

vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

v_0float

\(v_0\) : Speed of the material dropped on to the belt, in the direction of the belt movement (\(m/s\))

Returns
float

\(F_{bA}\) : Resistance due to inertial and friction forces (\(N\))

conveyance.conveyor_resistances.resistance_material_acceleration(q_v, p, v, v_0, b1, mu1, mu2)

Calculate the resistance between handled material and skirtplates in acceleration area (\(F_f\))

\[\begin{split}l_{b\ min} & = \dfrac{v^2 - v_0^2}{2\ g\ \mu_1} \\ F_f & = \dfrac{\mu_2\ Q_v^2\ (1000\ \rho) g\ l_b} {[(v + v_0)/2]^2\ b_{1}^2}\end{split}\]
Parameters
q_vfloat

\(Q_v\) : Volume per second of material carried (\(m^3/s\))

pfloat

\(\rho\) : Density of the material (\(t/m^3\))

vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

v_0float

\(v_0\) : Speed of the material dropped on to the belt, in the direction of the belt movement (\(m/s\))

b1float

\(b_1\) : Width between skirtplates (\(m\))

mu1float

\(\mu_1\) : Friction coefficient between material/belt

mu2float

\(\mu_2\) : Friction coefficients between material/skirtplates

Returns
float

\(F_f\) : Resistance between handled material and skirtplates in acceleration area (\(N\))

conveyance.conveyor_resistances.resistance_belt_wrap(B, wrap_a)

Calculate the wrap resistance between the belt and pulley (\(F_{1t}\))

\[F_{1t} = 300\ B \sin \alpha_1\]
Parameters
Bfloat

\(B\) : Total width of belt (\(m\))

wrap_afloat

\(\alpha_1\) : Wrap angle around the pulley (\(deg\))

Returns
float

\(F_{1t}\) : Resistance between the belt and pulley (\(N\))

conveyance.conveyor_resistances.resistance_material_skirtplates(q_v, p, v, l_s, b1, mu2)

Calculate the resistance due to friction between the material handled and skirt plates (\(F_{gL}\))

\[F_{gL} = \dfrac{\mu_2\ Q_v^2\ (1000\ \rho) g\ l_s} {v^2\ b_{1}^2}\]
Parameters
q_vfloat

\(Q_v\) : Volume per second of material carried (\(m^3/s\))

pfloat

\(\rho\) : Density of the material (\(t/m^3\))

vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

l_sfloat

\(l_s\) : Length of installation fitted with skirtplates (\(m\))

b1float

\(b_1\) : Width between skirtplates (\(m\))

mu2float

\(\mu_2\) : Friction coefficients between material/skirtplates

Returns
float

\(F_{gL}\): Resistance due to friction between the material handled and skirt plates (\(N\))

conveyance.conveyor_resistances.resistance_belt_cleaners(bc_w, bc_t, bc_p, bc_n, mu3)

Calculate the friction resistance due to belt cleaners fitted to the conveyor (\(F_{rc}\))

\[\begin{split}A & = bc_{w}\ bc_{t} \\ F_{rc} & = A\ bc_p\ \mu_3\end{split}\]
Parameters
bc_wfloat

\(bc_{w}\) : Belt cleaner width (\(m\))

bc_tfloat

\(bc_{t}\) : Belt cleaner thickness (\(m\))

bc_pfloat

\(bc_{p}\) : Pressure between cleaner and belt (\(N/m^2\))

bc_nint

\(bc_{n}\) : Number of belt cleaners

mu3float

\(\mu_3\) : Friction coefficient between belt and cleaner

Returns
float

\(F_{rc}\) : Friction resistance due to belt cleaners fitted to the conveyor (\(N\))

conveyance.conveyor_resistances.resistance_belt_sag_tension(q_m, q_b, a_o, a_u, h_a_o, h_a_u)

Calculate the minimum tensile force to limit belt sag between 2 sets of idlers on the carry side

\[\begin{split}F_{min\ o} & \geq \dfrac{a_o\ (q_b + q_m)\ g}{8\ (h/a_o)} \\ F_{min\ u} & \geq \dfrac{a_u\ q_b\ g}{8\ (h/a_u)}\end{split}\]
Parameters
q_mfloat

\(q_m\) : Mass per metre of material carried (:math`kg/m`)

q_bfloat

\(q_b\) : Belt mass per meter (:math`kg/m`)

a_ofloat

\(a_o\) : Idler spacing, carry (:math`m`)

a_ufloat

\(a_u\) : Idler spacing, return (:math`m`)

h_a_ofloat

\(h_{ao}\) : Allowable belt sag between idlers, carry (:math`m`)

h_a_ufloat

\(h_{au}\) : Allowable belt sag between idlers, return (:math`m`)

Returns
float

\(F_{min\ o}\) : Carry side, minimum tensile force to limit belt sag between 2 sets of idlers (\(N\))

float

\(F_{min\ u}\) : Return side, minimum tensile force to limit belt sag between 2 sets of idlers (\(N\))

conveyance.conveyor_resistances.resistance_belt_wrap_iso(B, d, D, d_0, m_p, t_1, t_2)

Calculate belt wrap resistance using values from ISO 5048

\[\begin{split}F_T & = ((T_1 + T_2) * (g * m_p))^{1/2} \\ F_t & = 0.005\ (d_0 / D)\ F_T \\ F_1 & = 9\ B\ (140 + 0.01 (T / B) * d / D \\ F_{1t} & = F_1 + F_t\end{split}\]
Where:

\(F_1\) : Wrap resistance between belt and pulley (\(N\)); \(F_t\) : Pulley bearing resistance (\(N\))

Parameters
Bfloat

\(B\) : Total width of belt (\(m\))

dfloat

\(d\) : Belt thickness (\(m\))

d_0float

\(d_0\) : Inside bearing diameter (\(m\))

Dfloat

\(D\) : Pulley diameter (\(m\))

m_pfloat

\(m_p\) : Pulley mass (\(kg\))

t_1float

\(T_1\) : Tight-side tension at pulley (\(N\))

t_2float

\(T_2\) : Slack-side tension at pulley (\(N\))

Returns
float

\(F_{1t}\): Approximate combined resistance (\(N\))

conveyance.conveyor_resistances.tension_transmit_min(f_u, wrap_a, mu_b, acc_sd=3, t_2_min=None)

Ensure that a minimum tensile force is sufficient to transmit \(F_u\)

The following ratio should be satisfied.

\[(t_1 / t_2) \leq \exp(\mu_b\ \alpha)\]
Parameters
f_ufloat

\(F_u\) : Peripheral driving force on driving pulley (\(N\))

wrap_afloat

\(\alpha\) : Wrap angle around the pulley (\(\theta\))

mu_bfloat

\(\mu_b\) : Belt/Pulley friction coefficient

accint, optional

Significant digit accuracy for checking the ratio (default: 3)

t_2_minfloat, optional

\(t_{2\ min}\) : Minimum tensile force that must be maintained to transmit \(f_u\)

Returns
float

\(t_1\) : Tight-side tension at pulley (\(N\))

float

\(t_2\) : Slack-side tension at pulley (\(N\))

tuple

\((x, y, z), where\ x = (t_1 / t_2)\ y = \exp(\mu_b\ \alpha)\ z = (t_1 / t_2) \leq \exp(\mu_b\ \alpha)\)

Power Requirements

conveyance.power_requirements.power_requirements_motor(f_u, v, d_eta_1, d_eta_2)

Calculate the power requirements for the drive motor (\(P_A\))

\[P_A = \dfrac{F_u\ v}{\eta_1\ \eta_2}\]
Parameters
f_ufloat

\(F_u\) : Peripheral driving force on driving pulley (\(N\))

vfloat

\(v\) : Speed of the conveyor belt (\(m/s\))

d_eta_1float

\(\eta_1\) : Fluid coupling efficiency

d_eta_2float

\(\eta_2\) : Gearbox efficiency

Returns
float

\(P_A\) : Power requirements for the drive motor (\(W\))