Shear wave velocity calculator
A solid with a shear modulus of 81 000 000 000 Pa and a density of 9000 kg/m³ carries shear waves at 3000 m/s. Enter G in pascals and density in kg/m³ to get the S-wave speed of an ideal elastic solid. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Shear modulus
- 81,000,000,000
- Density
- 9,000
- Shear wave velocity
- 3,000
- Shear wave velocity unit
- m/s
- Modulus over density
- 9,000,000
- Model
- isotropic_linear_elastic
A shear wave velocity calculator converts a material's shear modulus and mass density into the speed of an S-wave. The model is a homogeneous isotropic linear-elastic solid: small-amplitude shear waves travel at a single speed independent of frequency, with particle motion perpendicular to the propagation direction. Negative shear modulus is likewise rejected because the square root would leave the real numbers. Zero modulus at a positive density is allowed and yields vs equal to zero, the ideal-fluid limit that cannot carry an S-wave.
What shear wave velocity means in an elastic solid
In a homogeneous isotropic linear-elastic solid, a shear wave — also called an S-wave or secondary wave — is a body wave whose particle motion is perpendicular to the direction of travel. Its phase speed is set by the ratio of shear stiffness to inertia: vs equals the square root of the shear modulus G divided by the mass density ρ. With G in pascals (newtons per square metre) and ρ in kilograms per cubic metre, vs comes out in metres per second.
Physically, a stiffer shear modulus restores a sheared element faster, so the disturbance races ahead; a denser material has more inertia per unit volume and the same restoring stress accelerates it less, so the wave slows. Fluids have vanishing shear modulus, so they cannot support an S-wave in this model and the calculator returns a speed of zero when G is zero at a positive density.
The formula is the isotropic limit of the Christoffel equation for a purely transverse polarisation; it does not include attenuation, anisotropy, pore-fluid coupling, or finite-strain corrections. Geotechnical site classification, seismic microzonation, and laboratory resonant-column tests all quote vs because it is the number that converts a measured G and a known ρ into a propagation speed, or conversely converts a measured travel time into a stiffness.
Teachers and reviewers care about the zero-density rejection as much as the arithmetic path, because a student who sets ρ to zero has left the continuum-solid model. The check path recomputes the ratio and square root with the same fixed rounding used for published fields, so a successful response always ships with steps you can assert in tests or worksheets.
Practical tips, units, and related searches
Keep shear modulus and density inside the published absolute range so the quotient and square root cannot overflow into non-finite results that the solver must reject. Prefer sending numbers rather than pre-formatted strings when you control the client; string numbers are accepted only when they match a strict finite numeric pattern.
Use consistent SI units: pascals and kilograms per cubic metre yield metres per second; if your problem states gigapascals or grams per cubic centimetre, convert first (one gigapascal is one billion pascals; one gram per cubic centimetre is one thousand kilograms per cubic metre). Typical crustal rock sits near a few kilometres per second; structural steel is a similar order; unconsolidated soils are much slower.
This landing targets people searching for a shear wave velocity calculator, S-wave speed from modulus and density, or vs equals square root of G over rho online; it is not a taut-string wave-speed tool, not a shear-stress calculator, and not a full anisotropic velocity solver. Prefer this capability when you already have G and ρ under isotropic linear-elastic assumptions; if your source is a word problem, extract those two numbers and convert units first.
What you can do with it
Homework checks for elastic S-wave speed
Students enter shear modulus and density from textbook isotropic-solid problems and compare hand-written √(G/ρ) against a deterministic result before submitting.
Geotechnical site notes from lab G and ρ
Convert a resonant-column or bender-element shear modulus and a measured bulk density into vs for site-class tables and settlement screening.
FAQ
What is shear wave velocity?
For a homogeneous isotropic linear-elastic solid with shear modulus G and mass density ρ, the S-wave speed is vs = √(G/ρ). With G in pascals and ρ in kg/m³, vs is in metres per second.
What happens when density is zero?
The formula divides by zero, so the shear wave velocity is undefined.
Why is a negative shear modulus rejected?
A negative G is outside the isotropic real-speed model: G/ρ would be negative at positive density and the square root would not be real.
Is the shear wave velocity calculator free?
The browser tool is free and runs locally.
Does a denser material carry shear waves faster or slower?
Slower, for the same shear modulus. A denser material has more inertia in each unit of volume, so the same restoring stress accelerates it less and the wave falls behind.
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/phys/shear-wave-velocity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"shear_modulus":81000000000,"density":9000}'const res = await fetch("https://api.kit.forhosting.com/phys/shear-wave-velocity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"shear_modulus": 81000000000,
"density": 9000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/shear-wave-velocity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"shear_modulus": 81000000000,
"density": 9000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/shear-wave-velocity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"shear_modulus":81000000000,"density":9000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"shear_modulus":81000000000,"density":9000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/shear-wave-velocity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"shear_modulus": 81000000000,
"density": 9000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.shear_wave_velocity",
"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 density is zero the formula divides by zero, so the API returns a clear invalid_input error instead of inventing an infinite speed.
How to call the API and what comes back
Shear modulus must be non-negative; mass density must be strictly positive. Values of density whose absolute value is at or below one times ten to the minus fifteen are treated as zero and rejected, matching the product rule that zero ρ makes shear wave velocity undefined. Send a JSON body with two required finite numbers: shear_modulus (aliases G, modulus, mu, rigidity, shear_modulus_pa, rigidity_modulus) and density (aliases rho, ρ, mass_density, density_kg_m3). Absolute values must stay within the published limit of one trillion so intermediate products remain finite in IEEE double precision on the Worker and in the browser. On success the response echoes rounded shear_modulus and density, sets shear_wave_velocity to vs in m/s, shear_wave_velocity_unit to the string m/s, modulus_over_density to the G over ρ ratio, formula to the classic vs equals square root of G over ρ string, model to isotropic_linear_elastic, message to a short English summary, and steps to an ordered array of substitution lines. Failed validation—missing fields, non-finite numbers, values outside absolute limits, negative modulus, negative density, or zero density—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item. Pair this endpoint with your own P-wave or Poisson-ratio helpers if you need compressional speed; this capability returns only the shear branch.
Practical tips, units, and related searches
When teaching, pair examples: eighty-one billion pascals and nine thousand kilograms per cubic metre give vs equals three thousand metres per second; zero modulus at a thousand kilograms per cubic metre yields zero speed; and density equals zero demonstrates the hard invalid_input path. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately set density to zero. Round-trip checks are easy: recompute G divided by ρ by hand, take the square root, and confirm it equals the published shear_wave_velocity within the same twelve-decimal rounding.
Integration use cases
Unit tests for seismology and NDT helpers
Generate known-good speeds at fixed G and ρ, zero-modulus fluid cases, and deliberate zero-density rejections for coding kata expected values.
Technical questions
Does zero shear modulus mean no S-wave?
Yes in this model. Zero G yields vs = 0 for any positive density: an ideal fluid has no shear stiffness and cannot carry a transverse body wave.