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\))