Reduced properties calculator
A gas at 50 bar and 400 K, with a critical pressure of 100 bar and a critical temperature of 300 K, has a reduced pressure of 0.5 and a reduced temperature of 1.333333333333. Add the volumes to get the reduced volume too. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Power (W)
- 50
- Actual absolute temperature
- 400
- Voltage (V)
- 0.2
- Critical pressure
- 100
- Critical temperature
- 300
- Vc
- 0.1
- Pr
- 0.5
- Tr
- 1.3333333333
- Vr
- 2
- Reduced pressure
- 0.5
A reduced properties calculator turns an actual gas state and the pure-substance critical constants into the three dimensionless variables used in the principle of corresponding states. Homework checks, equation-of-state homework, compressibility-chart lookups, and coding kata expected values all need the same three ratios without opening a process-design handbook.
What reduced pressure, temperature, and volume mean
In classical thermodynamics and chemical engineering, pure fluids are often compared after scaling each property by its value at the critical point. The reduced pressure is defined as actual pressure divided by critical pressure, the reduced temperature as actual absolute temperature divided by critical temperature, and the reduced volume as actual volume or molar volume divided by the critical volume.
Because each ratio is dimensionless, gases that share the same Pr and Tr often exhibit similar compressibility factors even when their absolute pressures and temperatures look nothing alike—that observation is the principle of corresponding states and underpins generalized compressibility charts, simple corresponding-states equations of state, and many textbook correlation methods. Critical constants are substance-specific tables values: for example carbon dioxide has a critical temperature near three hundred four kelvin and a critical pressure near seventy-four bar, while water’s critical point sits near six hundred forty-seven kelvin and twenty-two megapascals.
Your actual state must use the same unit system as those criticals: if Pc is in bar then P must be in bar; if Tc is in kelvin then T must already be absolute (never Celsius without conversion); if Vc is in litres per mole then V must be in litres per mole. This calculator does not convert units or look up critical tables—it only forms the three ratios once you supply a consistent six-tuple.
Teachers and automated graders also care about the zero-critical rejection: a student who leaves Pc blank or types zero has left the domain of the definition, and returning Infinity would hide that mistake instead of teaching it.
Practical tips, limits, and related searches
Keep all six inputs inside the published absolute range so none of the three divisions can overflow into a non-finite reduced variable 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. Convert Celsius to kelvin before calling—two hundred seventy-three point fifteen plus the Celsius reading—because a reduced temperature built from Celsius is meaningless against a kelvin critical table.
Match pressure units carefully: mixing megapascals for P with bar for Pc produces a silently wrong Pr that still looks numerically plausible. Prefer this capability when you already have both the state and the three critical constants and only need the dimensionless ratios; if your source is a multiphase process stream, resolve pure-component or pseudocritical constants first. Round-trip checks are easy: recompute each ratio by hand and confirm it equals the published pr, tr, or vr within the same twelve-decimal rounding.
What you can do with it
Pre-flight before compressibility-chart lookup
Pipelines compute Pr and Tr first, then index a Z chart or corresponding-states correlation only when the reduced pair falls inside the chart domain.
FAQ
What are reduced state variables?
They are dimensionless ratios of an actual property to the same property at the critical point: Pr = P/Pc, Tr = T/Tc, and Vr = V/Vc. Gases at the same Pr and Tr often behave similarly (principle of corresponding states).
Do I need matching units for P and Pc?
Yes. Use the same pressure unit for P and Pc, the same absolute temperature scale for T and Tc, and the same volume unit for V and Vc. The calculator only divides; it does not convert units.
Does this return the compressibility factor Z?
No. It returns only the three reduced variables and substitution steps. Use a compressibility chart or equation of state with Pr and Tr if you need Z.
Is the reduced properties calculator free?
The browser tool is free and runs locally.
Where do I get the critical constants?
From a property table for the pure substance, because each substance has its own critical point. The calculator does not look them up, so enter Pc, Tc and Vc in the same units as your actual state.
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/chem/reduced-state-variables \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"p":50,"t":400,"v":0.2,"pc":100,"tc":300,"vc":0.1}'const res = await fetch("https://api.kit.forhosting.com/chem/reduced-state-variables", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"p": 50,
"t": 400,
"v": 0.2,
"pc": 100,
"tc": 300,
"vc": 0.1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/chem/reduced-state-variables",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"p": 50,
"t": 400,
"v": 0.2,
"pc": 100,
"tc": 300,
"vc": 0.1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/chem/reduced-state-variables", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"p":50,"t":400,"v":0.2,"pc":100,"tc":300,"vc":0.1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"p":50,"t":400,"v":0.2,"pc":100,"tc":300,"vc":0.1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/chem/reduced-state-variables", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"p": 50,
"t": 400,
"v": 0.2,
"pc": 100,
"tc": 300,
"vc": 0.1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "chem.reduced_state_variables",
"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.
Limits
max_abs | 1000000000000 |
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
Enter pressure P, absolute temperature T, and volume or molar volume V together with critical pressure Pc, critical temperature Tc, and critical volume Vc; the tool returns Pr equals P over Pc, Tr equals T over Tc, and Vr equals V over Vc, plus mirrored reduced_pressure, reduced_temperature, and reduced_volume fields, the shared formula string, and step-by-step substitution lines. When any critical constant is zero the division is undefined, so the API returns a clear invalid_input error instead of infinity or NaN.
How to call the API and what comes back
Actual pressure, temperature, and volume must be strictly positive. Each critical constant must be non-zero; values whose absolute value is at or below one times ten to the minus fifteen are treated as zero and rejected with a message that names the failing critical field. Send a JSON body with six required finite numbers: p (aliases pressure and P), t (aliases temperature, T, temp, and kelvin), v (aliases volume, V, molar_volume, and Vm), pc (aliases critical_pressure, Pc, P_c, and p_c), tc (aliases critical_temperature, Tc, T_c, and t_c), and vc (aliases critical_volume, Vc, V_c, v_c, and critical_molar_volume). Absolute values must stay within the published limit of one trillion so intermediate quotients remain finite in IEEE double precision on the Worker and in the browser. On success the response echoes rounded p, t, v, pc, tc, and vc; sets pr, tr, and vr to the three reduced variables; mirrors them as reduced_pressure, reduced_temperature, and reduced_volume; sets formula to the string Pr equals P over Pc comma Tr equals T over Tc comma Vr equals V over Vc; sets message to a short English summary; and sets steps to an ordered array of substitution lines you can show in a worksheet or assert in tests. Failed validation—missing fields, non-finite numbers, values outside absolute limits, non-positive state variables, a zero critical constant, or a non-finite reduced quotient—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.
Practical tips, limits, and related searches
When teaching, pair examples: P equals fifty, T equals four hundred, V equals zero point two with Pc equals one hundred, Tc equals three hundred, Vc equals zero point one yields Pr equals zero point five, Tr approximately one point three three three, and Vr equals two; then deliberately set Pc equals zero to demonstrate the hard invalid_input path naming critical pressure. This landing targets people searching for a reduced properties calculator, reduced pressure temperature volume, Pr Tr Vr, or corresponding-states reduced variables online; it is not a Z-factor chart reader, not a critical-property estimator, and not a full equation-of-state solver. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately probe the zero-critical edge.
Integration use cases
Homework checks for corresponding states
Students enter textbook P, T, V and tabulated Pc, Tc, Vc, then compare hand-written Pr, Tr, and Vr against a deterministic API result before submitting.
Unit tests for EOS and process simulators
Generate known-good reduced triples plus deliberate zero-critical rejections for coding kata expected values and regression fixtures.
Technical questions
What happens when a critical constant is zero?
Division by zero is undefined. This tool returns invalid_input and names which critical field (pc, tc, or vc) failed instead of returning Infinity or NaN.