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.

SlurryPipeline Analysis Plots

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

\[V_{critical} = 1.5 \sqrt{2g d_p \left(\frac{\rho_s}{\rho_f} - 1\right)}\]

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:

\[\rho_m = \rho_f (1 - C_v) + \rho_s C_v\]

Where \(C_v\) is the volumetric concentration of solids.

Effective Viscosity (Einstein Relation):

\[\mu_{eff} = \mu_f (1 + 2.5 C_v + 10.05 C_v^2)\]

Enhanced Pressure Drop:

\[\Delta P = f \cdot \frac{L}{D} \cdot \frac{\rho_m v^2}{2} \cdot (1 + 3 C_v)\]

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:

  1. Flow Rate vs Velocity: Operating line and critical velocity relationship

  2. Pressure Drop Analysis: Flow rate dependent pressure losses

  3. Settling Effect: Concentration changes with flow velocity

  4. Particle Size Impact: Critical velocity variations

  5. Operating Map: Safe operation envelope definition

Comprehensive SlurryPipeline Analysis

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:

\[V_{design} = (1.2 \text{ to } 2.0) \times V_{critical}\]

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

  1. 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.

  2. Wilson, K.C. et al. (2006). Slurry Transport Using Centrifugal Pumps, 3rd Edition. Springer Science & Business Media.

  3. Wasp, E.J., Kenny, J.P. & Gandhi, R.L. (1977). Solid-Liquid Flow: Slurry Pipeline Transportation. Trans Tech Publications.

  4. Matousek, V. (2009). “Research developments in pipeline transport of settling slurries.” Powder Technology, 196(3), 280-291.

See Also