Live API reference
Base URL: https://www.engivault.com/api. These 34 numerical calculation endpoints and the unit-conversion endpoint are available without an API key during the public beta. Each entry below includes the input units, output fields, an executable example and the model assumptions.
For the numerical calculators, send a JSON object with numeric input values using POST and Content-Type: application/json. Unit labels apply individually: temperatures may be °C or K, and elastic modulus may be Pa or GPa. Select inputs use the numeric codes listed in their options.
Responses and errors
Successful calculations return HTTP 200 with {"success":true,"data":{...}}. Invalid JSON or inputs return HTTP 400 with an error message. An unknown calculation returns HTTP 404. Request bodies longer than 8192 characters return HTTP 413. Error responses always include an error field; do not rely on a success field being present in every error response.
GET /health reports service status. GET /calculators provides calculator input/output metadata, assumptions and source links. The unit converter uses string category and unit IDs; its metadata links to the dedicated /units endpoint.
Engineering unit conversion
GET /units lists category IDs, supported unit IDs, names, symbols, conversion mode, notes and category references. An empty sources array means references have not been recorded for that legacy category; it is not a completed source review.
POST /units requires exactly four fields: category, fromUnit and toUnit are case-sensitive strings from the catalog; value is a finite JSON number. Both units must belong to the selected category. Unknown fields, invalid units, incompatible quantities and numerical overflow or underflow return HTTP 400.
curl 'https://www.engivault.com/api/units' -H 'Content-Type: application/json' --data '{"category":"volume","value":1,"fromUnit":"gal_us","toUnit":"L"}'Example response
{
"success": true,
"data": {
"category": "volume",
"fromUnit": "gal_us",
"toUnit": "L",
"convertedValue": 3.785411784,
"symbol": "L"
}
}The response data includes category, fromUnit, toUnit, numeric convertedValue and the target symbol. The API returns the calculated number without the browser's display rounding; extra digits do not imply measurement accuracy.
- Use category and unit IDs from GET /api/units. Both units must belong to the selected category.
- Temperature points use scale offsets; temperature differences use factors only. Values are scale arithmetic, not a physical-state assessment.
- Unit scaling preserves pressure reference and gas reference conditions. Dynamic and kinematic viscosity cannot be interconverted without density.
- Sources are available for selected categories. Missing references mean the legacy category has not completed a source review. Conversion does not add measurement precision.
For example, use temperature, celsius and fahrenheit for temperature points: 10 °C becomes approximately 50 °F. Use temperature_difference, delta_celsius and delta_fahrenheit for intervals: a 10 °C rise becomes an 18 °F rise.
Beam Bending from Section Properties
POST /api/mechanics/section-beam
Uniform homogeneous linear-elastic slender beam, constant EI, small deflection and principal-axis bending. Loads act in the bending plane without torsion. I is the area second moment about that axis, not polar or mass inertia; c is the farthest material fibre from the neutral axis.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| support | Support and point-load location
| 0 |
| span | Span (m) | 3 |
| secondMoment | Second moment about the bending axis (m⁴) | 0.000027786666666666686 |
| extremeDistance | Farthest fibre from neutral axis (m) | 0.1 |
| youngModulus | Young’s modulus (Pa) | 200000000000 |
| pointLoad | Downward point load (N) | 1000 |
| lineLoad | Downward load per length over full span (N/m) | 500 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| sectionModulus | Elastic section modulus | m³ |
| rigidity | Flexural rigidity EI | N·m² |
| totalLoad | Total downward load | N |
| leftReaction | Upward left reaction | N |
| rightReaction | Upward right reaction | N |
| fixedReactionMoment | Counterclockwise fixed-end reaction moment | N·m |
| maximumMoment | Maximum bending moment magnitude | N·m |
| maximumBendingStress | Maximum bending stress magnitude | Pa |
| maximumShear | Maximum shear force magnitude | N |
| maximumDeflection | Maximum downward deflection | m |
| deflectionSpanRatio | Deflection / span | Dimensionless / text |
| criticalLocations | Critical locations | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/mechanics/section-beam' \
-H 'Content-Type: application/json' \
--data '{"support":0,"span":3,"secondMoment":0.000027786666666666686,"extremeDistance":0.1,"youngModulus":200000000000,"pointLoad":1000,"lineLoad":500}'Example response
{
"success": true,
"data": {
"sectionModulus": 0.00027786666666666684,
"rigidity": 5557333.333333338,
"totalLoad": 2500,
"leftReaction": 1250,
"rightReaction": 1250,
"fixedReactionMoment": 0,
"maximumMoment": 1312.5,
"maximumShear": 1250,
"maximumDeflection": 0.00019610912008157373,
"deflectionSpanRatio": 0.00006536970669385791,
"criticalLocations": "Moment and deflection at midspan",
"maximumBendingStress": 4723488.483685218
}
}Model and limits
- Uniform homogeneous linear-elastic slender beam, constant EI, small deflection and principal-axis bending. Loads act in the bending plane without torsion. I is the area second moment about that axis, not polar or mass inertia; c is the farthest material fibre from the neutral axis.
- S = I/c; stress magnitude = Mmax/S. Use the larger extreme distance for an asymmetric section. The tool cannot validate a supplied I and c against a real section. Shear force is reported; no shape-independent shear stress is inferred.
- Simply supported: Rleft = Rright = (P + wL)/2; Mmax = PL/4 + wL²/8; δmax = PL³/(48EI) + 5wL⁴/(384EI), both at midspan.
- Cantilever: Rleft = P + wL, Rright = 0; reaction moment magnitude = PL + wL²/2; δmax = PL³/(3EI) + wL⁴/(8EI). Moment is largest at the root, deflection at the tip.
- Include self-weight in w if relevant. No shear deformation, torsion, yielding, fatigue, local/lateral buckling, connection or design-code assessment. Transferred geometry does not establish a material grade, load or safe capacity.
References
- MIT Solid Mechanics: Deflections due to Bending, standard cases (accessed 2026-09-08)
- MIT Solid Mechanics: Stresses, Beams in Bending (accessed 2026-09-08)
Circular Section Properties
POST /api/mechanics/circular-section
Concentric circular opening; zero inner diameter selects solid. A = π(Do² − Di²)/4; Ix = Iy = π(Do⁴ − Di⁴)/64. A circle has the same centroidal second moment about every in-plane diameter.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| outerDiameter | Outer diameter (m) | 0.05 |
| innerDiameter | Inner diameter (0 for solid) (m) | 0.03 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| area | Material area | m² |
| centroidX | Centroid x from left of outer bounding box | m |
| centroidY | Centroid y from bottom of outer bounding box | m |
| secondMomentX | Second moment about horizontal centroidal x-axis | m⁴ |
| secondMomentY | Second moment about vertical centroidal y-axis | m⁴ |
| polarAreaMoment | Polar second moment of area Ix + Iy | m⁴ |
| sectionModulusX | Elastic section modulus about x-axis | m³ |
| sectionModulusY | Elastic section modulus about y-axis | m³ |
| radiusOfGyrationX | Area radius of gyration about x-axis | m |
| radiusOfGyrationY | Area radius of gyration about y-axis | m |
Example request
curl 'https://www.engivault.com/api/mechanics/circular-section' \
-H 'Content-Type: application/json' \
--data '{"outerDiameter":0.05,"innerDiameter":0.03}'Example response
{
"success": true,
"data": {
"area": 0.0012566370614359175,
"centroidX": 0.025,
"centroidY": 0.025,
"secondMomentX": 2.6703537555513247e-7,
"secondMomentY": 2.6703537555513247e-7,
"polarAreaMoment": 5.340707511102649e-7,
"sectionModulusX": 0.000010681415022205297,
"sectionModulusY": 0.000010681415022205297,
"radiusOfGyrationX": 0.014577379737113252,
"radiusOfGyrationY": 0.014577379737113252
}
}Model and limits
- Concentric circular opening; zero inner diameter selects solid. A = π(Do² − Di²)/4; Ix = Iy = π(Do⁴ − Di⁴)/64. A circle has the same centroidal second moment about every in-plane diameter.
- All dimensions in metres. Axes pass through the centroid: x horizontal, y vertical. Centroid coordinates are measured from the bottom-left of the outer bounding box. These are area properties, not mass moments of inertia.
- Sx = Ix/(outer height/2), Sy = Iy/(outer width/2); rx = √(Ix/A), ry = √(Iy/A). The section modulus has dimensions of length cubed, but is not a volume of material.
- Polar area moment Jp = Ix + Iy. It equals the Saint-Venant torsion constant for a circular solid/annulus, not for a rectangle. No rounded corners, eccentric void, strength rating, local buckling or design-code check is included.
References
- Engineering Statics: Moments of Inertia of Common Shapes (accessed 2026-09-08)
- Engineering Statics: Radius of Gyration (accessed 2026-09-08)
- MIT Engineering Beam Theory, Appendix A (accessed 2026-09-08)
Rectangular Section Properties
POST /api/mechanics/rectangular-section
Concentric rectangular opening with sharp corners. Set both inner dimensions to zero for solid. A = bh − bi hi; Ix = (b h³ − bi hi³)/12; Iy = (h b³ − hi bi³)/12. Wall thickness may differ horizontally and vertically.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| width | Outer width (m) | 0.1 |
| height | Outer height (m) | 0.2 |
| innerWidth | Inner width (0 for solid) (m) | 0.08 |
| innerHeight | Inner height (0 for solid) (m) | 0.18 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| area | Material area | m² |
| centroidX | Centroid x from left of outer bounding box | m |
| centroidY | Centroid y from bottom of outer bounding box | m |
| secondMomentX | Second moment about horizontal centroidal x-axis | m⁴ |
| secondMomentY | Second moment about vertical centroidal y-axis | m⁴ |
| polarAreaMoment | Polar second moment of area Ix + Iy | m⁴ |
| sectionModulusX | Elastic section modulus about x-axis | m³ |
| sectionModulusY | Elastic section modulus about y-axis | m³ |
| radiusOfGyrationX | Area radius of gyration about x-axis | m |
| radiusOfGyrationY | Area radius of gyration about y-axis | m |
Example request
curl 'https://www.engivault.com/api/mechanics/rectangular-section' \
-H 'Content-Type: application/json' \
--data '{"width":0.1,"height":0.2,"innerWidth":0.08,"innerHeight":0.18}'Example response
{
"success": true,
"data": {
"area": 0.0056000000000000025,
"centroidX": 0.05,
"centroidY": 0.1,
"secondMomentX": 0.000027786666666666686,
"secondMomentY": 0.000008986666666666672,
"polarAreaMoment": 0.000036773333333333356,
"sectionModulusX": 0.00027786666666666684,
"sectionModulusY": 0.0001797333333333334,
"radiusOfGyrationX": 0.07044078904941911,
"radiusOfGyrationY": 0.0400594795867583
}
}Model and limits
- Concentric rectangular opening with sharp corners. Set both inner dimensions to zero for solid. A = bh − bi hi; Ix = (b h³ − bi hi³)/12; Iy = (h b³ − hi bi³)/12. Wall thickness may differ horizontally and vertically.
- All dimensions in metres. Axes pass through the centroid: x horizontal, y vertical. Centroid coordinates are measured from the bottom-left of the outer bounding box. These are area properties, not mass moments of inertia.
- Sx = Ix/(outer height/2), Sy = Iy/(outer width/2); rx = √(Ix/A), ry = √(Iy/A). The section modulus has dimensions of length cubed, but is not a volume of material.
- Polar area moment Jp = Ix + Iy. It equals the Saint-Venant torsion constant for a circular solid/annulus, not for a rectangle. No rounded corners, eccentric void, strength rating, local buckling or design-code check is included.
References
- Engineering Statics: Moments of Inertia of Common Shapes (accessed 2026-09-08)
- Engineering Statics: Radius of Gyration (accessed 2026-09-08)
- MIT Engineering Beam Theory, Appendix A (accessed 2026-09-08)
Normal Shock: Downstream State and Pressure Loss
POST /api/fluids/normal-shock
Stationary, one-dimensional normal shock; calorically perfect ideal gas, constant R and γ. Upstream Mach must exceed 1 for a shock; exactly 1 is the zero-strength limit. Inputs use the shock-fixed frame, absolute pressure and Kelvin.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| absolutePressure | Upstream static absolute pressure (Pa) | 101325 |
| absoluteTemperature | Upstream static temperature (K) | 288.15 |
| specificGasConstant | Specific gas constant (J/(kg·K)) | 287.05 |
| heatCapacityRatio | Constant heat-capacity ratio γ | 1.4 |
| upstreamMach | Upstream Mach (1 = zero-strength limit) | 2 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| upstreamSpeed | Upstream speed | m/s |
| downstreamMach | Downstream Mach | Dimensionless / text |
| pressureRatio | Static pressure ratio p₂/p₁ | Dimensionless / text |
| densityRatio | Density ratio ρ₂/ρ₁ | Dimensionless / text |
| temperatureRatio | Static temperature ratio T₂/T₁ | Dimensionless / text |
| downstreamPressure | Downstream static absolute pressure | Pa |
| downstreamTemperature | Downstream static temperature | K |
| downstreamDensity | Downstream density | kg/m³ |
| downstreamSpeed | Downstream speed | m/s |
| stagnationPressureRatio | Stagnation pressure ratio p₀₂/p₀₁ | Dimensionless / text |
| upstreamStagnationPressure | Upstream stagnation absolute pressure | Pa |
| downstreamStagnationPressure | Downstream stagnation absolute pressure | Pa |
| stagnationPressureLoss | Stagnation pressure loss | Pa |
| stagnationTemperature | Conserved stagnation temperature | K |
| entropyIncrease | Specific entropy increase | J/(kg·K) |
Example request
curl 'https://www.engivault.com/api/fluids/normal-shock' \
-H 'Content-Type: application/json' \
--data '{"absolutePressure":101325,"absoluteTemperature":288.15,"specificGasConstant":287.05,"heatCapacityRatio":1.4,"upstreamMach":2}'Example response
{
"success": true,
"data": {
"upstreamSpeed": 680.5845737305541,
"downstreamMach": 0.5773502691896257,
"pressureRatio": 4.5,
"densityRatio": 2.666666666666667,
"temperatureRatio": 1.6874999999999998,
"downstreamPressure": 455962.5,
"downstreamTemperature": 486.2531249999999,
"downstreamDensity": 3.2666993759751852,
"downstreamSpeed": 255.21921514895777,
"stagnationPressureRatio": 0.7208738614847455,
"upstreamStagnationPressure": 792812.3017003256,
"downstreamStagnationPressure": 571517.6653593228,
"stagnationPressureLoss": 221294.6363410028,
"stagnationTemperature": 518.67,
"entropyIncrease": 93.94891209201757
}
}Model and limits
- Stationary, one-dimensional normal shock; calorically perfect ideal gas, constant R and γ. Upstream Mach must exceed 1 for a shock; exactly 1 is the zero-strength limit. Inputs use the shock-fixed frame, absolute pressure and Kelvin.
- With stations 1 upstream and 2 downstream: p₂/p₁ = 1 + 2γ(M₁² − 1)/(γ + 1); ρ₂/ρ₁ = (γ + 1)M₁²/[(γ − 1)M₁² + 2]; T₂/T₁ = (p₂/p₁)/(ρ₂/ρ₁).
- M₂² = [(γ − 1)M₁² + 2]/[2γM₁² − (γ − 1)]. Mass conservation gives V₂/V₁ = ρ₁/ρ₂. Total temperature is conserved; total pressure falls and entropy rises.
- p₀₂/p₀₁ = [(ρ₂/ρ₁)^γ/(p₂/p₁)]^[1/(γ − 1)]; Δs = −R ln(p₀₂/p₀₁). Extremely weak shocks may display zero loss at floating-point precision.
- No oblique shock, boundary-layer interaction, nozzle location, moving-shock frame conversion, heat transfer, real gas or variable heat capacity. This tool does not determine whether a shock forms. Check the constant-property assumption against the calculated temperatures.
References
- NASA Glenn: Normal Shock Wave Equations (accessed 2026-09-08)
Gas Speed of Sound, Mach and Stagnation State
POST /api/fluids/gas-flow-state
Calorically perfect ideal gas with constant specific gas constant R and γ > 1. Enter static absolute pressure and Kelvin temperature, not stagnation conditions. Defaults approximate dry air; no atmospheric or composition lookup is performed.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| absolutePressure | Static absolute pressure (Pa) | 101325 |
| absoluteTemperature | Static absolute temperature (K) | 288.15 |
| specificGasConstant | Specific gas constant (J/(kg·K)) | 287.05 |
| heatCapacityRatio | Constant heat-capacity ratio γ = cp/cv | 1.4 |
| speed | Flow speed (m/s) | 100 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| density | Static density | kg/m³ |
| soundSpeed | Local speed of sound | m/s |
| mach | Mach number | Dimensionless / text |
| specificHeat | Implied constant-pressure specific heat | J/(kg·K) |
| temperatureRatio | Stagnation / static temperature | Dimensionless / text |
| pressureRatio | Stagnation / static pressure | Dimensionless / text |
| densityRatio | Stagnation / static density | Dimensionless / text |
| stagnationTemperature | Ideal stagnation temperature | K |
| stagnationPressure | Ideal stagnation absolute pressure | Pa |
| stagnationDensity | Ideal stagnation density | kg/m³ |
| stagnationPressureRise | Ideal stagnation minus static pressure | Pa |
| dynamicPressure | Dynamic pressure ½ρv² | Pa |
Example request
curl 'https://www.engivault.com/api/fluids/gas-flow-state' \
-H 'Content-Type: application/json' \
--data '{"absolutePressure":101325,"absoluteTemperature":288.15,"specificGasConstant":287.05,"heatCapacityRatio":1.4,"speed":100}'Example response
{
"success": true,
"data": {
"density": 1.2250122659906943,
"soundSpeed": 340.29228686527705,
"mach": 0.293865020924175,
"specificHeat": 1004.6750000000002,
"temperatureRatio": 1.017271330104553,
"pressureRatio": 1.0617660071347597,
"densityRatio": 1.0437392421406722,
"stagnationTemperature": 293.1267337696269,
"stagnationPressure": 107583.44067292953,
"stagnationDensity": 1.2785933741181548,
"stagnationPressureRise": 6258.4406729295315,
"dynamicPressure": 6125.061329953472
}
}Model and limits
- Calorically perfect ideal gas with constant specific gas constant R and γ > 1. Enter static absolute pressure and Kelvin temperature, not stagnation conditions. Defaults approximate dry air; no atmospheric or composition lookup is performed.
- ρ = p/(RT); a = √(γRT); M = v/a. Mach depends on the local gas state, not a universal speed factor. R is per kilogram, not the universal molar gas constant.
- Let F = 1 + (γ − 1)M²/2. Then T0/T = F, p0/p = F^[γ/(γ − 1)], and ρ0/ρ = F^[1/(γ − 1)]. The stagnation state represents ideal isentropic deceleration to rest.
- cp = γR/(γ − 1) and cp(T0 − T) = v²/2. Dynamic pressure q = ρv²/2 is generally different from p0 − p in compressible flow; they approach one another at low Mach number.
- No shocks, friction, heat exchange, nozzle solution, variable heat capacities, condensation, dissociation or real-gas effects. The ideal p0 is not the downstream reading of a supersonic Pitot probe across a shock. Check constant-property validity over the calculated temperature range.
References
- NASA Glenn: Isentropic Flow Equations (accessed 2026-09-08)
- NASA Glenn: Speed of Sound (accessed 2026-09-08)
Circular Shaft Torsion and Power
POST /api/mechanics/shaft-torsion
Uniform circular shaft with concentric bore, homogeneous isotropic material, constant torque and linear elastic small-strain response. Enter diameters, not radii. Inner diameter zero selects a solid shaft.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| outerDiameter | Outer diameter (m) | 0.05 |
| innerDiameter | Inner diameter (0 for solid) (m) | 0.03 |
| length | Shaft length (m) | 1 |
| shearModulus | Shear modulus (Pa) | 80000000000 |
| torque | Signed torque (N·m) | 500 |
| speed | Signed rotational speed (rpm) | 1500 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| polarMoment | Polar second moment of area | m⁴ |
| torsionalStiffness | Torsional stiffness | N·m/rad |
| twistRadians | Signed end-to-end twist | rad |
| twistDegrees | Signed end-to-end twist | ° |
| maximumShearStress | Maximum shear stress magnitude | Pa |
| maximumShearStrain | Maximum engineering shear strain | Dimensionless / text |
| angularSpeed | Signed angular speed | rad/s |
| power | Signed mechanical power | W |
| strainEnergy | Stored elastic strain energy | J |
Example request
curl 'https://www.engivault.com/api/mechanics/shaft-torsion' \
-H 'Content-Type: application/json' \
--data '{"outerDiameter":0.05,"innerDiameter":0.03,"length":1,"shearModulus":80000000000,"torque":500,"speed":1500}'Example response
{
"success": true,
"data": {
"polarMoment": 5.340707511102649e-7,
"torsionalStiffness": 42725.6600888212,
"twistRadians": 0.011702569344992302,
"twistDegrees": 0.6705078329272351,
"maximumShearStress": 23405138.689984605,
"maximumShearStrain": 0.0002925642336248076,
"angularSpeed": 157.07963267948966,
"power": 78539.81633974484,
"strainEnergy": 2.9256423362480755
}
}Model and limits
- Uniform circular shaft with concentric bore, homogeneous isotropic material, constant torque and linear elastic small-strain response. Enter diameters, not radii. Inner diameter zero selects a solid shaft.
- J = π(Do⁴ − Di⁴)/32; τmax = |T|Do/(2J). J is a second moment of area, not a mass moment of inertia.
- Twist θ = TL/(GJ), stiffness = GJ/L, γmax = τmax/G, elastic energy = Tθ/2. θ is relative end rotation, not the total rotation of the running shaft.
- Angular speed ω = 2πn/60 and mechanical power P = Tω. Use the same positive axis for torque and speed. Opposite signs give negative power; reversing torque reverses twist but preserves stress magnitude and elastic energy.
- Does not assess keyways, stress concentrations, yielding, combined bending, fatigue, buckling, critical speed, bearings or losses. A noncircular section cannot use this J as its torsion constant. No safe torque or equipment rating is inferred.
References
AC Power: Single and Balanced Three Phase
POST /api/electrical/ac-power
Sinusoidal steady-state AC power for a passive single-phase load or a balanced three-phase load. Enter RMS values and displacement power factor from 0 to 1.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| phases | Supply configuration
| 3 |
| voltage | RMS voltage (line-to-line for three phase) (V) | 400 |
| current | RMS current (line current for three phase) (A) | 10 |
| powerFactor | Displacement power factor | 0.8 |
| reactiveDirection | Load behavior
| 0 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| activePower | Total active power | W |
| reactivePower | Total reactive power, positive inductive | var |
| apparentPower | Total apparent power | VA |
| phaseAngle | Specified phase angle, positive lagging | ° |
| activePerPhase | Active power per phase | W |
Example request
curl 'https://www.engivault.com/api/electrical/ac-power' \
-H 'Content-Type: application/json' \
--data '{"phases":3,"voltage":400,"current":10,"powerFactor":0.8,"reactiveDirection":0}'Example response
{
"success": true,
"data": {
"apparentPower": 6928.203230275509,
"activePower": 5542.562584220407,
"reactivePower": 4156.921938165305,
"phaseAngle": 36.86989764584401,
"activePerPhase": 1847.5208614068024
}
}Model and limits
- Sinusoidal steady-state AC power for a passive single-phase load or a balanced three-phase load. Enter RMS values and displacement power factor from 0 to 1.
- Single phase: S = VI. Balanced three phase: S = √3 VL IL, where VL is line-to-line RMS voltage and IL is line RMS current. The latter applies to balanced wye or delta loads without substituting phase values for line values.
- P = S cosφ = S PF. Q = ±S√(1 − PF²); positive for lagging inductive current and negative for leading capacitive current. Specified angle φ = ±acos(PF) is the per-phase impedance angle, not the angle between a line-to-line voltage and line current. At zero current, all powers are zero; the angle only reflects the specified input.
- P is in watts, Q in var and S in volt-amperes. For balanced three phase, active power per phase is P/3. Unity power factor gives Q = 0.
- Does not model harmonic distortion, unbalanced phases, exported active power, transients or motor efficiency. Displacement power factor need not equal true power factor for distorted waveforms. Results are not conductor ampacity, protection or equipment-rating selections.
References
- US DOE Electrical Science Volume 3, ES-09: power triangle and balanced three-phase loads (accessed 2026-09-08)
Series RLC Circuit and Resonance
POST /api/electrical/series-rlc
Sinusoidal steady-state series RLC circuit with ideal linear components and positive total series resistance. Enter RMS source voltage, frequency in Hz, inductance in henries and capacitance in farads.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| voltage | Source RMS voltage (V) | 120 |
| frequency | Source frequency (Hz) | 60 |
| resistance | Total series resistance (Ω) | 30 |
| inductance | Series inductance (0 omits inductor) (H) | 0.1 |
| capacitance | Series capacitance (0 bypasses capacitor) (F) | 0.0001 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| current | Series RMS current | A |
| impedance | Impedance magnitude | Ω |
| reactance | Net reactance, positive inductive | Ω |
| inductiveReactance | Inductive reactance | Ω |
| capacitiveReactance | Capacitive reactance magnitude | Ω |
| phaseAngle | Voltage phase relative to current | ° |
| powerFactor | Displacement power factor | Dimensionless / text |
| activePower | Active power in resistance | W |
| reactivePower | Net reactive power | var |
| apparentPower | Apparent power | VA |
| resistorVoltage | Resistor RMS voltage | V |
| inductorVoltage | Inductor RMS voltage | V |
| capacitorVoltage | Capacitor RMS voltage | V |
| resonanceFrequency | Ideal LC resonance frequency | Hz |
Example request
curl 'https://www.engivault.com/api/electrical/series-rlc' \
-H 'Content-Type: application/json' \
--data '{"voltage":120,"frequency":60,"resistance":30,"inductance":0.1,"capacitance":0.0001}'Example response
{
"success": true,
"data": {
"inductiveReactance": 37.69911184307752,
"capacitiveReactance": 26.525823848649225,
"reactance": 11.173287994428293,
"impedance": 32.01315924126257,
"current": 3.7484585353053492,
"phaseAngle": 20.427490994154418,
"powerFactor": 0.9371146338263373,
"activePower": 421.52824172710575,
"reactivePower": 156.99521475339793,
"apparentPower": 449.81502423664193,
"resistorVoltage": 112.45375605916048,
"inductorVoltage": 141.31355756161489,
"capacitorVoltage": 99.43095081147537,
"resonanceFrequency": 50.329212104487034
}
}Model and limits
- Sinusoidal steady-state series RLC circuit with ideal linear components and positive total series resistance. Enter RMS source voltage, frequency in Hz, inductance in henries and capacitance in farads.
- ω = 2πf; XL = ωL; XC = 1/(ωC); X = XL − XC. The special input C = 0 bypasses the capacitor (XC = 0); it does not represent a physical zero-capacitance component. L = 0 omits the inductor.
- Z = R + jX, |Z| = √(R² + X²), I = V/|Z|, φ = atan2(X,R), PF = R/|Z|. Positive φ means inductive impedance and lagging current; negative φ means capacitive impedance and leading current.
- P = I²R; Q = I²X; S = VI. Component RMS voltages are IR, IXL and IXC. They add as phasors: V² = VR² + (VL − VC)², not as scalar magnitudes.
- With both L and C present, f0 = 1/(2π√(LC)). At resonance the net reactance vanishes, but the individual L/C voltages can exceed the source voltage. Finite positive resistance is required; the ideal zero-resistance resonance singularity is excluded.
- No switching transient, parasitics beyond the supplied series resistance, saturation, frequency-dependent losses, nonlinear load, harmonics or thermal rating calculation. Component and source ratings require a separate assessment.
References
Liquid Water Properties by Temperature and Pressure
POST /api/fluids/water-properties
Pure liquid water properties from temperature and absolute pressure, using IAPWS SR6-08(2011) and SR1-86(1992). Supported range: 0.01–110 °C, pressure at or above saturation and no greater than 0.3 MPa (300000 Pa).
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| temperature | Water temperature (0.01–110 °C) (°C) | 20 |
| pressure | Absolute pressure (maximum 300000 Pa) (Pa) | 100000 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| density | Density | kg/m³ |
| viscosity | Dynamic viscosity | Pa·s |
| kinematicViscosity | Kinematic viscosity | m²/s |
| specificHeat | Specific heat at constant pressure | J/(kg·K) |
| conductivity | Thermal conductivity | W/(m·K) |
| thermalDiffusivity | Thermal diffusivity | m²/s |
| prandtlNumber | Prandtl number | Dimensionless / text |
| thermalExpansion | Volumetric thermal expansion coefficient | 1/K |
| compressibility | Isothermal compressibility | 1/Pa |
| soundSpeed | Speed of sound | m/s |
| vaporPressure | Saturation vapor pressure | Pa |
| specificVolume | Specific volume | m³/kg |
Example request
curl 'https://www.engivault.com/api/fluids/water-properties' \
-H 'Content-Type: application/json' \
--data '{"temperature":20,"pressure":100000}'Example response
{
"success": true,
"data": {
"density": 998.2065464241152,
"viscosity": 0.0010015672646030015,
"kinematicViscosity": 0.0000010033667563000116,
"specificHeat": 4184.1890783969275,
"conductivity": 0.5980046517984032,
"thermalDiffusivity": 1.4317686440030226e-7,
"prandtlNumber": 7.007883295269969,
"thermalExpansion": 0.00020681031228794193,
"compressibility": 4.589143232318951e-10,
"soundSpeed": 1482.3443444561285,
"vaporPressure": 2339.1937366227544,
"specificVolume": 0.0010017966758305778
}
}Model and limits
- Pure liquid water properties from temperature and absolute pressure, using IAPWS SR6-08(2011) and SR1-86(1992). Supported range: 0.01–110 °C, pressure at or above saturation and no greater than 0.3 MPa (300000 Pa).
- Calculate the 0.1 MPa reference specific volume and derivatives from SR6 equations 2–3, heat capacity from Table 2, then apply the limited-pressure corrections in Table 4. Density is the reciprocal of specific volume. Table 3 gives expansivity, compressibility and sound speed.
- Dynamic viscosity and thermal conductivity use SR6 equations 7–8; section 6 permits these temperature correlations throughout the supported pressure range. Kinematic viscosity = μ/ρ, thermal diffusivity = k/(ρ cp), and Prandtl number = μ cp/k.
- Saturation pressure uses SR1 equation 1. Below-saturation pressure, freezing-range temperatures and pressures above 0.3 MPa are rejected. At saturation, outputs describe the liquid branch, not a liquid-vapor mixture.
- SR6 reports stable-region uncertainties of about 0.0001% for density, 0.1% for heat capacity, 0.005% for sound speed, 1% for viscosity and 1.5% for conductivity. Extra displayed digits aid reproducibility; they do not imply matching measurement accuracy.
- Ordinary pure water only. Salinity, glycol, dissolved additives, steam, ice, supercooled liquid and high-pressure service require other property models. This implementation is independently verified against release tables, not certified by IAPWS.
References
- IAPWS SR6-08(2011): Properties of Liquid Water, coefficients, pressure corrections and verification Table 8 (accessed 2026-09-08)
- IAPWS SR1-86(1992): Saturation Properties, vapor pressure equation 1 (accessed 2026-09-08)
Water Pipe Pressure Loss with Temperature
POST /api/hydraulics/water-pipe-loss
Calculate pure-water density and viscosity from temperature and inlet pressure, then estimate straight horizontal pipe friction. Liquid-water range: 0.01–110 °C and saturation pressure through 300000 Pa absolute.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| temperature | Water temperature (0.01–110 °C) (°C) | 20 |
| inletPressure | Absolute inlet pressure (maximum 300000 Pa) (Pa) | 200000 |
| flowRate | Volume flow rate (m³/s) | 0.001 |
| length | Straight horizontal pipe length (m) | 20 |
| diameter | Actual internal diameter (m) | 0.025 |
| roughness | Absolute pipe roughness (m) | 0.000015 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| pressureDrop | Friction pressure loss | Pa |
| headLoss | Friction head loss | m |
| outletPressure | Estimated absolute outlet pressure | Pa |
| velocity | Mean velocity | m/s |
| reynoldsNumber | Reynolds number | Dimensionless / text |
| frictionFactor | Darcy friction factor | Dimensionless / text |
| density | Calculated inlet water density | kg/m³ |
| viscosity | Calculated water dynamic viscosity | Pa·s |
| vaporPressure | Water saturation pressure | Pa |
| flowRegime | Flow regime | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/hydraulics/water-pipe-loss' \
-H 'Content-Type: application/json' \
--data '{"temperature":20,"inletPressure":200000,"flowRate":0.001,"length":20,"diameter":0.025,"roughness":0.000015}'Example response
{
"success": true,
"data": {
"pressureDrop": 37945.023505827514,
"frictionFactor": 0.0228978279432567,
"reynoldsNumber": 50761.0191471177,
"velocity": 2.0371832715762603,
"outletPressure": 162054.97649417247,
"headLoss": 3.8760895853659307,
"density": 998.2523576546281,
"viscosity": 0.0010015672646030015,
"vaporPressure": 2339.1937366227544,
"flowRegime": "Turbulent"
}
}Model and limits
- Calculate pure-water density and viscosity from temperature and inlet pressure, then estimate straight horizontal pipe friction. Liquid-water range: 0.01–110 °C and saturation pressure through 300000 Pa absolute.
- IAPWS SR6-08(2011) supplies temperature-dependent water properties with limited-pressure corrections. Properties are held at their inlet values along this constant-diameter, isothermal pipe.
- Velocity = 4Q/(πD²), Re = ρvD/μ. Darcy f = 64/Re below Re 2300, otherwise the Swamee–Jain approximation. The transitional range 2300–4000 is flagged as uncertain; EPANET transitional interpolation is not implemented. Q = 0 gives zero loss.
- ΔP = f(L/D)ρv²/2; head loss = ΔP/(ρg), g = 9.80665 m/s². Outlet pressure = inlet pressure − ΔP. Reject a predicted outlet pressure below saturation rather than applying a single-phase result there.
- No fittings, valves, elevation change, pump, developing-flow correction, water hammer or heat transfer. Use actual internal diameter and a documented roughness; defaults are illustrative. A passing saturation check is not a cavitation assessment of other system components.
References
- IAPWS SR6-08(2011): Liquid water density and viscosity with pressure corrections (accessed 2026-09-08)
- IAPWS SR1-86(1992): Saturation vapor pressure (accessed 2026-09-08)
- US EPA: EPANET 2.2 User Manual, Darcy–Weisbach and friction-factor methods (accessed 2026-09-08)
Liquid Control Valve Kv and Choking
POST /api/valves/liquid-sizing
For turbulent liquid flow with no attached fittings correction: ΔP = P1 − P2; FF = 0.96 − 0.28√(Pv/Pc); ΔPchoked = FL²(P1 − FF Pv). All pressures must be absolute and use the same units.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| flowRate | Required upstream liquid flow (m³/s) | 0.005 |
| density | Liquid density at inlet conditions (kg/m³) | 1000 |
| inletPressure | Absolute inlet pressure (Pa) | 300000 |
| outletPressure | Absolute outlet pressure (Pa) | 250000 |
| vaporPressure | Absolute vapor pressure at inlet temperature (Pa) | 3000 |
| criticalPressure | Fluid absolute critical pressure (Pa) | 22064000 |
| recoveryFactor | Manufacturer pressure recovery factor, FL | 0.9 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| kv | Required Kv using limiting pressure drop | m³/h |
| uncorrectedKv | Kv ignoring choking, for comparison only | m³/h |
| pressureDrop | Actual pressure drop | Pa |
| chokedPressureDrop | Calculated choking pressure drop | Pa |
| effectivePressureDrop | Pressure drop used for sizing | Pa |
| criticalRatio | Liquid critical pressure ratio factor, FF | Dimensionless / text |
| regime | Choking assessment | Dimensionless / text |
| phaseAssessment | Outlet phase screening | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/valves/liquid-sizing' \
-H 'Content-Type: application/json' \
--data '{"flowRate":0.005,"density":1000,"inletPressure":300000,"outletPressure":250000,"vaporPressure":3000,"criticalPressure":22064000,"recoveryFactor":0.9}'Example response
{
"success": true,
"data": {
"kv": 25.455844122715714,
"uncorrectedKv": 25.455844122715714,
"pressureDrop": 50000,
"chokedPressureDrop": 240675.1338284906,
"effectivePressureDrop": 50000,
"criticalRatio": 0.9567350500038809,
"regime": "Below calculated choking limit; cavitation not ruled out",
"phaseAssessment": "Outlet above vapor pressure; assess internal cavitation separately"
}
}Model and limits
- For turbulent liquid flow with no attached fittings correction: ΔP = P1 − P2; FF = 0.96 − 0.28√(Pv/Pc); ΔPchoked = FL²(P1 − FF Pv). All pressures must be absolute and use the same units.
- Use ΔPeffective = min(ΔP, ΔPchoked). Convert Q from m³/s to m³/h and ΔPeffective from Pa to bar. Kv = Q(m³/h)√[(ρ/1000)/(ΔPeffective in bar)]. Kv is a flow coefficient referenced to water and 1 bar, not the actual service flow.
- Assumes turbulent service, liquid at the inlet and piping geometry factor FP = 1. No Reynolds/viscosity correction, attached reducers, staged trim, gas, steam or inlet two-phase sizing is implemented.
- FL must match manufacturer data for the candidate valve, trim and travel. Defaults are teaching assumptions, not a selected valve or verified fluid-property state. Repeat at minimum, normal and maximum operating cases.
- Below the choking limit does not establish cavitation-free operation. Outlet pressure below vapor pressure indicates flashing; damage and noise are not predicted. Assess pressure recovery, materials and service limits with manufacturer data.
- Kv alone does not determine nominal valve size, opening, rangeability, actuator capability or control stability. The comparison ignoring choking must not replace the limiting-pressure result.
References
- Bürkert: Fluid Calculator, liquid Kv equation (accessed 2026-09-08)
- Emerson: Understanding Choked Flow in Fisher Valves, D104173X012, September 2017 (accessed 2026-09-08)
- Emerson: Control Valve Sourcebook, liquid sizing and limiting pressure drop (accessed 2026-09-08)
Pipe Heat Transfer and Insulation
POST /api/thermal/insulated-pipe
Steady one-dimensional radial heat flow, constant properties and bulk temperatures along the length; perfect layer contact, no internal heat generation. Actual diameters are required, not nominal pipe sizes.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| length | Pipe length (m) | 10 |
| innerDiameter | Actual pipe inner diameter (m) | 0.020 |
| pipeOuterDiameter | Actual pipe outer diameter (m) | 0.022 |
| pipeConductivity | Pipe thermal conductivity (W/(m·K)) | 380 |
| insulationThickness | Radial insulation thickness (0 for bare pipe) (m) | 0.020 |
| insulationConductivity | Insulation thermal conductivity (W/(m·K)) | 0.040 |
| innerFilm | Inside convection coefficient (W/(m²·K)) | 1000 |
| outerFilm | Outside convection coefficient (W/(m²·K)) | 10 |
| fluidTemperature | Bulk fluid temperature (K) | 333.15 |
| ambientTemperature | Ambient fluid temperature (K) | 293.15 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| heatRate | Heat transfer, positive outward | W |
| heatPerLength | Heat transfer per length | W/m |
| thermalResistance | Total thermal resistance | K/W |
| innerSurface | Pipe inner surface temperature | K |
| pipeOuterSurface | Pipe outer surface temperature | K |
| outerSurface | Exposed surface temperature | K |
| bareHeatRate | Bare pipe heat transfer, same film coefficients | W |
| magnitudeReduction | Reduction in heat-transfer magnitude vs bare pipe | W |
| outerDiameter | Diameter including insulation | m |
Example request
curl 'https://www.engivault.com/api/thermal/insulated-pipe' \
-H 'Content-Type: application/json' \
--data '{"length":10,"innerDiameter":0.02,"pipeOuterDiameter":0.022,"pipeConductivity":380,"insulationThickness":0.02,"insulationConductivity":0.04,"innerFilm":1000,"outerFilm":10,"fluidTemperature":333.15,"ambientTemperature":293.15}'Example response
{
"success": true,
"data": {
"heatRate": 85.98753076301945,
"heatPerLength": 8.598753076301945,
"thermalResistance": 0.4651837265828635,
"innerSurface": 333.013146594348,
"pipeOuterSurface": 333.0128033437506,
"outerSurface": 297.5646259887745,
"bareHeatRate": 273.4447173431028,
"magnitudeReduction": 187.45718658008337,
"outerDiameter": 0.062
}
}Model and limits
- Steady one-dimensional radial heat flow, constant properties and bulk temperatures along the length; perfect layer contact, no internal heat generation. Actual diameters are required, not nominal pipe sizes.
- For length L: inner-film resistance = 1/(hi π Di L); pipe resistance = ln(Do/Di)/(2π kp L); insulation resistance = ln((Do + 2t)/Do)/(2π ki L); outer-film resistance = 1/(ho π (Do + 2t) L).
- Add the four resistances. Q = (Tfluid − Tambient)/Rtotal; heat per length = Q/L. Each surface temperature follows from the preceding temperature minus Q times that layer resistance. Negative Q means heat enters the pipe.
- Bare comparison removes insulation and uses the bare outer surface area with the same film coefficients. Magnitude reduction = |Qbare| − |Q|; a negative result means increased heat transfer. Added insulation need not reduce heat transfer for every radius and fixed coefficient.
- Defaults are a constructed teaching case, not certified copper or insulation properties. Supply conductivities at the relevant temperatures and convection coefficients for the actual flow conditions. The comparison assumes these coefficients remain unchanged.
- Radiation, axial fluid cooling, fittings/supports, thermal bridges, fouling/contact resistance, moisture, condensation and transient effects are excluded. This is not an insulation product selection, minimum thickness requirement or economic optimum.
References
Rectangular Beam Stress and Deflection
POST /api/mechanics/rectangular-beam
Analyze a solid rectangular beam under a downward point load plus a uniform full-span load. Choose simple supports with a central point load, or a left-fixed cantilever with a tip load.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| support | Support and point-load location
| 0 |
| span | Span from left support to right end (m) | 3 |
| width | Rectangle width, parallel to neutral axis (m) | 0.1 |
| depth | Rectangle depth, in bending direction (m) | 0.2 |
| youngModulus | Young’s modulus (Pa) | 200000000000 |
| pointLoad | Downward concentrated load (N) | 1000 |
| lineLoad | Downward load per length over full span (N/m) | 500 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| area | Section area | m² |
| secondMoment | Second moment of area about bending axis | m⁴ |
| sectionModulus | Elastic section modulus | m³ |
| rigidity | Flexural rigidity EI | N·m² |
| totalLoad | Total downward load | N |
| leftReaction | Left support reaction, upward | N |
| rightReaction | Right support reaction, upward | N |
| fixedReactionMoment | Fixed-end external reaction, counterclockwise | N·m |
| maximumMoment | Maximum bending moment magnitude | N·m |
| maximumBendingStress | Maximum elastic bending stress magnitude | Pa |
| maximumShear | Maximum shear force magnitude | N |
| maximumShearStress | Maximum rectangular-section shear stress | Pa |
| maximumDeflection | Maximum downward bending deflection | m |
| deflectionSpanRatio | Deflection / span | 1 |
| criticalLocations | Critical locations | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/mechanics/rectangular-beam' \
-H 'Content-Type: application/json' \
--data '{"support":0,"span":3,"width":0.1,"depth":0.2,"youngModulus":200000000000,"pointLoad":1000,"lineLoad":500}'Example response
{
"success": true,
"data": {
"area": 0.020000000000000004,
"secondMoment": 0.00006666666666666668,
"sectionModulus": 0.0006666666666666669,
"rigidity": 13333333.333333336,
"totalLoad": 2500,
"leftReaction": 1250,
"rightReaction": 1250,
"fixedReactionMoment": 0,
"maximumMoment": 1312.5,
"maximumShear": 1250,
"maximumDeflection": 0.00008173828125,
"deflectionSpanRatio": 0.000027246093749999998,
"criticalLocations": "Moment and deflection at midspan",
"maximumBendingStress": 1968749.9999999995,
"maximumShearStress": 93749.99999999999
}
}Model and limits
- Analyze a solid rectangular beam under a downward point load plus a uniform full-span load. Choose simple supports with a central point load, or a left-fixed cantilever with a tip load.
- Dimensions define the bending axis: I = bd³/12, S = bd²/6, A = bd. Depth is the dimension in the direction of transverse deflection.
- For simple supports: each reaction = (P + qL)/2; Mmax = PL/4 + qL²/8; δmax = PL³/(48EI) + 5qL⁴/(384EI).
- For a cantilever: upward reaction = P + qL; external reaction moment = PL + qL²/2; δmax = PL³/(3EI) + qL⁴/(8EI).
- Bending stress magnitude = Mmax/S; maximum rectangular-section shear stress = 1.5Vmax/A. These maxima occur at different section locations and are not a combined failure criterion.
- Assumes a straight, prismatic, homogeneous beam with linear elasticity, small deflections and ideal supports. Deflection includes bending only; shear deformation, torsion, axial force and support settlement are excluded.
- Enter total service loads, including self-weight in the uniform load if needed. Both loads are downward and may be zero. No material strength, buckling, fatigue, connection, deflection-limit or building-code check is performed.
- With the illustrative defaults: each support carries 1250 N, maximum moment is 1312.5 N·m, and maximum deflection is 0.0000817383 m. The modulus is an example, not a verified material selection.
References
- MIT Solid Mechanics: beam displacement formulas, page 2 (accessed 2026-09-08)
- MIT Mechanics of Materials: stresses in beams (accessed 2026-09-08)
Humid Air Properties
POST /api/hvac/humid-air
Calculate humidity ratio, dew/frost point, enthalpy, specific volume and moist-air density from temperature, relative humidity and absolute pressure.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| dryBulb | Dry-bulb temperature (°C) | 25 |
| relativeHumidity | Relative humidity (%) | 50 |
| pressure | Total absolute pressure (Pa) | 101325 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| humidityRatio | Humidity ratio | kg water/kg dry air |
| specificHumidity | Specific humidity | kg water/kg moist air |
| dewFrostPoint | Dew point over water / frost point over ice | °C |
| enthalpy | Enthalpy per mass of dry air | J/kg dry air |
| specificVolume | Volume per mass of dry air | m³/kg dry air |
| density | Total moist-air density | kg/m³ |
| vaporPressure | Water-vapor partial pressure | Pa |
| saturationVaporPressure | Saturation vapor pressure | Pa |
| saturationBasis | Relative humidity reference phase | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/hvac/humid-air' \
-H 'Content-Type: application/json' \
--data '{"dryBulb":25,"relativeHumidity":50,"pressure":101325}'Example response
{
"success": true,
"data": {
"saturationVaporPressure": 3169.2164701436277,
"vaporPressure": 1584.6082350718139,
"humidityRatio": 0.009881043690749623,
"specificHumidity": 0.009784363962945561,
"enthalpy": 50321.958802184665,
"specificVolume": 0.8580432638526019,
"density": 1.17695818641638,
"dewFrostPoint": 13.863973269509785,
"saturationBasis": "Liquid water"
}
}Model and limits
- Calculate humidity ratio, dew/frost point, enthalpy, specific volume and moist-air density from temperature, relative humidity and absolute pressure.
- Supported inputs: −50 to 80 °C, 0–100% RH and 20–120 kPa absolute. Total pressure must exceed saturation vapor pressure at the dry-bulb temperature.
- ASHRAE saturation equations use ice at or below 0.01 °C and liquid water above it. RH is relative to that phase; subfreezing RH reported relative to liquid water must be converted before use.
- Water-vapor pressure is RH/100 times saturation pressure. W = 0.621945 pv/(p − pv); specific humidity = W/(1 + W).
- Enthalpy h = 1000[1.006T + W(2501 + 1.86T)] J/kg dry air, with T in °C and the conventional dry-air/liquid-water zero at 0 °C. It is not enthalpy per kg of moist air.
- v = 287.042(T + 273.15)(1 + 1.607858W)/p; total density = (1 + W)/v. Assumes ideal moist air with no liquid droplets or real-gas corrections.
- Dew/frost point inverts the saturation equation. Dry air has no finite dew point; results below −100 °C are reported outside the model range. These labels are returned as strings in the API.
- Adapted coefficients from MIT-licensed PsychroLib; the numerical inversion, exact zero-humidity behavior and restricted operating domain differ from that library.
References
- PsychroLib: ASHRAE-based psychrometric equations and documentation (accessed 2026-09-08)
- PsychroLib MIT license and adaptation attribution (accessed 2026-09-08)
Air Heating, Cooling and Condensate
POST /api/hvac/air-temperature-process
Uniformly heat or cool an ideal moist-air stream at constant pressure to a specified outlet temperature. If cooling reaches saturation, remove liquid water and return saturated outlet air. No bypass or added moisture is modeled.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| dryAirFlow | Dry-air mass flow (kg dry air/s) | 1 |
| inletTemperature | Inlet dry-bulb temperature (°C) | 30 |
| inletRelativeHumidity | Inlet relative humidity (%) | 50 |
| outletTemperature | Target outlet temperature (0–80 °C) (°C) | 10 |
| pressure | Common absolute pressure (Pa) | 101325 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| heatRemoved | Heat removed, negative for heat added | W |
| airEnthalpyReduction | Air-stream enthalpy reduction | W |
| condensateEnthalpyFlow | Energy leaving in drained water | W |
| condensateFlow | Condensate mass flow | kg/s |
| condensateHourly | Hourly condensate mass | kg/h |
| inletHumidityRatio | Inlet humidity ratio | kg water/kg dry air |
| outletHumidityRatio | Outlet humidity ratio | kg water/kg dry air |
| outletRelativeHumidity | Outlet relative humidity | % |
| inletEnthalpy | Inlet enthalpy | J/kg dry air |
| outletEnthalpy | Outlet enthalpy | J/kg dry air |
| inletVolumeFlow | Inlet volume flow | m³/s |
| outletVolumeFlow | Outlet volume flow | m³/s |
| process | Ideal process | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/hvac/air-temperature-process' \
-H 'Content-Type: application/json' \
--data '{"dryAirFlow":1,"inletTemperature":30,"inletRelativeHumidity":50,"outletTemperature":10,"pressure":101325}'Example response
{
"success": true,
"data": {
"heatRemoved": 34689.07477920524,
"airEnthalpyReduction": 34926.84586387177,
"condensateEnthalpyFlow": 237.77108466652973,
"condensateFlow": 0.005680150135368603,
"condensateHourly": 20.44854048732697,
"inletHumidityRatio": 0.01331020383863019,
"outletHumidityRatio": 0.0076300537032615865,
"outletRelativeHumidity": 100,
"inletEnthalpy": 64211.52917460966,
"outletEnthalpy": 29284.68331073789,
"inletVolumeFlow": 0.8771677404250905,
"outletVolumeFlow": 0.8119717645777006,
"process": "Cooling with liquid-water removal"
}
}Model and limits
- Uniformly heat or cool an ideal moist-air stream at constant pressure to a specified outlet temperature. If cooling reaches saturation, remove liquid water and return saturated outlet air. No bypass or added moisture is modeled.
- Dry-air mass flow must be positive. Inlet: −50 to 80 °C and 0–100% RH. Outlet: 0–80 °C, excluding ice/frost processing. Pressure: 20–120 kPa absolute and above saturation pressure at both temperatures.
- Wout = min(Win, Wsat(Tout)). Without condensation, W is unchanged and RH changes with temperature. With condensation, outlet RH is 100%. Condensate flow = mda(Win − Wout).
- Heat removed = mda(hin − hout) − mcond hw,out. Here h is in J/kg dry air, and liquid-water enthalpy is approximated as hw,out = 4186 Tout J/kg relative to liquid water at 0 °C. Condensate leaves at outlet temperature.
- Positive heatRemoved means cooling; negative means heating. It is thermal transfer, not electrical input, compressor power or a selected equipment capacity. No arbitrary sensible/latent split is imposed.
- Convert measured inlet volume flow to dry-air mass flow with mda = Qin/vin using the inlet specific volume. Moist-air mass flow is a different basis. The output shows both inlet and outlet volume flows.
- No coil bypass factor, apparatus dew point, fan heat, heat leakage, pressure drop, frost, re-evaporation, humidity control or real-gas correction. A real coil can produce an unsaturated outlet; this ideal saturation model does not predict its detailed performance.
References
- ASHRAE Fundamentals 2025, Chapter 1: sensible heating/cooling and cooling with dehumidification (accessed 2026-09-08)
- PsychroLib moist-air enthalpy, saturation and volume relationships (accessed 2026-09-08)
- PsychroLib MIT license and adaptation attribution (accessed 2026-09-08)
Adiabatic Mixing of Two Humid Airstreams
POST /api/hvac/air-mixing
Mix two ideal moist-air streams adiabatically at a common pressure, with no work, heat transfer, added water or condensation. Inputs are dry-air mass flows, not total moist-air mass flows or volume flows.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| dryAirFlow1 | Stream 1 dry-air mass flow (kg dry air/s) | 1 |
| dryBulb1 | Stream 1 dry-bulb temperature (°C) | 10 |
| relativeHumidity1 | Stream 1 relative humidity (%) | 60 |
| dryAirFlow2 | Stream 2 dry-air mass flow (kg dry air/s) | 3 |
| dryBulb2 | Stream 2 dry-bulb temperature (°C) | 25 |
| relativeHumidity2 | Stream 2 relative humidity (%) | 50 |
| pressure | Common absolute pressure (Pa) | 101325 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| dryBulb | Mixed dry-bulb temperature | °C |
| relativeHumidity | Mixed relative humidity | % |
| totalDryAirFlow | Total dry-air mass flow | kg dry air/s |
| stream1DryAirFraction | Stream 1 dry-air mass fraction | Dimensionless / text |
| moistAirFlow | Total moist-air mass flow | kg/s |
| vaporMassFlow | Water-vapor mass flow | kg water/s |
| volumeFlow | Mixed volume flow | m³/s |
| enthalpyFlow | Mixed enthalpy flow (0°C reference) | W |
| humidityRatio | Humidity ratio | kg water/kg dry air |
| specificHumidity | Specific humidity | kg water/kg moist air |
| dewFrostPoint | Dew point over water / frost point over ice | °C |
| enthalpy | Enthalpy per mass of dry air | J/kg dry air |
| specificVolume | Volume per mass of dry air | m³/kg dry air |
| density | Total moist-air density | kg/m³ |
| vaporPressure | Water-vapor partial pressure | Pa |
| saturationVaporPressure | Saturation pressure at dry bulb | Pa |
| saturationBasis | RH reference phase at dry bulb | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/hvac/air-mixing' \
-H 'Content-Type: application/json' \
--data '{"dryAirFlow1":1,"dryBulb1":10,"relativeHumidity1":60,"dryAirFlow2":3,"dryBulb2":25,"relativeHumidity2":50,"pressure":101325}'Example response
{
"success": true,
"data": {
"saturationVaporPressure": 2530.3811724783395,
"vaporPressure": 1373.9981351015892,
"humidityRatio": 0.008549701895843288,
"specificHumidity": 0.00847722415640181,
"enthalpy": 43126.08973599568,
"specificVolume": 0.8455441914255236,
"density": 1.1927817754805987,
"dewFrostPoint": 11.688048771883729,
"saturationBasis": "Liquid water",
"totalDryAirFlow": 4,
"stream1DryAirFraction": 0.25,
"dryBulb": 21.27726123925074,
"relativeHumidity": 54.30004578147607,
"moistAirFlow": 4.0341988075833735,
"vaporMassFlow": 0.03419880758337315,
"volumeFlow": 3.3821767657020945,
"enthalpyFlow": 172504.35894398272
}
}Model and limits
- Mix two ideal moist-air streams adiabatically at a common pressure, with no work, heat transfer, added water or condensation. Inputs are dry-air mass flows, not total moist-air mass flows or volume flows.
- Each inlet uses −50 to 80 °C, 0–100% RH and 20–120 kPa absolute, with pressure above saturation pressure at dry bulb. Both inlet states must be valid even if one flow is zero. Flows must be nonnegative and their sum positive.
- Using dry-air flows m1 and m2, W = (m1W1 + m2W2)/(m1 + m2) and h = (m1h1 + m2h2)/(m1 + m2). Dry-air mass, water-vapor mass and enthalpy are conserved.
- For h in J/kg dry air, T = (h − 2501000W)/(1006 + 1860W) °C. Relative humidity follows from vapor pressure at this mixed temperature. Do not average inlet RH or use volume-flow fractions directly.
- Convert an inlet volume flow Q to dry-air flow with m = Q/v, using that inlet's specific volume in m³/kg dry air. Mixed volume flow is the total dry-air flow times mixed specific volume; total moist-air flow includes vapor mass.
- RH uses ice saturation at or below 0.01 °C and liquid water above it. A supersaturated vapor-only prediction is rejected: condensation or ice and their energy effects require a separate equilibrium model.
- Enthalpy flow is referenced to the model's 0 °C datum and is not a heating or cooling load. Pressure losses, fans, stratification and incomplete mixing are excluded.
References
- ASHRAE Fundamentals 2025, Chapter 1: Adiabatic Mixing of Two Moist Airstreams (accessed 2026-09-08)
- PsychroLib ideal moist-air property relationships (accessed 2026-09-08)
- PsychroLib MIT license and adaptation attribution (accessed 2026-09-08)
Humid Air from Dry and Wet Bulb
POST /api/hvac/humid-air-wet-bulb
Calculate an ideal moist-air state from dry bulb, thermodynamic wet bulb and absolute pressure, using ASHRAE relationships adapted from MIT-licensed PsychroLib.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| dryBulb | Dry-bulb temperature (°C) | 30 |
| wetBulb | Thermodynamic wet-bulb temperature (°C) | 25 |
| pressure | Total absolute pressure (Pa) | 95461 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| relativeHumidity | Relative humidity at dry bulb | % |
| humidityRatio | Humidity ratio | kg water/kg dry air |
| specificHumidity | Specific humidity | kg water/kg moist air |
| dewFrostPoint | Dew point over water / frost point over ice | °C |
| enthalpy | Enthalpy per mass of dry air | J/kg dry air |
| specificVolume | Volume per mass of dry air | m³/kg dry air |
| density | Total moist-air density | kg/m³ |
| vaporPressure | Water-vapor partial pressure | Pa |
| saturationVaporPressure | Saturation pressure at dry bulb | Pa |
| saturationBasis | RH reference phase at dry bulb | Dimensionless / text |
| wetBulbDepression | Dry minus wet bulb | °C |
| wetBulbBasis | Wet-bulb energy-balance phase | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/hvac/humid-air-wet-bulb' \
-H 'Content-Type: application/json' \
--data '{"dryBulb":30,"wetBulb":25,"pressure":95461}'Example response
{
"success": true,
"data": {
"saturationVaporPressure": 4246.030243592604,
"vaporPressure": 2862.2930147265274,
"humidityRatio": 0.01922476983752272,
"specificHumidity": 0.01886214935748411,
"enthalpy": 79333.8915205781,
"specificVolume": 0.9397191727619008,
"density": 1.084605698574766,
"dewFrostPoint": 23.30236309478508,
"saturationBasis": "Liquid water",
"relativeHumidity": 67.41103691020146,
"wetBulbDepression": 5,
"wetBulbBasis": "Liquid water"
}
}Model and limits
- Calculate an ideal moist-air state from dry bulb, thermodynamic wet bulb and absolute pressure, using ASHRAE relationships adapted from MIT-licensed PsychroLib.
- Dry bulb: −50 to 80 °C. Wet bulb: −50 °C through the dry-bulb temperature. Pressure: 20–120 kPa absolute, above saturation pressure at dry bulb. Pairs implying negative moisture content are rejected rather than clamped to a small positive value.
- Let Ws = 0.621945 ps(Tw)/(p − ps(Tw)). For Tw ≥ 0 °C, W = [(2501 − 2.326Tw)Ws − 1.006(Td − Tw)] / [2501 + 1.86Td − 4.186Tw].
- For Tw < 0 °C, use the ice balance: W = [(2830 − 0.24Tw)Ws − 1.006(Td − Tw)] / [2830 + 1.86Td − 2.1Tw]. The wet-bulb energy-balance branch changes at 0 °C; the saturation-pressure function changes at the 0.01 °C triple point.
- pv = pW/(0.621945 + W); RH = 100pv/ps(Td). RH uses the saturation reference phase at dry bulb, which can differ from the wet-bulb balance phase. Enthalpy and specific volume are per kg of dry air; specific humidity and total density include water vapor.
- Thermodynamic wet bulb is an adiabatic-saturation property. A physical wet-bulb thermometer can be affected by ventilation, radiation, wick condition and ice formation; this tool does not correct an instrument reading. No fog, liquid droplets, supersaturation or real-gas correction is included.
- For a state given by relative humidity instead, use the Humid Air Properties calculator. Neither tool solves a full HVAC process or selects equipment.
References
- PsychroLib: humidity ratio from wet bulb, ASHRAE equations 33 and 35 (accessed 2026-09-08)
- PsychroLib MIT license and adaptation attribution (accessed 2026-09-08)
Composite Wall Heat Transfer
POST /api/thermal/composite-wall
Model up to three solid layers between two fluids. Number layers from side 1 toward side 2; set unused layer thicknesses to zero and retain positive conductivity inputs.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| area | Common wall area (m²) | 10 |
| temperature1 | Side 1 bulk fluid temperature (K) | 293.15 |
| temperature2 | Side 2 bulk fluid temperature (K) | 273.15 |
| film1 | Side 1 convection coefficient (W/(m²·K)) | 10 |
| film2 | Side 2 convection coefficient (W/(m²·K)) | 25 |
| thickness1 | Layer 1 thickness (zero to omit) (m) | .1 |
| conductivity1 | Layer 1 conductivity (W/(m·K)) | 1 |
| thickness2 | Layer 2 thickness (zero to omit) (m) | .05 |
| conductivity2 | Layer 2 conductivity (W/(m·K)) | .04 |
| thickness3 | Layer 3 thickness (zero to omit) (m) | 0 |
| conductivity3 | Layer 3 conductivity (W/(m·K)) | 1 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| heatRate | Heat rate, side 1 toward side 2 | W |
| heatFlux | Heat flux, side 1 toward side 2 | W/m² |
| overallCoefficient | Overall heat-transfer coefficient | W/(m²·K) |
| resistancePerArea | Area-normalized thermal resistance | m²·K/W |
| thermalResistance | Total thermal resistance | K/W |
| surface1 | Side 1 wall surface | K |
| interface12 | Layer 1 / 2 interface | K |
| interface23 | Layer 2 / 3 interface | K |
| surface2 | Side 2 wall surface | K |
Example request
curl 'https://www.engivault.com/api/thermal/composite-wall' \
-H 'Content-Type: application/json' \
--data '{"area":10,"temperature1":293.15,"temperature2":273.15,"film1":10,"film2":25,"thickness1":0.1,"conductivity1":1,"thickness2":0.05,"conductivity2":0.04,"thickness3":0,"conductivity3":1}'Example response
{
"success": true,
"data": {
"heatRate": 134.22818791946307,
"heatFlux": 13.422818791946307,
"overallCoefficient": 0.6711409395973154,
"resistancePerArea": 1.4900000000000002,
"thermalResistance": 0.14900000000000002,
"surface1": 291.80771812080536,
"interface12": 290.46543624161075,
"interface23": 273.6869127516779,
"surface2": 273.6869127516778
}
}Model and limits
- Model up to three solid layers between two fluids. Number layers from side 1 toward side 2; set unused layer thicknesses to zero and retain positive conductivity inputs.
- R″ = 1/h₁ + Σ(Lᵢ/kᵢ) + 1/h₂; U = 1/R″. Each term uses the same wall area.
- q″ = U(T₁ − T₂); Q = Aq″. Positive heat flow is from side 1 toward side 2.
- Subtract q″ times each successive resistance to obtain surface and interface temperatures. Zero-thickness layers have no temperature drop.
- Assumes steady one-dimensional heat flow, constant properties and perfect layer contact, without heat generation, radiation, air gaps, thermal bridges or phase change. Supply coefficients and conductivities appropriate to the operating conditions.
- Illustrative inputs are not specified material properties or regulatory U-values. At the defaults, R″ = 1.49 m²·K/W and Q = 134.2282 W.
References
- US DOE Fundamentals Handbook: conduction and convection, HT-02 pages 9–10 and 20–22 (accessed 2026-09-08)
Reservoir-to-Reservoir Pump Duty
POST /api/pumps/duty
Combine reservoir elevation and pressure differences with pipe and local losses at an entered flow rate.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| flowRate | Imposed liquid flow (m³/s) | 0.01 |
| length | Total straight-pipe length (m) | 100 |
| diameter | Uniform internal diameter (m) | 0.1 |
| roughness | Absolute pipe roughness (m) | 0.000045 |
| density | Liquid density (kg/m³) | 998 |
| viscosity | Dynamic viscosity (Pa·s) | 0.001 |
| elevationRise | Destination minus source surface elevation (m) | 10 |
| pressureDifference | Destination minus source surface pressure (Pa) | 0 |
| lossCoefficient | Total fitting and entry/exit loss coefficient (1) | 5 |
| pumpEfficiency | Pump efficiency, fraction (0–1) | 0.7 |
| motorEfficiency | Motor efficiency, fraction (0–1) | 0.9 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| systemHead | Signed system head | m |
| pumpHead | Head to add by pumping | m |
| surplusHead | Surplus head requiring dissipation | m |
| frictionHead | Straight-pipe friction head | m |
| fittingHead | Local-loss head | m |
| pressureHead | Reservoir pressure head difference | m |
| hydraulicPower | Hydraulic power | W |
| shaftPower | Pump shaft power | W |
| electricalPower | Motor electrical input | W |
| velocity | Pipe velocity | m/s |
| reynoldsNumber | Reynolds number | 1 |
| flowRegime | Flow regime | Dimensionless / text |
Example request
curl 'https://www.engivault.com/api/pumps/duty' \
-H 'Content-Type: application/json' \
--data '{"flowRate":0.01,"length":100,"diameter":0.1,"roughness":0.000045,"density":998,"viscosity":0.001,"elevationRise":10,"pressureDifference":0,"lossCoefficient":5,"pumpEfficiency":0.7,"motorEfficiency":0.9}'Example response
{
"success": true,
"data": {
"frictionHead": 1.619543713520909,
"fittingHead": 0.4132754147128235,
"pressureHead": 0,
"systemHead": 12.032819128233731,
"pumpHead": 12.032819128233731,
"surplusHead": 0,
"hydraulicPower": 1177.6564241248552,
"shaftPower": 1682.3663201783647,
"electricalPower": 1869.295911309294,
"velocity": 1.2732395447351625,
"reynoldsNumber": 127069.30656456923,
"flowRegime": "Turbulent"
}
}Model and limits
- Combine reservoir elevation and pressure differences with pipe and local losses at an entered flow rate.
- Hsystem = Δz + Δp/(ρg) + hf + K v²/(2g). Reservoir velocities are negligible; all loss coefficients must refer to the same pipe velocity.
- Pipe friction uses Darcy–Weisbach with 64/Re below Re 2300 and Swamee–Jain otherwise. The transition range is uncertain.
- For positive head: Phydraulic = ρgQH, Pshaft = Phydraulic/ηpump, Pelectrical = Pshaft/ηmotor. Enter efficiencies as fractions, not percentages.
- Negative system head indicates surplus driving head at the imposed flow. Pumping power is zero in that case; control or dissipation would be needed. This is not turbine-output prediction.
- Use liquid properties for the operating temperature and pressure. Assumes steady incompressible single-phase flow and one uniform pipe bore; include entrance, exit, valve and fitting losses in K.
- This is a duty estimate, not a pump selection, actual operating-point solution, motor nameplate rating or NPSH/cavitation check. Use manufacturer curves and an application-specific margin separately.
References
- US EPA EPANET 2.2: Pipe friction and minor losses (accessed 2026-09-08)
- KSB: Pump power input (accessed 2026-09-08)
- KSB: Pump efficiency (accessed 2026-09-08)
Sound Intensity Level
POST /api/acoustics/sound-intensity-level
Convert positive intensity to level: L = 10 log₁₀(I/Iref).
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| intensity | Sound intensity (W/m²) | 0.000001 |
| referenceIntensity | Reference intensity (W/m²) | 1e-12 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| intensityLevel | Intensity level relative to reference | dB |
Example request
curl 'https://www.engivault.com/api/acoustics/sound-intensity-level' \
-H 'Content-Type: application/json' \
--data '{"intensity":0.000001,"referenceIntensity":1e-12}'Example response
{
"success": true,
"data": {
"intensityLevel": 60
}
}Model and limits
- Convert positive intensity to level: L = 10 log₁₀(I/Iref).
- Default reference: 10⁻¹² W/m². Example: I = 10⁻⁶ W/m² gives 60 dB.
- Negative levels are valid below the reference. Zero intensity corresponds to negative infinity and is excluded.
- This is intensity level, not sound-pressure level, A-weighted level or perceived loudness.
References
- OpenStax University Physics: Sound Intensity (accessed 2026-09-08)
Spherical Sound Spreading
POST /api/acoustics/spherical-sound-spreading
Ideal full-sphere spreading: I = P/(4πr²), then L = 10 log₁₀(I/Iref).
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| acousticPower | Radiated acoustic power (W) | 0.01 |
| distance | Distance from point source (m) | 10 |
| referenceIntensity | Reference intensity (W/m²) | 1e-12 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| intensity | Sound intensity | W/m² |
| intensityLevel | Intensity level relative to reference | dB |
Example request
curl 'https://www.engivault.com/api/acoustics/spherical-sound-spreading' \
-H 'Content-Type: application/json' \
--data '{"acousticPower":0.01,"distance":10,"referenceIntensity":1e-12}'Example response
{
"success": true,
"data": {
"intensity": 0.000007957747154594767,
"intensityLevel": 69.00790135977903
}
}Model and limits
- Ideal full-sphere spreading: I = P/(4πr²), then L = 10 log₁₀(I/Iref).
- Example: 0.01 W at 10 m gives about 7.958 × 10⁻⁶ W/m², or 69.01 dB relative to 10⁻¹² W/m².
- Assumes an isotropic point source in a lossless free field. Excludes reflections, ground effects, barriers, atmospheric absorption and near-field effects.
- Use radiated acoustic power, not electrical input power. This model is not a noise-exposure assessment.
References
- OpenStax University Physics: Sound Intensity (accessed 2026-09-08)
Surface Convection
POST /api/thermal/surface-convection
Calculate surface convection using Q̇ = hAΔT and q″ = hΔT.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| coefficient | Mean convection coefficient (W/(m²·K)) | 10 |
| area | Heat transfer area (m²) | 2 |
| temperatureDifference | Surface minus bulk fluid temperature (K) | 30 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| heatRate | Heat transfer rate | W |
| heatFlux | Heat flux | W/m² |
| thermalResistance | Convection resistance | K/W |
Example request
curl 'https://www.engivault.com/api/thermal/surface-convection' \
-H 'Content-Type: application/json' \
--data '{"coefficient":10,"area":2,"temperatureDifference":30}'Example response
{
"success": true,
"data": {
"heatRate": 600,
"heatFlux": 300,
"thermalResistance": 0.05
}
}Model and limits
- Calculate surface convection using Q̇ = hAΔT and q″ = hΔT.
- Positive results mean heat leaves the surface; negative results mean heat enters it. R = 1/(hA).
- Example: h = 10 W/(m²·K), A = 2 m² and ΔT = 30 K give 600 W, 300 W/m² and 0.05 K/W.
- Supply a mean coefficient appropriate to the geometry, fluid and flow conditions. This calculator does not estimate h or model variation along the surface.
- Assumes a uniform surface temperature and a defined bulk-fluid temperature. Conduction, radiation and transient temperature changes are excluded.
References
- MIT Unified Engineering: Convective Heat Transfer (accessed 2026-09-08)
Thermal Radiation to Large Surroundings
POST /api/thermal/enclosure-radiation
Net thermal radiation: Q̇ = εσA(Ts⁴ − Tsur⁴). Absolute temperatures must be entered in kelvin.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| emissivity | Surface emissivity (0–1) | 0.8 |
| area | Radiating surface area (m²) | 1 |
| surfaceTemperature | Surface absolute temperature (K) | 400 |
| surroundingsTemperature | Surroundings absolute temperature (K) | 300 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| heatRate | Net radiation heat rate | W |
| heatFlux | Net radiation heat flux | W/m² |
Example request
curl 'https://www.engivault.com/api/thermal/enclosure-radiation' \
-H 'Content-Type: application/json' \
--data '{"emissivity":0.8,"area":1,"surfaceTemperature":400,"surroundingsTemperature":300}'Example response
{
"success": true,
"data": {
"heatRate": 793.85241866,
"heatFlux": 793.85241866
}
}Model and limits
- Net thermal radiation: Q̇ = εσA(Ts⁴ − Tsur⁴). Absolute temperatures must be entered in kelvin.
- Uses σ = 5.670374419 × 10⁻⁸ W/(m²·K⁴), rounded from the Stefan–Boltzmann constant.
- Positive heat rate leaves the surface; hotter surroundings produce a negative result. Equal temperatures give zero net exchange.
- Example: ε = 0.8, A = 1 m², Ts = 400 K and Tsur = 300 K give approximately 793.85 W outward.
- Model: a gray surface surrounded by a much larger isothermal enclosure, with view factor one and a nonparticipating intervening medium.
- Does not solve exchange between finite surfaces, solar absorption, semitransparent materials, participating gases or combined convection. Select emissivity for the actual surface condition.
References
- OpenStax: Mechanisms of Heat Transfer (accessed 2026-09-08)
- NIST fundamental physical constants (accessed 2026-09-08)
Sensible Heat
POST /api/thermal/sensible-heat
Q = mcΔT; heat capacity C = mc. Negative Q represents heat removed.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| mass | Mass (kg) | 10 |
| specificHeat | Specific heat capacity (J/(kg·K)) | 1000 |
| temperatureChange | Final minus initial temperature (K) | 20 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| heat | Heat added | J |
| heatCapacity | Total heat capacity | J/K |
Example request
curl 'https://www.engivault.com/api/thermal/sensible-heat' \
-H 'Content-Type: application/json' \
--data '{"mass":10,"specificHeat":1000,"temperatureChange":20}'Example response
{
"success": true,
"data": {
"heat": 200000,
"heatCapacity": 10000
}
}Model and limits
- Q = mcΔT; heat capacity C = mc. Negative Q represents heat removed.
- Example: 10 kg, 1000 J/(kg·K), and a 20 K rise requires 200,000 J. The specific heat is illustrative.
- Assumes constant specific heat and no phase change. Choose the specific heat appropriate to the process, such as constant pressure or constant volume. Excludes equipment heat capacity and environmental losses.
- Source: https://openstax.org/books/university-physics-volume-2/pages/1-4-heat-transfer-specific-heat-and-calorimetry
References
- OpenStax University Physics Volume 2: Sensible Heat (accessed 2026-09-08)
Free Linear Thermal Expansion
POST /api/thermal/linear-expansion
ΔL = αL₀ΔT; final length = L₀ + ΔL. Cooling or a negative expansion coefficient can produce contraction.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| originalLength | Original length (m) | 10 |
| coefficient | Mean linear expansion coefficient (1/K) | 0.000012 |
| temperatureChange | Final minus initial temperature (K) | 50 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| lengthChange | Length change | m |
| finalLength | Final length | m |
Example request
curl 'https://www.engivault.com/api/thermal/linear-expansion' \
-H 'Content-Type: application/json' \
--data '{"originalLength":10,"coefficient":0.000012,"temperatureChange":50}'Example response
{
"success": true,
"data": {
"lengthChange": 0.006,
"finalLength": 10.006
}
}Model and limits
- ΔL = αL₀ΔT; final length = L₀ + ΔL. Cooling or a negative expansion coefficient can produce contraction.
- Example: 10 m, α = 0.000012/K and 50 K gives 0.006 m expansion. The coefficient is illustrative.
- Assumes uniform temperature and free expansion with a suitable mean coefficient over the temperature interval. It does not calculate restraint forces, thermal stress, buckling or joint capacity.
- Source: https://openstax.org/books/university-physics-volume-2/pages/1-3-thermal-expansion
References
- OpenStax University Physics Volume 2: Free Linear Thermal Expansion (accessed 2026-09-08)
Ideal Gas Density
POST /api/gases/ideal-gas-density
Ideal gas relation p = ρRT gives density ρ = p/(RT). Specific volume is 1/ρ.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| absolutePressure | Absolute pressure (Pa) | 101325 |
| absoluteTemperature | Absolute temperature (K) | 300 |
| specificGasConstant | Specific gas constant (J/(kg·K)) | 287 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| density | Density | kg/m³ |
| specificVolume | Specific volume | m³/kg |
Example request
curl 'https://www.engivault.com/api/gases/ideal-gas-density' \
-H 'Content-Type: application/json' \
--data '{"absolutePressure":101325,"absoluteTemperature":300,"specificGasConstant":287}'Example response
{
"success": true,
"data": {
"density": 1.1768292682926829,
"specificVolume": 0.8497409326424871
}
}Model and limits
- Ideal gas relation p = ρRT gives density ρ = p/(RT). Specific volume is 1/ρ.
- Pressure must be absolute and temperature must be in kelvins. R is the mass-based gas constant for the gas or mixture, not the universal molar constant.
- Example: 101325 Pa, 300 K and R = 287 J/(kg·K) gives approximately 1.17683 kg/m³. The example R is a rounded dry-air assumption.
- This is an ideal-gas estimate. Dense gases, conditions near condensation or the critical point, and mixtures with changing composition require appropriate real-fluid property data.
- Source: https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/equation-of-state/
References
- NASA Glenn: Equation of State (accessed 2026-09-08)
Axial Bar Stress and Extension
POST /api/mechanics/axial-bar
For a uniform bar under centered axial load, stress σ = F/A, strain ε = σ/E, and length change δ = εL.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| force | Axial force (tension positive) (N) | 10000 |
| area | Cross-sectional area (m²) | 0.001 |
| length | Original bar length (m) | 2 |
| youngModulus | Young’s modulus (Pa) | 200000000000 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| stress | Axial stress | Pa |
| strain | Axial strain | m/m |
| extension | Length change | m |
Example request
curl 'https://www.engivault.com/api/mechanics/axial-bar' \
-H 'Content-Type: application/json' \
--data '{"force":10000,"area":0.001,"length":2,"youngModulus":200000000000}'Example response
{
"success": true,
"data": {
"stress": 10000000,
"strain": 0.00005,
"extension": 0.0001
}
}Model and limits
- For a uniform bar under centered axial load, stress σ = F/A, strain ε = σ/E, and length change δ = εL.
- Example: 10,000 N, 0.001 m², 2 m and E = 200 GPa gives 10 MPa stress, 0.00005 strain and 0.0001 m extension. The modulus is illustrative; use material- and temperature-appropriate data.
- Negative force represents compression and produces negative strain and shortening in this model.
- Valid only for small linear-elastic deformation. Does not check yield, buckling, fatigue, connections, stress concentrations or eccentric loading. Compression results do not establish column stability.
- Source: https://openstax.org/books/university-physics-volume-1/pages/12-3-stress-strain-and-elastic-modulus
References
- OpenStax University Physics Volume 1 §12.3 (accessed 2026-09-08)
DC Resistor Current and Power
POST /api/electrical/dc-resistor
For an ideal ohmic resistor, I = V/R and P = VI = V²/R.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| voltage | Voltage across resistor (V) | 12 |
| resistance | Resistance (Ω) | 100 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| current | Current | A |
| power | Dissipated power | W |
Example request
curl 'https://www.engivault.com/api/electrical/dc-resistor' \
-H 'Content-Type: application/json' \
--data '{"voltage":12,"resistance":100}'Example response
{
"success": true,
"data": {
"current": 0.12,
"power": 1.44
}
}Model and limits
- For an ideal ohmic resistor, I = V/R and P = VI = V²/R.
- Example: 12 V across 100 Ω gives 0.12 A and 1.44 W. Reversing voltage reverses current but leaves dissipated power positive.
- Assumes constant DC voltage and resistance. Does not model resistance changing with temperature, reactive AC loads, source impedance or nonlinear devices.
- Calculated dissipation is not a selected component rating; consult the component’s thermal derating and operating limits.
- Source: https://openstax.org/books/university-physics-volume-2/pages/9-5-electrical-energy-and-power
References
- OpenStax University Physics Volume 2 §9.5 (accessed 2026-09-08)
Plane Wall Heat Conduction
POST /api/thermal/wall-conduction
For steady one-dimensional conduction, heat rate = kAΔT/L and wall resistance = L/(kA).
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| conductivity | Thermal conductivity (W/(m·K)) | 0.04 |
| area | Area normal to heat flow (m²) | 10 |
| thickness | Wall thickness (m) | 0.1 |
| temperatureDifference | Surface 1 minus surface 2 temperature (K) | 20 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| heatRate | Heat rate from surface 1 to 2 | W |
| heatFlux | Heat flux from surface 1 to 2 | W/m² |
| thermalResistance | Wall thermal resistance | K/W |
Example request
curl 'https://www.engivault.com/api/thermal/wall-conduction' \
-H 'Content-Type: application/json' \
--data '{"conductivity":0.04,"area":10,"thickness":0.1,"temperatureDifference":20}'Example response
{
"success": true,
"data": {
"heatRate": 80,
"heatFlux": 8,
"thermalResistance": 0.25
}
}Model and limits
- For steady one-dimensional conduction, heat rate = kAΔT/L and wall resistance = L/(kA).
- Example: k = 0.04 W/(m·K), A = 10 m², L = 0.1 m and ΔT = 20 K gives 80 W, 8 W/m² and 0.25 K/W. Conductivity here is illustrative; use a value appropriate to the material and operating temperature.
- The temperature difference is between wall surfaces, not surrounding air. A negative difference reverses the heat-flow direction.
- Assumes constant conductivity, no internal heat generation and negligible edge effects. Excludes surface convection, radiation, contact resistance and thermal bridges.
- Source: https://openstax.org/books/university-physics-volume-2/pages/1-6-mechanisms-of-heat-transfer
References
- OpenStax University Physics Volume 2 §1.6 (accessed 2026-09-08)
Hydrostatic Pressure
POST /api/hydraulics/hydrostatic-pressure
For a fluid at rest with constant density and gravity: Δp = ρgh.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| density | Fluid density (kg/m³) | 1000 |
| depth | Depth below surface (m) | 10 |
| surfacePressure | Absolute pressure at surface (Pa) | 101325 |
| gravity | Gravitational acceleration (m/s²) | 9.80665 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| pressureIncrease | Pressure increase below surface | Pa |
| absolutePressure | Absolute pressure at depth | Pa |
Example request
curl 'https://www.engivault.com/api/hydraulics/hydrostatic-pressure' \
-H 'Content-Type: application/json' \
--data '{"density":1000,"depth":10,"surfacePressure":101325,"gravity":9.80665}'Example response
{
"success": true,
"data": {
"pressureIncrease": 98066.5,
"absolutePressure": 199391.5
}
}Model and limits
- For a fluid at rest with constant density and gravity: Δp = ρgh.
- Absolute pressure at depth is surface absolute pressure + Δp. The increase is gauge pressure only when the reference is the surface pressure.
- Example: 1000 kg/m³ at 10 m and g = 9.80665 m/s² gives 98,066.5 Pa increase; with 101,325 Pa at the surface, absolute pressure is 199,391.5 Pa.
- Not applicable to a flowing system or a deep gas column with appreciably varying density.
- Source: OpenStax, College Physics 2e §11.4 — https://openstax.org/books/college-physics-2e/pages/11-4-variation-of-pressure-with-depth-in-a-fluid
References
- OpenStax College Physics 2e §11.4 (accessed 2026-09-08)
Dynamic Pressure
POST /api/hydraulics/dynamic-pressure
Dynamic pressure q = ½ρv² is kinetic energy per unit volume.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| density | Fluid density (kg/m³) | 1.225 |
| velocity | Flow speed (m/s) | 20 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| dynamicPressure | Dynamic pressure | Pa |
Example request
curl 'https://www.engivault.com/api/hydraulics/dynamic-pressure' \
-H 'Content-Type: application/json' \
--data '{"density":1.225,"velocity":20}'Example response
{
"success": true,
"data": {
"dynamicPressure": 245.00000000000003
}
}Model and limits
- Dynamic pressure q = ½ρv² is kinetic energy per unit volume.
- Example: density 1.225 kg/m³ and speed 20 m/s gives 245 Pa. The example density is an input assumption, not an atmospheric property lookup.
- Equating q with stagnation pressure minus static pressure requires the incompressible, lossless Bernoulli assumptions. Compressible Pitot measurements need a different relation.
- Source: NASA Glenn, Dynamic Pressure — https://www.grc.nasa.gov/www/BGH/dynpress.html
References
- NASA Glenn: Dynamic Pressure (accessed 2026-09-08)
Pressure Drop Calculator
POST /api/hydraulics/pressure-drop
Calculates pressure drop using the Darcy-Weisbach equation
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| Q | Flow Rate (m³/s) | 0.1 |
| L | Pipe Length (m) | 100 |
| D | Pipe Diameter (m) | 0.1 |
| roughness | Pipe Roughness (m) | 0.000045 |
| density | Fluid Density (kg/m³) | 998 |
| viscosity | Dynamic Viscosity (Pa·s) | 0.001 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| pressureDrop | Pressure Drop | Pa |
| frictionFactor | Friction Factor | Dimensionless / text |
| reynoldsNumber | Reynolds Number | Dimensionless / text |
| velocity | Mean Velocity | m/s |
Example request
curl 'https://www.engivault.com/api/hydraulics/pressure-drop' \
-H 'Content-Type: application/json' \
--data '{"Q":0.1,"L":100,"D":0.1,"roughness":0.000045,"density":998,"viscosity":0.001}'Example response
{
"success": true,
"data": {
"pressureDrop": 1361742.2071419475,
"frictionFactor": 0.016833488077100833,
"reynoldsNumber": 1270693.0656456924,
"velocity": 12.732395447351626
}
}Model and limits
- Calculates pressure drop using the Darcy-Weisbach equation
- Uses Darcy friction factor: 64/Re below Re 2300, otherwise the Swamee–Jain approximation. The 2300–4000 transition range is uncertain; this implementation does not reproduce EPANET’s transitional interpolation.
- Assumes steady, fully developed, single-phase incompressible flow in a full circular pipe. Input dynamic viscosity, density and roughness for the operating conditions.
- Returns straight-pipe friction loss only. Fittings, valves, elevation changes and acceleration are excluded. The friction factor is Darcy, not Fanning.
References
- US EPA EPANET 2.2: Pipe head loss and friction factors (accessed 2026-09-08)
NPSH Calculator
POST /api/pumps/npsh
Reservoir model: NPSHA = (surface absolute pressure − vapor pressure)/(density × g) + liquid elevation − suction losses; negligible reservoir velocity
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| elevation | Liquid Surface Above Pump (m) | 2 |
| atmosphericPressure | Reservoir Surface Absolute Pressure (Pa absolute) | 101325 |
| vaporPressure | Vapor Pressure (Pa) | 2300 |
| density | Liquid Density (kg/m³) | 998 |
| npshRequired | Required NPSH (manufacturer curve) (m) | 3 |
| frictionLosses | Total Suction Losses (pipe, fittings and entry) (m) | 2.1 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| npshAvailable | NPSH Available | m |
| npshRequired | NPSH Required | m |
| npshMargin | NPSH Margin | m |
Example request
curl 'https://www.engivault.com/api/pumps/npsh' \
-H 'Content-Type: application/json' \
--data '{"elevation":2,"atmosphericPressure":101325,"vaporPressure":2300,"density":998,"npshRequired":3,"frictionLosses":2.1}'Example response
{
"success": true,
"data": {
"npshAvailable": 10.017975750514966,
"npshRequired": 3,
"npshMargin": 7.017975750514966
}
}Model and limits
- Reservoir model: NPSHA = (surface absolute pressure − vapor pressure)/(density × g) + liquid elevation − suction losses; negligible reservoir velocity
- Uses the required NPSH entered from the manufacturer curve; it cannot be inferred from suction conditions
- Returns the arithmetic margin NPSHA minus the supplied NPSHR. A positive margin alone does not establish cavitation-free operation or an adequate application-specific margin.
- Check the pump curve at the actual flow and speed and confirm its cavitation criterion. NPSH3 refers to a 3% head-drop criterion, not the onset of cavitation. Include suction entry, valve and fitting losses.
References
- KSB Centrifugal Pump Lexicon: NPSH and cavitation criteria (accessed 2026-09-08)
Pipe Sizing Calculator
POST /api/hydraulics/pipe-sizing
Finds a minimum internal bore satisfying the supplied mean-velocity and straight-pipe pressure-gradient limits.
Open interactive calculatorInputs, outputs, example and references
Inputs
| JSON field | Meaning and units | Example |
|---|---|---|
| flowRate | Flow Rate (m³/s) | 0.05 |
| targetVelocity | Target Velocity (m/s) | 2.0 |
| maxPressureDrop | Max Pressure Drop (Pa/m) | 100 |
| density | Liquid Density (kg/m³) | 998 |
| viscosity | Dynamic Viscosity (Pa·s) | 0.001 |
| roughness | Pipe Roughness (m) | 0.000045 |
Outputs
| JSON field | Meaning | Unit |
|---|---|---|
| recommendedDiameter | Recommended Diameter | m |
| actualVelocity | Actual Velocity | m/s |
| actualPressureDrop | Actual Pressure Drop | Pa/m |
Example request
curl 'https://www.engivault.com/api/hydraulics/pipe-sizing' \
-H 'Content-Type: application/json' \
--data '{"flowRate":0.05,"targetVelocity":2,"maxPressureDrop":100,"density":998,"viscosity":0.001,"roughness":0.000045}'Example response
{
"success": true,
"data": {
"recommendedDiameter": 0.2014587462045113,
"actualVelocity": 1.5685843203294405,
"actualPressureDrop": 99.99999999999991
}
}Model and limits
- Finds a minimum internal bore satisfying the supplied mean-velocity and straight-pipe pressure-gradient limits.
- Considers velocity constraints and pressure drop limits
- Uses the pressure-drop calculator’s Darcy friction model and limitations. Transition-region results are uncertain. It does not select wall thickness, pressure class or a pipe-network design.
- Returns minimum internal diameter; choose a commercial size with an equal or larger bore
References
- US EPA EPANET 2.2: Pipe head loss and friction factors (accessed 2026-09-08)
Resource and material data
GET /resources lists calculators, articles, references and materials. Query parameters: q and type (calculator, article, reference or material). Search matches every query word across titles, categories, descriptions and keywords, regardless of case or word order.
GET /materials?reviewed=true lists records with at least one reviewed property. Omit reviewed to include all records; q matches words in names or categories, and category filters an exact category name, regardless of case.
Each material property contains id, label, unit, value, valueRange, valueKind, reviewStatus and source. Reviewed scalars have numeric value and null valueRange. Source-reported ranges have null value and valueRange containing min and max in the stated unit. Unreviewed scalars and ranges are null.
valueKind distinguishes a recorded minimum or typical value; null means that basis is not recorded. Sources include URL, title, conditions and access date. A partially reviewed material still has unreviewed fields. These endpoints do not apply temperature or pressure corrections or certify design suitability.
Accounts and integrations
Project storage requires a verified account and is private to that account. Calculation history is saved in this browser. Paid subscriptions, legacy API-key management, the standalone Railway API and desktop installers are not activated in this web release. Other integration guides describe the supplied standalone API and SDK source.