SlurryPipeline Class
Overview
The SlurryPipeline class implements a comprehensive multiphase transport model for solid-liquid slurry systems. This model is essential for mining, dredging, and industrial applications involving the transport of particulate matter in liquid carriers.
Class Description
The SlurryPipeline class provides accurate modeling of slurry transport phenomena, including critical velocity calculations, particle settling effects, pressure drop predictions, and concentration variations. The model accounts for multiphase flow dynamics and particle-fluid interactions.
Key Features
Critical Velocity Prediction: Durand equation implementation for minimum transport velocity
Particle Settling Analysis: Concentration changes due to gravitational settling
Multiphase Pressure Drop: Enhanced friction factors for solid-liquid mixtures
Concentration Tracking: Inlet and outlet solid concentration modeling
Operating Envelope: Safe transport velocity determination
Mathematical Model
The slurry pipeline model incorporates multiphase flow mechanics:
Critical Velocity (Durand Equation):
Where: - \(V_{critical}\) = critical transport velocity (m/s) - \(g\) = gravitational acceleration (9.81 m/s²) - \(d_p\) = particle diameter (m) - \(\rho_s\) = solid density (kg/m³) - \(\rho_f\) = fluid density (kg/m³)
Mixture Density:
Where \(C_v\) is the volumetric concentration of solids.
Effective Viscosity (Einstein Relation):
Enhanced Pressure Drop:
Constructor Parameters
SlurryPipeline(
pipe_length=500.0, # Pipeline length [m]
pipe_diameter=0.2, # Pipeline diameter [m]
solid_concentration=0.3, # Volume fraction of solids [-]
particle_diameter=1e-3, # Average particle diameter [m]
fluid_density=1000.0, # Carrier fluid density [kg/m³]
solid_density=2500.0, # Solid particle density [kg/m³]
fluid_viscosity=1e-3, # Carrier fluid viscosity [Pa·s]
flow_nominal=0.05, # Nominal volumetric flow [m³/s]
name="SlurryPipeline"
)
Methods
steady_state(u)
Calculate steady-state pressure drop and solid concentration for given flow.
Input: u = [P_inlet, flow_rate, inlet_solid_concentration]
Output: [P_outlet, outlet_solid_concentration]
dynamics(t, x, u)
Calculate dynamic derivatives for pressure and concentration transport.
Input:
- t: time (s)
- x: state vector [P_outlet, outlet_solid_concentration]
- u: input vector [P_inlet, flow_rate, inlet_solid_concentration]
Output: [dP_outlet/dt, dconcentration/dt]
describe()
Returns comprehensive metadata about the slurry transport model including particle mechanics and flow regimes.
Usage Examples
Mining Ore Transport System
#!/usr/bin/env python3
"""
SlurryPipeline Simple Example
============================
Simplified demonstration of SlurryPipeline class for robust output generation.
This example provides essential SlurryPipeline functionality demonstrations
without complex error-prone dependencies.
"""
import numpy as np
import matplotlib
matplotlib.use('Agg') # Use non-GUI backend
import matplotlib.pyplot as plt
from SlurryPipeline import SlurryPipeline
def main():
"""Main function demonstrating SlurryPipeline capabilities"""
print("SlurryPipeline Simple Example")
print("=============================")
print("Basic demonstration of SlurryPipeline class")
print("Timestamp: 2025-07-09")
print("=" * 50)
# Example 1: Mining Ore Transport
print("\nEXAMPLE 1: Mining Ore Transport Pipeline")
print("-" * 45)
# Create mining ore pipeline
ore_pipeline = SlurryPipeline(
pipe_length=50000.0, # 50 km pipeline
pipe_diameter=0.6, # 60 cm diameter
solid_concentration=0.35, # 35% solids by volume
particle_diameter=150e-6, # 150 micron particles
fluid_density=1000.0, # Water
solid_density=2700.0, # Ore density
fluid_viscosity=1e-3, # Water viscosity
flow_nominal=0.5, # 0.5 m³/s nominal flow
name="MiningOrePipeline"
)
print(f"Pipeline: {ore_pipeline.name}")
print(f"Length: {ore_pipeline.pipe_length/1000:.0f} km")
print(f"Diameter: {ore_pipeline.pipe_diameter*100:.0f} cm")
print(f"Solids: {ore_pipeline.solid_concentration*100:.0f}% by volume")
print(f"Particle Size: {ore_pipeline.particle_diameter*1e6:.0f} microns")
# Calculate steady-state conditions
# steady_state expects [P_inlet, flow_rate, c_solid_in]
inlet_pressure = 800000.0 # 800 kPa (8 bar)
flow_rate = ore_pipeline.flow_nominal
solid_conc = ore_pipeline.solid_concentration
inputs = np.array([inlet_pressure, flow_rate, solid_conc])
result = ore_pipeline.steady_state(inputs)
outlet_pressure = result[0]
outlet_solid_conc = result[1]
# Calculate derived properties
velocity = flow_rate / (np.pi * (ore_pipeline.pipe_diameter/2)**2)
mixture_density = (ore_pipeline.fluid_density * (1 - solid_conc) +
ore_pipeline.solid_density * solid_conc)
pressure_drop = inlet_pressure - outlet_pressure
print(f"\nOperating Conditions:")
print(f"Inlet Pressure: {inlet_pressure/1000:.0f} kPa")
print(f"Outlet Pressure: {outlet_pressure/1000:.0f} kPa")
print(f"Pressure Drop: {pressure_drop/1000:.0f} kPa")
print(f"Flow Velocity: {velocity:.2f} m/s")
print(f"Mixture Density: {mixture_density:.0f} kg/m³")
print(f"Outlet Solids: {outlet_solid_conc*100:.1f}% (settling effect)")
# Critical velocity calculation (Durand equation)
g = 9.81 # m/s²
density_ratio = ore_pipeline.solid_density / ore_pipeline.fluid_density
critical_velocity = 1.5 * np.sqrt(2 * g * ore_pipeline.particle_diameter * (density_ratio - 1))
print(f"\nCritical Velocity Analysis:")
print(f"Critical Velocity: {critical_velocity:.2f} m/s")
print(f"Design Velocity: {velocity:.2f} m/s")
print(f"Safety Factor: {velocity/critical_velocity:.2f}")
if velocity > critical_velocity:
print("OK Adequate velocity - particles suspended")
else:
print("WARNING Low velocity - risk of settling")
# Example 2: Flow Rate Variations
print("\n\nEXAMPLE 2: Flow Rate Performance Analysis")
print("-" * 45)
flow_rates = np.linspace(0.1, 1.0, 10) # 0.1 to 1.0 m³/s
velocities = []
pressure_drops = []
outlet_concentrations = []
print("Flow Rate | Velocity | Pressure Drop | Outlet Solids")
print("(m³/s) | (m/s) | (kPa) | (%)")
print("-" * 50)
The comprehensive example demonstrates:
Mining Ore Transport: Long-distance pipeline for mineral transport
Critical Velocity Analysis: Ensuring adequate particle suspension
Flow Rate Performance: Velocity and pressure drop relationships
Particle Size Effects: Impact of particle diameter on transport
Operating Envelope: Safe vs risk zone identification
Example Output
Key output sections include:
Pipeline configuration and mixture properties
Critical velocity analysis with safety factors
Flow rate performance mapping
Particle size effect characterization
Operating envelope determination
Applications
The SlurryPipeline class is widely used in:
Mining Industry: Ore concentrate and tailings transport
Dredging Operations: Sediment and sand transport systems
Wastewater Treatment: Sludge transport and dewatering
Coal Preparation: Coal slurry pipeline systems
Industrial Processes: Catalyst and solid waste transport
Performance Characteristics
Concentration Range: 5% to 60% solids by volume
Particle Size Range: 10 μm to 10 mm diameter
Velocity Range: 0.5 to 8 m/s transport velocities
Pressure Rating: Up to 50 bar operating pressure
Pipeline Length: Up to 100 km transport distance
Visualization
The example generates comprehensive visualization including:
Flow Rate vs Velocity: Operating line and critical velocity relationship
Pressure Drop Analysis: Flow rate dependent pressure losses
Settling Effect: Concentration changes with flow velocity
Particle Size Impact: Critical velocity variations
Operating Map: Safe operation envelope definition
Transport Phenomena
Particle Suspension Mechanisms:
Turbulent Diffusion: Particles suspended by turbulent eddies
Saltation: Intermittent particle jumping along pipeline bottom
Heterogeneous Flow: Non-uniform concentration distribution
Homogeneous Flow: Well-mixed solid-liquid suspension
Critical Design Considerations:
Minimum transport velocity to prevent settling
Pipeline slope and elevation changes
Pump selection and system hydraulics
Erosion and wear protection measures
Engineering Guidelines
Design Velocity:
Recommended Operating Conditions:
Maintain velocity > 120% of critical velocity
Monitor concentration variations continuously
Design for worst-case particle size distribution
Include settling velocity safety margins
Technical References
Durand, R. & Condolios, E. (1952). “The hydraulic transport of coal and solid materials in pipes.” Proceedings of Colloquium on Hydraulic Transport, National Coal Board, London.
Wilson, K.C. et al. (2006). Slurry Transport Using Centrifugal Pumps, 3rd Edition. Springer Science & Business Media.
Wasp, E.J., Kenny, J.P. & Gandhi, R.L. (1977). Solid-Liquid Flow: Slurry Pipeline Transportation. Trans Tech Publications.
Matousek, V. (2009). “Research developments in pipeline transport of settling slurries.” Powder Technology, 196(3), 280-291.
See Also
PipeFlow Class - Single-phase pipeline transport
PeristalticFlow Class - Positive displacement pumping
steady_state Function - Steady-state analysis functions
dynamics Function - Dynamic modeling functions