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
What is a multi-rake bar screen?
It is a mechanically cleaned bar screen in which several rake bars, mounted on continuous chains, clean the screen face one after another. Compared with a single-rake screen, the cleaning is more frequent and the drive runs slower.
Should I choose a multi-rake bar screen or a step screen?
They perform different screening duties and may be used in sequence. Rakeflow® is intended for coarse to medium screening and can be designed for deep channels and heavy debris loads. Stepflow® is intended for fine screening at 3–6 mm and uses a carpet effect for additional solids capture. The final arrangement depends on the required screening level, debris load and downstream process.
What bar spacing should I specify?
It depends on what the screen is protecting. Wider spacing is used at pumping stations and storm water outfalls to catch large solids. Narrower spacing is used at the STP inlet ahead of the biological process. Tell us the downstream process and the tender requirement and we will recommend a spacing.
How much maintenance does Rakeflow® need?
Routine work is limited to checking chain tension and rake condition and lubricating the drive as per the manual. Because nothing mechanical sits at the bottom of the channel, the screen does not need to be pulled out or the channel drained for routine maintenance.
What is the delivery time?
Rakeflow® screens are typically manufactured within 4–6 weeks from drawing approval and manufacturing clearance. Delivery depends on size and quantity.
Do you provide installation and after-sales support?
Yes. Adroit supports installation and commissioning at site and provides spare parts, maintenance support and technical assistance after handover.
Brochures, datasheets & media
Downloads
Documents
files
Photos
photos
Videos
videos
Explore more solutions
Related technologies
Belt Conveyor
Troughed belt conveyors that carry screenings, grit and sludge over long distances with low power and minimal spillage.
Screw Conveyor
Enclosed shafted and shaftless screw conveyors that move screenings, grit and dewatered sludge without spillage and with minimal odour.
J-Type Manual Screen
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.
Manual Bar Screen
Simple, rugged stainless steel coarse bar screen for STPs, ETPs and drains, with bar spacing from 6 mm upwards.
Automatic Grab Screen
Heavy-duty grab cleaner for coarse bar racks at intakes, pumping stations and treatment plants, built for logs, vegetation and bulky debris.
Rotary Drum Screen
Compact fine screen with a slowly rotating drum, continuous spray or brush cleaning and apertures from 1 mm to 6 mm.
Stepflow® Step Screen
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.
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.
Call us
+91 70248-48383Email
[email protected]
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();
}
})();