ForHosting KIT · Science

Mohr's circle calculator

Normal stresses of 80 and 20 with a shear of 40 give principal stresses of 100 and 0 and a maximum shear of 50, in whatever unit you use. Enter the three plane-stress values to get Mohr's circle without drawing it. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Sigma x
80
Sigma y
20
Tau xy
40
You get
Sigma 1
100
Sigma 2
0
Tau max
50
Center
50

Mohr's circle is the geometric picture of a two-dimensional plane-stress state: given the normal stresses on the x and y faces and the shear that acts with them, the circle's center and radius fix the two principal stresses and the in-plane maximum shear. Engineers, students, and finite-element post-processors need those three numbers without redrawing the circle by hand or re-deriving the eigenvalue problem of the two-by-two stress tensor.

What Mohr's circle shows

A plane-stress state is fully described by three numbers: the normal stress on the x-face, the normal stress on the y-face and the in-plane shear that acts with them. Mohr's circle turns those numbers into a picture. Normal stress goes on the horizontal axis and shear on the vertical one, the known point is plotted, and the circle is centred on the average of the two normal stresses. Where the circle crosses the horizontal axis you read the two principal stresses, the centre plus and minus the radius, and the radius itself is the maximum in-plane shear. The calculator gives you those numbers directly, so there is no need to draw the circle or solve the two-by-two stress problem by hand.

Reading the results and avoiding mistakes

With 80 on the x-face, 20 on the y-face and a shear of 40, the centre and the radius are both 50, so the principal stresses are 100 and 0 and the maximum shear is 50. Keep tension positive and compression negative, and use one unit for all three values. When the two normal stresses are equal and the shear is zero, the circle shrinks to a point: both principal stresses are equal and there is no in-plane shear, which is a valid hydrostatic result. Students use these figures to check homework, and engineers use them to post-process finite-element results.

What happens if a stress component is not a finite number?

Missing values, empty strings, NaN, and Infinity are rejected and are not billed.

How are the centre and radius of Mohr's circle found?

The centre is the average of the two normal stresses. The radius is the square root of half their difference squared plus the shear squared. For 80, 20 and 40, both come out at 50.

What does a radius of zero mean?

It means the two normal stresses are equal and there is no shear. Both principal stresses then equal that same hydrostatic value and there is no in-plane shear to rotate away. It is a valid state, not an error.

Should compressive stress be entered as a negative number?

Yes. Tension is positive and compression is negative for both normal stresses, so a compressed face pulls the centre of the circle toward the negative side of the axis.

Which stress unit should I use?

Any coherent unit, such as MPa or psi, as long as all three values use the same one. The principal stresses, the maximum shear, the centre and the radius come back in that same unit.

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.

POSThttps://api.kit.forhosting.com/phys/mohr-circle

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.

