ISO 9001 · 14001 · 45001

An Advanced Water Treatment Equipment Company

Rakeflow® Multi-Rake Mechanical Bar Screen

Heavy-duty mechanical bar screen for STP inlets, pumping stations and storm water drains, with several rakes cleaning the screen at once.

A multi-rake bar screen built for real sewage loads

Rakeflow® is Adroit’s multi-rake mechanical bar screen for the first stage of water and wastewater treatment. It sits in the inlet channel and removes rags, plastics, sticks and floating waste before they reach pumps, grit chambers and the biological process. Several rakes work on the screen face at the same time, allowing low-speed operation while maintaining regular cleaning under varying debris loads.

We build Rakeflow® in SS 304 or SS 316, with bar spacing anywhere from 3 mm to 100 mm. The same design therefore works as a coarse screen at a pumping station or a finer screen ahead of an SBR or MBBR plant. Bar spacing, bar thickness, number of rakes and material are chosen for each project from the flow, the channel and the kind of screenings expected. Adroit has been designing and manufacturing treatment plant equipment in Indore since 1987, and our screens are running at municipal and industrial plants across India.

Where a multi-rake bar screen is used

Application

A multi-rake bar screen is the workhorse of preliminary treatment. It is installed across the full width of the inlet channel of a sewage treatment plant or the approach channel of a pumping station, upstream of the grit chamber, and it handles the entire incoming flow.

Wider spacing is used where the job is to protect pumps from large solids. Narrower spacing, down to 3 mm, is used when the downstream process needs cleaner sewage. Because Rakeflow® can be built for channels up to 20 m deep, it is also a practical choice for deep wet wells and sumps, where raking by hand is slow and unsafe.

How Rakeflow® cleans the screen

Operation

The screen is made of fixed bars set at the chosen spacing. Water passes between the bars and solids are held on the bar face.

Rake bars are fixed at intervals to endless chains running on both sides of the screen. As the chains move, each rake travels up the screen face, combs out the retained screenings and carries them to the top, where they drop into a discharge chute and on to a belt or screw conveyor.

At the bottom of the channel the rakes run on guide rails. There are no bearings, sprockets or other mechanical parts sitting in raw sewage, so there is nothing down there that can seize, corrode or need a diver to reach it. The screen can be run on a timer, on a level-difference signal across the screen, or both.

Where Rakeflow® screens are installed

Application areas

Municipal sewage treatment plants

Inlet screening of raw sewage to remove rags, plastics and floating waste before grit removal and biological treatment.

Sewage and raw water pumping stations

Protects pump impellers and rising mains from rags and large solids, including in deep wet wells.

Storm water drains and nala outfalls

Handles sudden storm flows and heavy floating waste at drain outfalls and nala interception points.

Industrial WWTPs, ETPs and CETPs

Screens process effluent before physical, chemical or biological treatment.

Why engineers specify Rakeflow®

Features & advantages

More rakes, slower drive

With several rakes on the screen at once, the chains move slowly. That means less energy, less chain and rake wear and longer intervals between maintenance, without losing cleaning capacity.

High screenings discharge, low head loss

The screen is cleaned frequently enough that it does not blind, so upstream water levels stay stable even at peak flow.

No submerged bearings or mechanical components

The lower portion of the screen has no bearings or other mechanical components submerged in raw wastewater, simplifying inspection and maintenance of the drive system.

Heavy-duty stainless construction

Fabricated in SS 304 or SS 316 with corrosion-resistant components, for long life in raw sewage and industrial effluent.

Pickled and bead-blasted finish

After welding, every screen is immersion pickled to remove heat tint and restore the passive layer of the stainless steel, then shot blasted with glass beads for a clean, uniform finish.

Proven drives and chains

Fitted with geared motors from reputed German and Italian manufacturers such as Nord and Bonfiglioli, and high-quality chains.

Rakeflow® dimensions and construction

Dimensions & manufacturing

3 mm to 100 mm

Bar spacing

400 mm to 3000 mm

Channel width

1000 mm to 20,000 mm

Channel depth

Stainless Steel 304 / 316

Material of construction

Geared motor (Nord / Bonfiglioli or as specified)

Drive

Immersion pickling and glass-bead shot blasting

Surface finish

Chute to belt conveyor or screw conveyor

Screenings discharge

Frequently asked questions

FAQ

Brochures, datasheets & media

Downloads

Documents

files

No documents are available for this product.

Photos

photos

No media available for this product.

Videos

videos

No videos are available for this product.

Explore more solutions

Related technologies

Belt Conveyor

Screening & Conveying

Troughed belt conveyors that carry screenings, grit and sludge over long distances with low power and minimal spillage.

View product

Screw Conveyor

Screening & Conveying

Enclosed shafted and shaftless screw conveyors that move screenings, grit and dewatered sludge without spillage and with minimal odour.

View product

J-Type Manual Screen

Screening & Conveying

Lift-out coarse screen for large debris in deep channels and sumps. Raised by hoist, emptied and lowered back, with no one entering the channel.

View product

Manual Bar Screen

Screening & Conveying

Simple, rugged stainless steel coarse bar screen for STPs, ETPs and drains, with bar spacing from 6 mm upwards.

View product

Automatic Grab Screen

Screening & Conveying

Heavy-duty grab cleaner for coarse bar racks at intakes, pumping stations and treatment plants, built for logs, vegetation and bulky debris.

View product

Rotary Drum Screen

Screening & Conveying

Compact fine screen with a slowly rotating drum, continuous spray or brush cleaning and apertures from 1 mm to 6 mm.

View product

Stepflow® Step Screen

Screening & Conveying

A high-performance, reliable fine-screening solution for municipal and industrial water and wastewater primary treatment. Overlapping fixed and moving lamellae remove fine solids and waste — self-cleaning, with low head-loss.

