ISO 9001 · 14001 · 45001

An Advanced Water Treatment Equipment Company

Submersible Mixer

Compact underwater mixer that keeps solids in suspension and tank contents uniform, installed and lifted out on a guide rail.

Mixing below the surface

Adroit’s Submersible Mixer keeps solids in suspension and the contents of a tank uniformly mixed. The motor and propeller sit underwater, so there is no bridge or superstructure over the tank, and the mixer can be lifted out on its guide rail for service without draining the tank.

It is used in wastewater treatment to stop sludge settling, in industrial processes to blend chemicals and liquids, and in agriculture to homogenise slurry for easier handling.

Where submersible mixers are needed

Application

Any tank where solids must not settle needs mixing. In an STP that includes anoxic tanks, equalisation tanks, sludge holding tanks and the non-aerated phases of SBR cycles. In industry, submersible mixers blend chemicals and keep process fluids consistent.

How a submersible mixer works

Operation

A sealed, submersible motor drives a propeller directly or through a gearbox. The propeller pushes a strong horizontal jet of liquid across the tank, which sets up a circulation pattern through the whole volume. That flow keeps solids moving and prevents dead zones.

The mixer is mounted on a vertical guide rail fixed to the tank wall. It can be lowered into place and set at the depth and angle needed, then raised along the rail when maintenance is due.

Where Adroit submersible mixers are used

Application areas

Municipal sewage treatment plants

Anoxic tanks, equalisation tanks and sludge holding tanks.

Municipal water treatment plants

Mixing in process and sludge tanks.

Effluent treatment plants

Homogenisation and solids suspension.

Food and beverage industry

Process and wastewater mixing.

Chemical processing plants

Blending chemicals and keeping fluids consistent.

Agricultural lagoons

Homogenising slurry for handling and irrigation.

Why choose Adroit's submersible mixer

Features & advantages

Low energy consumption

Efficient propeller design moves large volumes of liquid for little power.

Anti-clogging design

Propeller shape sheds rags and fibres.

Guide rail system

Easy installation, adjustment and removal for maintenance.

Compact structure

No bridge or superstructure needed over the tank.

Long service life

Built for continuous duty in wastewater.

Motor options

Motor rating and propeller selected for each tank.

Submersible mixer specifications

Dimensions & manufacturing

Guide rail with lifting arrangement

Installation

Tank size and shape, liquid depth, solids concentration, required flow velocity

Selection basis

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

Cycloxy Batchflow® SBR

Mixing & Aeration

SBR system using Cycloxy™ jet aspirators for aeration and mixing, with the Batchflow® floating weir decanter for controlled decanting.

View product

Batchflow® SBR

Mixing & Aeration

Sequencing batch reactor (SBR) system with a floating weir decanter built specifically for SBR plants.

View product

Agitator & Flash Mixer

Mixing & Aeration

Dynamically balanced flash mixers and agitators for coagulant dosing, chemical preparation and process mixing, for plants up to 150 MLD.

View product

Cycloxyâ„¢ Jet Aspirator

Mixing & Aeration

Aeration and mixing from one machine. Draws in atmospheric air through a hollow shaft and breaks it into fine bubbles underwater, with no blower and no diffuser grid.

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 Submersible Mixer

    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();
  }
})();