curl -X POST https://api.kit.forhosting.com/phys/mohr-circle \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sigma_x":80,"sigma_y":20,"tau_xy":40}'
{
  "sigma_x": 80,
  "sigma_y": 20,
  "tau_xy": 40
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "phys.mohr_circle",
  "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.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This Mohr circle calculator accepts finite sigma_x, sigma_y, and tau_xy, applies the closed-form identities that sigma_1 and sigma_2 equal the average normal stress plus or minus the Mohr radius and that tau_max equals that radius, and returns structured JSON you can pin in homework, lab notes, or a regression suite. When any stress component is missing, empty, infinite, or not a number, the task fails with invalid_input instead of emitting a silent NaN that would poison a downstream safety check.

What Mohr's circle reports for a 2D stress state

When the two normals are equal and shear vanishes, the radius collapses to zero, both principals equal the hydrostatic value, and there is no in-plane shear to rotate away — that hydrostatic case is a valid input, not an error. Search queries such as mohr circle calculator, principal stress calculator, and maximum shear from plane stress all want those three results as numbers, not a reminder that a construction exists. The two-dimensional plane-stress state of a material element is fully specified by three numbers: the normal stress on the x-face (sigma_x), the normal stress on the y-face (sigma_y), and the in-plane shear (tau_xy). Mohr's circle is the picture of that tensor: plot normal stress horizontally and shear vertically, mark the known point (sigma_x, tau_xy), and the circle centred on the average of the two normals with radius equal to the distance to that point contains every possible orientation of the element. The extreme horizontal intercepts are the principal stresses sigma_1 (algebraically larger) and sigma_2 (algebraically smaller); the extreme vertical extent is the in-plane maximum shear tau_max, equal to the radius. The same geometry is the eigenvalue problem of the two-by-two stress matrix, so this calculator does not draw a figure — it evaluates the closed-form identities sigma_1,2 equals (sigma_x plus sigma_y) divided by two, plus or minus the square root of ((sigma_x minus sigma_y) over two) squared plus tau_xy squared, and tau_max equals that same square root. Delivering sigma_x, sigma_y, tau_xy, sigma_1, sigma_2, tau_max, center, radius, and formula as JSON makes the result easy to paste into notes, diff in automated tests, or reuse across languages without reimplementing the square-root arithmetic.

Input contract, response shape, and error behaviour

There is no extra domain restriction: compression (negative normals), tension, zero shear, and negative shear are all legal finite stress states. Results are rounded to twelve decimal places so goldens compare byte-for-byte across JavaScript engines; minus-zero is normalised to zero. POST a JSON body with three required finite numbers: sigma_x, the normal stress on the x-face; sigma_y, the normal stress on the y-face; and tau_xy, the in-plane shear that acts with them. Each field may arrive as a JSON number or as a numeric string so forms and CSV-style pipelines can pass values without an extra cast. Missing fields, empty strings, non-numeric text, NaN, and Infinity all fail immediately with invalid_input that names the offending field, and failed validation is not billed. After validation the engine computes the Mohr centre as the average of sigma_x and sigma_y, the radius as the Euclidean combination of half the normal difference and tau_xy, then sigma_1 as centre plus radius, sigma_2 as centre minus radius, and tau_max as the radius. The success body echoes the three inputs and returns sigma_1, sigma_2, tau_max, center, radius, and a formula string restating the identities. Example: sigma_x equals eighty, sigma_y equals twenty, tau_xy equals forty yields centre fifty, radius fifty, principals one hundred and zero, and maximum shear fifty — the classic 3-4-5 triangle of Mohr's circle. Pair the response with your own plotting code if you need a sketch of the circle; this endpoint solves the invariants only and does not emit images or step-by-step drafting prose beyond the formula field. The same pure function powers the free in-browser tool and the API path, so homework checks and production pipelines never disagree on a floating-point edge case.

Where a Mohr-circle API earns its keep, limits, and pricing

Exam-prep generators need a deterministic oracle that rejects a non-finite component instead of silently returning NaN that a buggy grader might treat as success. Sign convention follows the usual continuum-mechanics two-dimensional tensor: the principal values and the in-plane maximum shear magnitude do not depend on which textbook draws shear positive-up or positive-down on Mohr's circle, because those values come from the invariants. Units are yours — megapascals, pounds per square inch, or any coherent stress unit — as long as all three components share that unit; the output uses the same unit. Failed validation does not consume balance. Classrooms and tutoring platforms use a Mohr circle calculator so learners can check principal stresses and maximum shear for arbitrary sigma_x, sigma_y, and tau_xy without mixing the half-angle identities by hand. Strain-gauge reductions, weld and shaft checks, and finite-element snapshots often collapse a 2D tensor to the same three components; calling a tiny parse API avoids pulling a full computer-algebra or continuum-mechanics library for an eigenvalue problem that has a closed form. This calculator reports the in-plane tau_max equal to the Mohr radius; it does not introduce a third out-of-plane principal of zero, does not compute von Mises or Tresca equivalent stress, and does not rotate a three-dimensional tensor.

Classroom and homework checks

Let students submit sigma_x, sigma_y, and tau_xy and verify both principal stresses plus in-plane maximum shear against the Mohr-circle construction in a mechanics-of-materials textbook.

Exam and LMS auto-grading

Mark 2D principal-stress items with a deterministic oracle that rejects non-finite components as invalid_input and never invents a NaN success payload.

Strain-gauge and FE snapshot reduction

Collapse a plane-stress tensor to sigma_1, sigma_2, and tau_max in notebooks and design helpers without importing a full continuum-mechanics library.

How do I get principal stresses and max shear from a 2D stress state?

Send finite numbers sigma_x, sigma_y, and tau_xy. The API returns sigma_1 = center + radius, sigma_2 = center − radius, and tau_max equal to the Mohr radius R = sqrt(((sigma_x−sigma_y)/2)^2 + tau_xy^2).

Is tau_max the 3D Tresca maximum shear (including σ3 = 0)?

No. tau_max is the in-plane Mohr-circle radius. The calculator does not assume a free-surface third principal of zero and does not compute von Mises or Tresca equivalent stress.

Does the sign of tau_xy change the principal values?

No. Principal stresses and the in-plane max-shear magnitude depend on tau_xy squared, so reversing shear leaves sigma_1, sigma_2, and tau_max unchanged. Hydrostatic equal normals with zero shear is a valid input: both principals equal that value and tau_max is zero.

What does the Mohr circle calculator cost?

The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.

Read the full KIT documentation →