View product

Need fine screening sized for your inlet works?

Send us your flow rate, channel dimensions and the fine-solids you need to capture — our engineers will recommend the right Stepflow configuration.

    Enquire about Rakeflow® Multi-Rake Mechanical Bar Screen

    Product enquiry

    Tell us about your requirement and we’ll respond with specifications, references and pricing.

Request a quotation

Fields marked * are required. We typically respond within one business day.

(() => {
  if (window.adroitEnquiryButtonsReady) return;

  window.adroitEnquiryButtonsReady = true;

  const rootSelector = ".adroit-contact-form";

  const buttonSelector = [
    "#wsf-1-field-38",
    "#wsf-1-field-39",
  ].join(", ");

  const values = {
    "wsf-1-field-38": "Product Enquiry",
    "wsf-1-field-39": "Service Request",
  };

  function getFormRoot(element) {
    return element.closest(rootSelector);
  }

  function getHiddenField(form) {
    let field = form.querySelector(
      'input[data-enquiry-type-field="true"]'
    );

    if (!field) {
      field = document.createElement("input");
      field.type = "hidden";
      field.name = "inquiry_type";
      field.dataset.enquiryTypeField = "true";

      form.appendChild(field);
    }

    return field;
  }

  function getErrorRow(formRoot) {
    let errorRow = formRoot.querySelector(
      '[data-enquiry-error-row="true"]'
    );

    if (errorRow) return errorRow;

    const fieldsGrid = formRoot.querySelector(".wsf-fields");
    const firstField = formRoot.querySelector(
      "#wsf-1-field-wrapper-20"
    );

    if (!fieldsGrid || !firstField) return null;

    errorRow = document.createElement("div");
    errorRow.className =
      "wsf-extra-small-12 wsf-tile wsf-field-wrapper";
    errorRow.dataset.enquiryErrorRow = "true";
    errorRow.hidden = true;

    const errorMessage = document.createElement("div");
    errorMessage.className = "wsf-invalid-feedback";
    errorMessage.textContent = "This field is required.";
    errorMessage.setAttribute("aria-live", "polite");

    errorRow.appendChild(errorMessage);

    fieldsGrid.insertBefore(errorRow, firstField);

    return errorRow;
  }

  function showError(formRoot) {
    const errorRow = getErrorRow(formRoot);

    if (!errorRow) return;

    errorRow.hidden = false;

    const errorMessage = errorRow.querySelector(
      ".wsf-invalid-feedback"
    );

    if (errorMessage) {
      errorMessage.style.display = "block";
    }

    formRoot.querySelectorAll(buttonSelector).forEach((button) => {
      button.classList.add("is-invalid");
      button.setAttribute("aria-invalid", "true");
    });
  }

  function clearError(formRoot) {
    const errorRow = formRoot.querySelector(
      '[data-enquiry-error-row="true"]'
    );

    if (errorRow) {
      errorRow.hidden = true;
    }

    formRoot.querySelectorAll(buttonSelector).forEach((button) => {
      button.classList.remove("is-invalid");
      button.removeAttribute("aria-invalid");
    });
  }

  function hasSelection(formRoot) {
    return Boolean(
      formRoot.querySelector(
        "#wsf-1-field-38.is-selected, #wsf-1-field-39.is-selected"
      )
    );
  }

  function validateEnquiry(formRoot) {
    if (hasSelection(formRoot)) {
      clearError(formRoot);
      return true;
    }

    showError(formRoot);
    return false;
  }

  function selectButton(button) {
    const formRoot = getFormRoot(button);
    const form = button.closest("form");

    if (!formRoot || !form) return;

    formRoot.querySelectorAll(buttonSelector).forEach((item) => {
      const isSelected = item === button;

      item.classList.toggle("is-selected", isSelected);
      item.setAttribute("aria-pressed", String(isSelected));
    });

    getHiddenField(form).value = values[button.id] || "";

    clearError(formRoot);
  }

  /*
   * Window capture runs before WS Form's button click handler.
   * This stops WS Form AJAX submission only when enquiry type is missing.
   */
  window.addEventListener(
    "click",
    (event) => {
      const enquiryButton = event.target.closest(
        `${rootSelector} #wsf-1-field-38, ${rootSelector} #wsf-1-field-39`
      );

      if (enquiryButton) {
        selectButton(enquiryButton);
        return;
      }

      const submitButton = event.target.closest(
        `${rootSelector} button[type="submit"], ${rootSelector} input[type="submit"]`
      );

      if (!submitButton) return;

      const formRoot = getFormRoot(submitButton);

      if (!formRoot) return;

      if (validateEnquiry(formRoot)) return;

      event.preventDefault();
      event.stopImmediatePropagation();
    },
    true
  );

  /*
   * Covers pressing Enter in a form field.
   */
  window.addEventListener(
    "submit",
    (event) => {
      const form = event.target;

      if (!(form instanceof HTMLFormElement)) return;

      const formRoot = getFormRoot(form);

      if (!formRoot) return;

      if (validateEnquiry(formRoot)) return;

      event.preventDefault();
      event.stopImmediatePropagation();
    },
    true
  );

  function initialize() {
    document.querySelectorAll(rootSelector).forEach((formRoot) => {
      const form = formRoot.querySelector("form");

      formRoot.querySelectorAll(buttonSelector).forEach((button) => {
        button.classList.remove("is-selected", "is-invalid");
        button.removeAttribute("aria-invalid");
        button.setAttribute("aria-pressed", "false");
      });

      clearError(formRoot);

      if (form) {
        getHiddenField(form).value = "";
      }
    });
  }

  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", initialize, {
      once: true,
    });
  } else {
    initialize();
  }
})();