Torricelli equation calculator
Starting at 10 m/s and accelerating at 2 m/s² over 50 m, a body reaches 17.320508075689 m/s. Enter initial velocity, acceleration and displacement to get the final speed and each step, no time required. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- U
- 10
- A
- 2
- S
- 50
- Radicand
- 300
- Voltage (V)
- 17.3205080757
- Final speed
- 17.3205080757
- Final velocity
- 17.3205080757
A Torricelli equation calculator applies the third constant-acceleration kinematics relation: the square of final speed equals the square of initial velocity plus twice acceleration times displacement. Enter three finite numbers—u (initial velocity), a (constant acceleration), and s (displacement)—and the tool returns the non-negative final speed, the radicand u² + 2as, a readable substitution equation, a short physics message, and ordered step strings you can paste into homework checks or automated tests. Zero radicand correctly yields final speed zero (the body comes to rest over the given displacement). Signed u, a, and s support deceleration, reverse axes, and opposing displacement while the reported speed remains non-negative by definition of the square root.
What v² = u² + 2as means in constant-acceleration kinematics
Under constant acceleration the velocity of a particle changes at a fixed rate, but many textbook and lab problems give displacement instead of elapsed time. Torricelli’s equation closes that gap: the square of the final speed equals the square of the initial velocity plus twice the product of acceleration and displacement.
Algebraically this follows from eliminating time between v equals u plus a t and s equals u t plus one half a t squared, or from the work–energy idea that a constant force does work proportional to displacement and changes kinetic energy.
Initial velocity u may be positive or negative depending on the chosen positive direction; acceleration a may be positive or negative for speeding up or slowing down along that axis; displacement s is the signed change of position over the interval, not necessarily the path length if the particle reverses. The calculator returns the non-negative square root of the radicand, which is the final speed magnitude consistent with classroom “how fast is it going” wording.
When u² plus two a s is negative, no real speed satisfies the equation for those inputs—for example a large opposing deceleration over a short positive displacement can make the radicand negative—and the tool rejects that case rather than returning NaN or a complex number. When the radicand is exactly zero the final speed is zero.
The tool does not convert units: if u is in metres per second and a is in metres per second squared, s must be in metres so that two a s has the same unit as u squared and the square root is a consistent velocity. Keep one coherent system end to end rather than mixing SI and imperial mid-equation.
Practical tips, limits, and related searches
Use a consistent unit system for all three inputs before calling; this landing does not perform unit conversion. When teaching direction conventions, keep the signs of a and s aligned with the positive axis you chose for u rather than treating “slowing down” as always negative without defining axes.
This page targets people searching for a Torricelli equation calculator, v squared equals u squared plus two a s, final speed from displacement, or constant-acceleration kinematics without time; it is not a full SUVAT suite that also solves for time or mixed unknowns, not a variable-acceleration integrator, and not a unit converter. Round-trip checks are easy: recompute u squared plus two a s by hand, take the non-negative square root, and confirm it equals the published v within the same twelve-decimal rounding used in the response.
What you can do with it
Homework checks for Torricelli / SUVAT without time
Students enter u, a, and s from textbook constant-acceleration problems that omit time and compare hand-written final speed and radicand steps against a deterministic result.
Lab pre-check when only displacement is measured
Pipelines validate final speed from u, a, and s first when timers are unavailable, then branch to multi-segment trajectories only when the single-interval Torricelli check matches lab notes.
FAQ
What formula does the Torricelli equation calculator use?
It uses v² = u² + 2 a s and returns the non-negative square root as final speed, where u is initial velocity, a is constant acceleration, and s is displacement.
Why is a negative radicand rejected?
When u² + 2as is negative there is no real final speed for those inputs.
Is the result speed or signed velocity?
The calculator returns final speed: the non-negative square root of the radicand. Direction is encoded in the signs of u, a, and s that form the radicand, not in a negative v.
Does this convert units for me?
No. Keep u, a, and s in one consistent unit system (for example m/s, m/s², and m). The calculator only evaluates v² = u² + 2as.
Is the Torricelli equation calculator free?
The browser tool is free and runs locally.
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/torricelli-equation \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"u":10,"a":2,"s":50}'const res = await fetch("https://api.kit.forhosting.com/mech/torricelli-equation", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"u": 10,
"a": 2,
"s": 50
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/torricelli-equation",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"u": 10,
"a": 2,
"s": 50
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/torricelli-equation", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"u":10,"a":2,"s":50}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"u":10,"a":2,"s":50}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/torricelli-equation", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"u": 10,
"a": 2,
"s": 50
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.torricelli_equation",
"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
When the radicand is negative there is no real final speed under this model, and the request fails with a clear invalid_input error instead of inventing a complex root. Pricing is a flat $0.002 per successful API request; failed validation is never charged.
How to call the API and what comes back
Absolute values of u, a, and s must stay within the published limit of one trillion. Send a JSON body with three required finite numbers: u (aliases initial_velocity, u0, and v0), a (aliases acceleration and accel), and s (aliases displacement, distance, and ds). Failed validation—missing fields, non-finite numbers, values outside absolute limits, a non-finite radicand or speed, a final speed outside the absolute cap, or a negative radicand—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item. Prefer sending JSON numbers when you control the client; string numbers are accepted only when they match a strict finite numeric pattern, which keeps homework-form paste paths working without accepting arbitrary text. Prefer this endpoint when you already know u, a, and s and only need the final speed; if your problem gives time instead of displacement, use a time-based kinematics calculator such as v equals u plus a t.
Practical tips, limits, and related searches
Keep u, a, and s inside the published absolute range so the products u squared and two a s remain finite in IEEE double precision on the Worker and in the browser. Pair classroom examples deliberately: u equals ten, a equals two, s equals fifty yields radicand three hundred and final speed about seventeen point three two; u equals twenty, a equals negative four, s equals thirty yields a smaller real speed after deceleration; u equals five, a equals zero, s equals twelve demonstrates uniform motion where final speed equals the magnitude of u; and a case with large opposing a and s that makes u squared plus two a s negative demonstrates the hard invalid_input path for a negative radicand. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately pass impossible triples.
Integration use cases
Unit tests for physics engine helpers
Generate known-good accelerate, decelerate, and rest cases plus deliberate negative-radicand rejections for coding kata expected values in games or simulators.