Stokes drag force calculator
A sphere of radius 0.001 m moving at 0.01 m/s through a fluid of 0.001 Pa·s feels a drag of 1.88496e-7 N. Enter viscosity, radius and speed to get the slow-flow drag force on the sphere. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Eta
- 0.001
- Radius
- 0.001
- Velocity
- 0.01
- Drag force
- 0.0000001885 N
- Precision
- 12
Students checking low-Reynolds homework, lab teams sizing microparticles, aerosol and sedimentation models, and microfluidic design all need that number without reopening a continuum-mechanics text every time.
What Stokes' law says and when it applies
In the creeping-flow limit of continuum fluid mechanics, the steady drag force on a rigid sphere of radius r moving at relative speed v through an unbounded Newtonian fluid of dynamic viscosity η is given by Stokes' law: F_d equals six times pi times eta times r times v. The derivation balances viscous shear on the sphere surface under the Stokes equations (inertia neglected relative to viscosity), which is appropriate when the Reynolds number based on diameter and relative speed is much less than one.
Search intent clusters around Stokes drag force calculator, Stokes law calculator, viscous drag on a sphere, six pi eta r v, and low Reynolds number drag—people want a numeric newton result they can check against a worksheet, embed in a sedimentation model, or feed into a larger pipeline. With SI inputs—viscosity in pascal-seconds, radius in metres, velocity in metres per second—the force is in newtons.
Typical classroom and lab examples use water near room temperature (η about one millipascal-second), micrometre-scale radii, and millimetre-per-second speeds so the product stays small but physically meaningful. The formula does not include buoyancy, added mass, wall corrections, or quadratic drag; those belong to other models when the Reynolds number is not small or the domain is confined.
What to enter and what you get back
An optional precision integer from zero to fifteen controls decimal places in the response (default twelve). Numeric strings that parse to finite numbers are accepted so forms and CSV-style pipelines can pass values without an extra cast. Dynamic viscosity must not be negative either, matching physical units for Newtonian fluids.
Velocity may be signed so the force direction follows the chosen axis under the linear Stokes law. Example: eta equals 0.001 Pa·s (water-like), radius equals 0.001 m, velocity equals 0.01 m/s yields a drag force of 6π times 10 to the minus eight newtons, about 1.885 times 10 to the minus seven N. There is no unit conversion table, no Reynolds-number gate, and no random or time-dependent term; this is pure deterministic Stokes drag from the three scalars.
Where Stokes drag helps and its limits
Classrooms and tutoring platforms use a Stokes drag force calculator so learners can check F equals 6πηrv for arbitrary viscosity, radius, and speed without flipping sign or factor-of-two errors by hand. Exam generators and LMS plugins need a deterministic oracle that marks negative radius as invalid instead of silently returning a magnitude that a buggy grader might treat as success. Failed validation does not consume balance.
Remember the model assumptions: unbounded Newtonian fluid, rigid sphere, steady creeping flow, and no wall or multi-body corrections—when those fail, switch to a more complete drag correlation rather than forcing Stokes' law beyond its regime.
What you can do with it
Microparticle and sedimentation estimates
Notebooks and lab scripts get a structured newton force for low-Re sphere drag without reimplementing six-pi arithmetic in every language.
FAQ
How do I compute Stokes drag force on a sphere?
Send finite numbers eta (dynamic viscosity in Pa·s), radius (sphere radius in m, non-negative), and velocity (m/s).
What happens if the radius is negative?
A negative sphere radius is not valid for Stokes' law in this calculator, and failed validation is not billed.
What units should I use?
Use SI: viscosity in Pa·s (N·s/m²), radius in metres, velocity in m/s. The force is then in newtons (N). Convert other unit systems before calling.
When is Stokes' law valid?
Stokes drag assumes low Reynolds number (creeping flow), a rigid sphere in an unbounded Newtonian fluid, and steady relative motion. At high Re or near walls, use a different drag model.
Does the Stokes drag result include buoyancy?
No. The result is only the viscous drag on the sphere. Buoyancy, added mass and wall corrections are not part of the formula, so add them separately if your problem needs them.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/mech/stokes-drag \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"eta":0.001,"radius":0.001,"velocity":0.01}'const res = await fetch("https://api.kit.forhosting.com/mech/stokes-drag", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"eta": 0.001,
"radius": 0.001,
"velocity": 0.01
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/stokes-drag",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"eta": 0.001,
"radius": 0.001,
"velocity": 0.01
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/stokes-drag", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"eta":0.001,"radius":0.001,"velocity":0.01}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"eta":0.001,"radius":0.001,"velocity":0.01}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/stokes-drag", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"eta": 0.001,
"radius": 0.001,
"velocity": 0.01
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.stokes_drag",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Stokes' law gives the viscous drag on a small sphere creeping through a fluid when inertia is negligible compared with viscosity: the force magnitude is six pi times dynamic viscosity times radius times speed. This Stokes drag force calculator accepts finite η, r, and v, multiplies them with the classic 6π factor, and returns the force in newtons as structured JSON with the formula echoed for display. A negative sphere radius is rejected with invalid_input instead of a hollow zero or a silent absolute-value trick.
What Stokes' law F = 6πηrv means and when it applies
Delivering eta, radius, velocity, drag_force, formula, method, and unit as JSON makes the result easy to paste into notes, diff in automated tests, or reuse across languages without reimplementing the arithmetic.
Input contract, validation, and response shape
POST a JSON body with three required finite numbers: eta (dynamic viscosity η in Pa·s; aliases viscosity, dynamic_viscosity, mu), radius (sphere radius r in metres; aliases r, R), and velocity (relative speed v in m/s; aliases v, speed, u). Missing fields, empty strings, non-numeric text, NaN, and Infinity fail immediately with invalid_input before any result is returned, and failed validation is not charged. The radius must not be negative: a negative sphere radius has no geometric meaning in this Stokes setup and is always rejected with a clear invalid_input message naming the field. On success the body echoes eta, radius, and velocity at the requested precision, returns drag_force as six pi eta radius velocity rounded the same way, and includes method stokes_drag, the formula string, and unit N.
Where a Stokes drag API earns its keep, pricing, and limits
Lab notebooks for microparticle tracking, falling-sphere viscosity demos, and aerosol settling estimates often reduce the viscous term to Stokes drag when Re is small; calling a tiny parse API avoids reimplementing the same product in every language. Keep requests small, pin rounded drag_force in tests, and you get reproducible newtons for homework, microfluidics sketches, and edge workers without standing up a full CFD stack.
Integration use cases
Homework and lab Stokes-law drills
Students and graders confirm viscous drag F=6πηrv for given viscosity, radius, and speed, with clear rejection when the sphere radius is negative.
Deterministic fixtures for physics tests
CI and LMS pipelines pin golden drag_force values from a pure parse oracle instead of floating hand-calculated constants that drift across runtimes.
Technical questions
What does the Stokes drag force calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.