Hydraulic conductivity from permeability calculator
This hydraulic conductivity calculator converts intrinsic permeability into hydraulic conductivity for water by applying the relationship K = kρg/μ.
Run — free
Enter permeability in square meters, water density in kilograms per cubic meter, dynamic viscosity in pascal-seconds, and gravitational acceleration in meters per second squared. The result is returned in meters per second. Because density and viscosity vary with temperature, using values that match the actual water conditions produces a more meaningful estimate than relying on generic constants.
Understand what the calculation connects
Intrinsic permeability and hydraulic conductivity describe related but different properties. Intrinsic permeability, represented by k, describes how readily the connected pore structure of a material can transmit a fluid. Its SI unit is square meters, and it belongs to the porous material rather than to a particular liquid. Hydraulic conductivity, represented by K, describes how readily that material transmits a specific fluid under a hydraulic gradient. It therefore depends both on the pore structure and on fluid properties. This calculator uses K = kρg/μ, where ρ is fluid density, g is gravitational acceleration, and μ is dynamic viscosity. The SI dimensions reduce to meters per second, which is the returned unit. Keep that distinction in mind when comparing laboratory permeability measurements with field hydraulic-conductivity values: two fluids moving through the same material can have different conductivities because their densities or viscosities differ, while the material's intrinsic permeability remains unchanged. The equation assumes compatible SI quantities and a saturated-flow interpretation.
Choose water properties that match the conditions
For water, viscosity is often the most condition-sensitive input. Warmer water is less viscous and therefore produces a higher hydraulic conductivity for the same intrinsic permeability, density, and gravity. Density changes with temperature too, although its relative variation is usually smaller over ordinary environmental ranges. Use a trusted property table or measured values at the temperature, pressure, and composition relevant to the sample. Enter dynamic viscosity in pascal-seconds, not kinematic viscosity in square meters per second; confusing these two properties effectively applies density incorrectly. The calculator requires viscosity to be greater than zero because the equation divides by it, and zero or negative viscosity is physically invalid for this purpose. Density and gravity must also be positive, while permeability may be zero to represent an idealized impermeable material. Standard gravity, 9.80665 m/s², is supplied when gravity is omitted, but a local value can be entered for work that requires it. Keeping every input in the stated SI unit prevents hidden conversion errors.
Interpret and check the conductivity result
The result is hydraulic conductivity in meters per second. It is a proportional calculation: doubling intrinsic permeability, water density, or gravity doubles conductivity, while doubling dynamic viscosity halves it. That behavior provides a quick way to check whether a result moves in the expected direction. It is also useful to review the exponent on permeability, because values for soils and rocks are commonly written in scientific notation and a misplaced exponent can change the answer by orders of magnitude. The calculation itself does not classify a soil, infer saturation, account for anisotropy, or model preferential fractures. If permeability differs by direction, calculate each directional component separately using the corresponding intrinsic permeability. For reporting, retain the input water properties alongside the result so another reader can reproduce the conversion and understand the assumed conditions. Field-scale conductivity can depart from a laboratory-derived estimate because of heterogeneity, incomplete saturation, scale effects, or measurement uncertainty. Treat the result as the direct physical conversion of the supplied quantities, not as a substitute for site characterization.
What you can do with it
Convert a laboratory permeability result
Turn intrinsic permeability measured in square meters into water hydraulic conductivity using the fluid conditions of the test.
Compare temperature scenarios
Recalculate conductivity with temperature-specific water density and dynamic viscosity to see how fluid conditions affect flow capacity.
Prepare hydrogeology model inputs
Convert material-property data into SI hydraulic conductivity while preserving the assumptions used for density, viscosity, and gravity.
FAQ
What equation does the calculator use?
It uses K = kρg/μ, where k is intrinsic permeability, ρ is fluid density, g is gravitational acceleration, and μ is dynamic viscosity.
What units should I enter?
Use m² for permeability, kg/m³ for density, Pa·s for dynamic viscosity, and m/s² for gravity. The result is in m/s.
Why must viscosity be greater than zero?
Viscosity is the divisor in the equation. Zero would make the calculation undefined, and a negative value is not physically valid here, so either input returns an error.
Does the calculator assume standard gravity?
Yes. If gravity is omitted, it uses standard gravity of 9.80665 m/s². You can provide another positive local value.
Is intrinsic permeability the same as hydraulic conductivity?
No. Intrinsic permeability describes the porous material, while hydraulic conductivity also depends on the density and viscosity of the fluid.
What does an API calculation cost?
Each API request costs $0.002. The browser calculator is available without an API request.
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/earth/hydraulic-conductivity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"permeability":1e-12,"fluid_density":998.2,"fluid_viscosity":0.001002}'const res = await fetch("https://api.kit.forhosting.com/earth/hydraulic-conductivity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"permeability": 1e-12,
"fluid_density": 998.2,
"fluid_viscosity": 0.001002
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/earth/hydraulic-conductivity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"permeability": 1e-12,
"fluid_density": 998.2,
"fluid_viscosity": 0.001002
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/earth/hydraulic-conductivity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"permeability":1e-12,"fluid_density":998.2,"fluid_viscosity":0.001002}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"permeability":1e-12,"fluid_density":998.2,"fluid_viscosity":0.001002}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/earth/hydraulic-conductivity", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"permeability": 1e-12,
"fluid_density": 998.2,
"fluid_viscosity": 0.001002
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "earth.hydraulic_conductivity",
"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. |