How to Calculate Overflow Rate

Surface Overflow Rate Calculator

Calculate the hydraulic loading rate for sedimentation tanks and clarifiers.

Metric (m³ / meters) Imperial (Gallons / feet)
Rectangular Tank Circular Tank (Clarifier)

Calculation Results

Surface Area:
Surface Overflow Rate (SOR):
m³/m²/day

How to Calculate Overflow Rate

The Surface Overflow Rate (SOR), also known as the Hydraulic Loading Rate, is a critical engineering parameter used primarily in the design and operation of wastewater treatment plants, sedimentation tanks, and clarifiers. It measures the volume of fluid passing over a given surface area over a specific period.

Correctly calculating the overflow rate ensures that solid particles have enough time to settle out of the liquid suspension (sedimentation) before the water overflows the weirs. If the SOR is too high, turbulence increases, and solids may wash out, leading to poor effluent quality.

The Surface Overflow Rate Formula

The fundamental formula for calculating the overflow rate is the ratio of the influent flow rate to the surface area of the tank:

SOR = Q / A

Where:

  • SOR = Surface Overflow Rate (e.g., m³/m²/day or GPD/ft²)
  • Q = Influent Flow Rate (e.g., m³/day or Gallons per Day)
  • A = Surface Area of the tank (e.g., m² or ft²)

Step-by-Step Calculation Example

Let's look at a practical example of how to calculate the overflow rate for a rectangular sedimentation basin.

Scenario: You have a treatment plant with an influent flow rate of 4,000 m³/day. The sedimentation tank is rectangular with a length of 25 meters and a width of 8 meters.

  1. Calculate Surface Area (A):
    For a rectangle, Area = Length × Width.
    A = 25m × 8m = 200 m²
  2. Apply the SOR Formula:
    SOR = Q / A
    SOR = 4,000 m³/day / 200 m²
  3. Result:
    SOR = 20 m³/m²/day (This is equivalent to a velocity of 20 meters per day).

Typical Design Values

Acceptable overflow rates vary depending on the nature of the solids and the type of treatment process:

  • Primary Settling Tanks: Typically range between 30 to 50 m³/m²/day (800 – 1200 GPD/ft²).
  • Secondary Clarifiers (Activated Sludge): Typically range between 15 to 30 m³/m²/day (400 – 800 GPD/ft²).

Always compare your calculated SOR against local environmental regulations or design standards to ensure compliance.

// Initialize labels on load window.onload = function() { updateLabels(); }; function toggleDimensions() { var shape = document.getElementById('tankShape').value; var rectInputs = document.getElementById('rectInputs'); var circInputs = document.getElementById('circInputs'); if (shape === 'rectangular') { rectInputs.style.display = 'block'; circInputs.style.display = 'none'; } else { rectInputs.style.display = 'none'; circInputs.style.display = 'block'; } } function updateLabels() { var system = document.getElementById('unitSystem').value; // Labels var labelFlow = document.getElementById('labelFlow'); var labelLength = document.getElementById('labelLength'); var labelWidth = document.getElementById('labelWidth'); var labelDiameter = document.getElementById('labelDiameter'); var resultUnitLabel = document.getElementById('resultUnitLabel'); if (system === 'metric') { labelFlow.innerText = "Flow Rate (Q) in m³/day"; labelLength.innerText = "Length (m)"; labelWidth.innerText = "Width (m)"; labelDiameter.innerText = "Diameter (m)"; resultUnitLabel.innerText = "m³/m²/day"; // Update placeholders for context document.getElementById('flowRate').placeholder = "e.g., 2500"; document.getElementById('tankLength').placeholder = "e.g., 20"; } else { labelFlow.innerText = "Flow Rate (Q) in Gallons/day (GPD)"; labelLength.innerText = "Length (ft)"; labelWidth.innerText = "Width (ft)"; labelDiameter.innerText = "Diameter (ft)"; resultUnitLabel.innerText = "GPD/ft²"; // Update placeholders for context document.getElementById('flowRate').placeholder = "e.g., 500000"; document.getElementById('tankLength').placeholder = "e.g., 60"; } } function calculateOverflowRate() { // Get inputs var system = document.getElementById('unitSystem').value; var flowRate = parseFloat(document.getElementById('flowRate').value); var shape = document.getElementById('tankShape').value; // Validation var errorDiv = document.getElementById('errorMessage'); var resultDiv = document.getElementById('resultContainer'); if (isNaN(flowRate) || flowRate <= 0) { errorDiv.style.display = 'block'; errorDiv.innerText = "Please enter a valid positive Flow Rate."; resultDiv.style.display = 'none'; return; } var area = 0; if (shape === 'rectangular') { var length = parseFloat(document.getElementById('tankLength').value); var width = parseFloat(document.getElementById('tankWidth').value); if (isNaN(length) || length <= 0 || isNaN(width) || width <= 0) { errorDiv.style.display = 'block'; errorDiv.innerText = "Please enter valid dimensions for the tank."; resultDiv.style.display = 'none'; return; } area = length * width; } else { var diameter = parseFloat(document.getElementById('tankDiameter').value); if (isNaN(diameter) || diameter <= 0) { errorDiv.style.display = 'block'; errorDiv.innerText = "Please enter a valid diameter."; resultDiv.style.display = 'none'; return; } // Area of circle = pi * r^2 OR (pi * d^2) / 4 area = Math.PI * Math.pow(diameter / 2, 2); } // Calculate SOR var sor = flowRate / area; // Formatting Results errorDiv.style.display = 'none'; resultDiv.style.display = 'block'; // Display Logic based on units var areaUnit = (system === 'metric') ? "m²" : "ft²"; document.getElementById('resultArea').innerText = area.toFixed(2) + " " + areaUnit; document.getElementById('resultSOR').innerText = sor.toFixed(2); // Note: Units are updated via updateLabels, but we ensure consistency here if(system === 'metric') { document.getElementById('resultUnitLabel').innerText = "m³/m²/day"; } else { document.getElementById('resultUnitLabel').innerText = "GPD/ft²"; } }

Leave a Comment