Live API reference

Base URL: https://www.engivault.com/api. These 44 numerical calculation endpoints plus the sample-statistics and unit-conversion endpoints 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, except sample statistics which permits 32768 characters. 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.

Open the browser unit converter

Repeated measurement statistics

POST /statistics/sample takes exactly one field, values, containing 2–1,000 finite JSON numbers in the same unit. Numeric strings and extra fields are rejected.

curl 'https://www.engivault.com/api/statistics/sample' -H 'Content-Type: application/json' --data '{"values":[10,12,14,16,18]}'

Example response

{
  "success": true,
  "data": {
    "count": 5,
    "mean": 14,
    "median": 14,
    "minimum": 10,
    "maximum": 18,
    "range": 8,
    "sampleVariance": 10.000000000000002,
    "sampleStandardDeviation": 3.1622776601683795,
    "standardError": 1.4142135623730951,
    "degreesOfFreedom": 4
  }
}
  • count: Number of readings
  • mean: Arithmetic mean (reading unit)
  • median: Median (reading unit)
  • minimum: Minimum (reading unit)
  • maximum: Maximum (reading unit)
  • range: Range (reading unit)
  • sampleVariance: Sample variance (reading unit²)
  • sampleStandardDeviation: Sample standard deviation s (reading unit)
  • standardError: Standard error of the mean s/√n (reading unit)
  • degreesOfFreedom: Sample variance degrees of freedom

Standard error requires independent observations under the same conditions for interpretation as uncertainty of the mean. It is not total measurement uncertainty. No confidence interval or outlier removal is performed.

Open the statistics tool, assumptions and references

Reynolds, Prandtl and Péclet Numbers

POST /api/thermal/transport-numbers

Calculate dimensionless transport groups and diffusivities from fluid properties, a speed and a characteristic length. Defaults are an illustrative property set, not a certified fluid state.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
densityFluid density (kg/m³)1000
viscosityDynamic viscosity (Pa·s)0.001
specificHeatSpecific heat at constant pressure (J/(kg·K))4000
conductivityThermal conductivity (W/(m·K))0.5
speedCharacteristic speed (m/s)1
lengthCharacteristic length (m)0.01

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
kinematicViscosityKinematic viscosity (momentum diffusivity)m²/s
thermalDiffusivityThermal diffusivitym²/s
reynoldsNumberReynolds number ReDimensionless / text
prandtlNumberPrandtl number PrDimensionless / text
pecletNumberThermal Péclet number PeDimensionless / text

Example request

curl 'https://www.engivault.com/api/thermal/transport-numbers' \
  -H 'Content-Type: application/json' \
  --data '{"density":1000,"viscosity":0.001,"specificHeat":4000,"conductivity":0.5,"speed":1,"length":0.01}'

Example response

{
  "success": true,
  "data": {
    "kinematicViscosity": 0.000001,
    "thermalDiffusivity": 1.25e-7,
    "reynoldsNumber": 10000,
    "prandtlNumber": 8,
    "pecletNumber": 80000
  }
}

Model and limits

  1. Calculate dimensionless transport groups and diffusivities from fluid properties, a speed and a characteristic length. Defaults are an illustrative property set, not a certified fluid state.
  2. Supply positive scalar properties for the same fluid and evaluation state. Dynamic viscosity μ is in Pa·s, not cP or m²/s; specific heat cp is in J/(kg·K), not kJ/(kg·K). This tool does not evaluate properties from temperature or pressure.
  3. Kinematic viscosity ν = μ/ρ and thermal diffusivity α = k/(ρ cp), both in m²/s. Prandtl number Pr = ν/α = μ cp/k compares momentum and thermal diffusion.
  4. Reynolds number Re = UL/ν. Choose the speed and length required by your intended model, such as bulk speed and inside diameter for a circular pipe. A plate length, hydraulic diameter and computational-cell size are different choices and are not automatically interchangeable.
  5. Thermal Péclet number Pe = UL/α = Re × Pr when the same speed and length are used. It compares advection and thermal diffusion on those scales. This is not a mass-transfer Péclet number; that uses a mass diffusivity instead.
  6. Zero speed gives Re = Pe = 0 while the material diffusivities and Pr remain defined. No universal laminar/turbulent classification, Nusselt correlation, heat-transfer coefficient or boundary-layer thickness is inferred. Match geometry, boundary conditions, property evaluation and validity range when selecting a correlation.

References

Two-Input Measurement Uncertainty

POST /api/controls/measurement-uncertainty

Propagate two input standard uncertainties through addition, subtraction, multiplication or division. Standard uncertainty is expressed as a standard deviation; do not enter a tolerance bound or expanded uncertainty unchanged.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
operationMeasurement equation
  • 0: A + B
  • 1: A − B
  • 2: A × B
  • 3: A / B
2
valueAEstimate A (A unit)10
valueBEstimate B (B unit)2
uncertaintyAStandard uncertainty of A (A unit)0.1
uncertaintyBStandard uncertainty of B (B unit)0.02
correlationCorrelation coefficient (−1 to 1)0
coverageFactorCoverage factor k2

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
estimateOutput estimateoutput unit
sensitivityASensitivity to Aoutput unit / A unit
sensitivityBSensitivity to Boutput unit / B unit
standardUncertaintyCombined standard uncertaintyoutput unit
relativeStandardUncertaintyRelative standard uncertainty%
coverageFactorCoverage factor kDimensionless / text
expandedUncertaintyExpanded uncertainty Uoutput unit
lowerEstimateEstimate minus Uoutput unit
upperEstimateEstimate plus Uoutput unit
methodMethodDimensionless / text

Example request

curl 'https://www.engivault.com/api/controls/measurement-uncertainty' \
  -H 'Content-Type: application/json' \
  --data '{"operation":2,"valueA":10,"valueB":2,"uncertaintyA":0.1,"uncertaintyB":0.02,"correlation":0,"coverageFactor":2}'

Example response

{
  "success": true,
  "data": {
    "estimate": 20,
    "sensitivityA": 2,
    "sensitivityB": 10,
    "standardUncertainty": 0.28284271247461906,
    "coverageFactor": 2,
    "expandedUncertainty": 0.5656854249492381,
    "lowerEstimate": 19.434314575050763,
    "upperEstimate": 20.565685424949237,
    "relativeStandardUncertainty": 1.4142135623730951,
    "method": "First-order approximation — assess nonlinearity"
  }
}

Model and limits

  1. Propagate two input standard uncertainties through addition, subtraction, multiplication or division. Standard uncertainty is expressed as a standard deviation; do not enter a tolerance bound or expanded uncertainty unchanged.
  2. Use the same unit for A and B in addition/subtraction. For multiplication the output unit is A-unit × B-unit; for division it is A-unit / B-unit. Enter each absolute standard uncertainty in the same unit as its corresponding estimate. No unit conversion is performed.
  3. Let cA = ∂f/∂A and cB = ∂f/∂B. Combined variance uc² = (cA uA)² + (cB uB)² + 2r cA cB uA uB, where r is the correlation coefficient. A value of zero specifies uncorrelated inputs; it is not inferred from the data.
  4. Sensitivities are (1, 1) for a sum, (1, −1) for a difference, (B, A) for a product and (1/B, −A/B²) for a quotient. This is first-order propagation; nonlinear effects can matter for products and ratios, especially with a denominator near zero. A zero first-order result does not prove zero uncertainty for a nonlinear model. No Monte Carlo propagation, distribution or degrees-of-freedom estimate is provided.
  5. Expanded uncertainty U = k uc. The displayed estimate ± U does not have an automatically assigned confidence level. Choosing k = 2 alone does not establish 95% coverage. Relative standard uncertainty is 100 uc/|estimate| and is undefined at a zero estimate.

References

Wet Steam Mixture Properties

POST /api/thermal/wet-steam-properties

Pure water at liquid–vapor equilibrium, using absolute pressure in Pa. The range is 611.657 Pa through pressures strictly below 22064000 Pa. Quality is undefined at the critical point; numerically unresolved phase boundaries are rejected.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
pressureAbsolute saturation pressure (Pa)101325
qualityVapor mass fraction (quality, 0 to 1) (kg vapor / kg mixture)0.9

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
pressureAbsolute saturation pressurePa
temperatureSaturation temperatureK
celsiusSaturation temperature°C
qualityVapor mass fraction (quality)kg vapor / kg mixture
moistureLiquid mass fraction (moisture)kg liquid / kg mixture
vaporVolumeFractionVapor volume fractionm³ vapor / m³ mixture
specificVolumeMixture specific volumem³/kg
densityMixture densitykg/m³
enthalpyMixture specific enthalpyJ/kg
entropyMixture specific entropyJ/(kg·K)
internalEnergyMixture specific internal energyJ/kg
liquidEnthalpySaturated liquid specific enthalpyJ/kg
vaporEnthalpySaturated vapor specific enthalpyJ/kg
latentHeatLatent heat of vaporizationJ/kg
phaseEquilibrium phaseDimensionless / text

Example request

curl 'https://www.engivault.com/api/thermal/wet-steam-properties' \
  -H 'Content-Type: application/json' \
  --data '{"pressure":101325,"quality":0.9}'

Example response

{
  "success": true,
  "data": {
    "pressure": 101325,
    "temperature": 373.12429580541163,
    "celsius": 99.97429580541166,
    "quality": 0.9,
    "moisture": 0.09999999999999998,
    "vaporVolumeFraction": 0.9999307217457116,
    "specificVolume": 1.506163131216676,
    "density": 0.6639387057577234,
    "enthalpy": 2450053.2909022365,
    "entropy": 6750.135480966874,
    "internalEnergy": 2297441.3116317065,
    "liquidEnthalpy": 419054.4102440765,
    "vaporEnthalpy": 2675719.833197587,
    "latentHeat": 2256665.4229535107,
    "phase": "Liquid–vapor mixture"
  }
}

Model and limits

  1. Pure water at liquid–vapor equilibrium, using absolute pressure in Pa. The range is 611.657 Pa through pressures strictly below 22064000 Pa. Quality is undefined at the critical point; numerically unresolved phase boundaries are rejected.
  2. Saturation temperature and separate liquid/vapor properties use IAPWS SR1-86(1992). The release’s rounded lower pressure endpoint maps to the triple-point temperature. Ice and dissolved substances are excluded.
  3. Quality x is vapor mass divided by total mixture mass. Enter a fraction, such as 0.9 for 90%. Specific volume, enthalpy and entropy are mass-weighted: y = (1 − x)y_liquid + x y_vapor. Density is 1/v, not a mass-weighted average of the two densities.
  4. Vapor volume fraction = x v_vapor / v_mixture. This describes a saturated inventory. It is not a flowing-pipe void-fraction prediction from vapor mass flow fraction; phase slip and flow patterns are not modeled.
  5. Mixture internal energy u = h − pv. Enthalpy and entropy retain the IAPWS reference convention. For the inverse calculation, x = (h − h_liquid)/(h_vapor − h_liquid); values outside the model’s saturated enthalpy interval are rejected rather than clamped. Near-critical inversion is sensitive as the enthalpy gap shrinks.

References

Steam Quality from Enthalpy

POST /api/thermal/steam-quality-enthalpy

Pure water at liquid–vapor equilibrium, using absolute pressure in Pa. The range is 611.657 Pa through pressures strictly below 22064000 Pa. Quality is undefined at the critical point; numerically unresolved phase boundaries are rejected.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
pressureAbsolute saturation pressure (Pa)101325
enthalpyMixture specific enthalpy (J/kg)2450000

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
pressureAbsolute saturation pressurePa
temperatureSaturation temperatureK
celsiusSaturation temperature°C
qualityVapor mass fraction (quality)kg vapor / kg mixture
moistureLiquid mass fraction (moisture)kg liquid / kg mixture
vaporVolumeFractionVapor volume fractionm³ vapor / m³ mixture
specificVolumeMixture specific volumem³/kg
densityMixture densitykg/m³
enthalpyMixture specific enthalpyJ/kg
entropyMixture specific entropyJ/(kg·K)
internalEnergyMixture specific internal energyJ/kg
liquidEnthalpySaturated liquid specific enthalpyJ/kg
vaporEnthalpySaturated vapor specific enthalpyJ/kg
latentHeatLatent heat of vaporizationJ/kg
phaseEquilibrium phaseDimensionless / text

Example request

curl 'https://www.engivault.com/api/thermal/steam-quality-enthalpy' \
  -H 'Content-Type: application/json' \
  --data '{"pressure":101325,"enthalpy":2450000}'

Example response

{
  "success": true,
  "data": {
    "pressure": 101325,
    "temperature": 373.12429580541163,
    "celsius": 99.97429580541166,
    "quality": 0.8999763851115482,
    "moisture": 0.1000236148884518,
    "vaporVolumeFraction": 0.9999307035687359,
    "specificVolume": 1.5061236387349746,
    "density": 0.6639561150769278,
    "enthalpy": 2450000,
    "entropy": 6749.992657508752,
    "internalEnergy": 2297392.0223051785,
    "liquidEnthalpy": 419054.4102440765,
    "vaporEnthalpy": 2675719.833197587,
    "latentHeat": 2256665.4229535107,
    "phase": "Liquid–vapor mixture"
  }
}

Model and limits

  1. Pure water at liquid–vapor equilibrium, using absolute pressure in Pa. The range is 611.657 Pa through pressures strictly below 22064000 Pa. Quality is undefined at the critical point; numerically unresolved phase boundaries are rejected.
  2. Saturation temperature and separate liquid/vapor properties use IAPWS SR1-86(1992). The release’s rounded lower pressure endpoint maps to the triple-point temperature. Ice and dissolved substances are excluded.
  3. Quality x is vapor mass divided by total mixture mass. Enter a fraction, such as 0.9 for 90%. Specific volume, enthalpy and entropy are mass-weighted: y = (1 − x)y_liquid + x y_vapor. Density is 1/v, not a mass-weighted average of the two densities.
  4. Vapor volume fraction = x v_vapor / v_mixture. This describes a saturated inventory. It is not a flowing-pipe void-fraction prediction from vapor mass flow fraction; phase slip and flow patterns are not modeled.
  5. Mixture internal energy u = h − pv. Enthalpy and entropy retain the IAPWS reference convention. For the inverse calculation, x = (h − h_liquid)/(h_vapor − h_liquid); values outside the model’s saturated enthalpy interval are rejected rather than clamped. Near-critical inversion is sensitive as the enthalpy gap shrinks.

References

Water Saturation Pressure

POST /api/thermal/water-saturation-pressure

Pure water liquid–vapor equilibrium from the triple-point temperature 273.16 K to the critical point 647.096 K. Pressure is absolute, never gauge; temperature input uses kelvin.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
temperatureSaturation temperature (K)373.15

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
temperatureSaturation temperatureK
celsiusSaturation temperature°C
pressureAbsolute saturation pressurePa
liquidDensitySaturated liquid densitykg/m³
vaporDensitySaturated vapor densitykg/m³
liquidSpecificVolumeSaturated liquid specific volumem³/kg
vaporSpecificVolumeSaturated vapor specific volumem³/kg
liquidEnthalpySaturated liquid specific enthalpyJ/kg
vaporEnthalpySaturated vapor specific enthalpyJ/kg
liquidEntropySaturated liquid specific entropyJ/(kg·K)
vaporEntropySaturated vapor specific entropyJ/(kg·K)
latentHeatLatent heat of vaporizationJ/kg
pressureSlopeSlope of saturation pressure with temperaturePa/K

Example request

curl 'https://www.engivault.com/api/thermal/water-saturation-pressure' \
  -H 'Content-Type: application/json' \
  --data '{"temperature":373.15}'

Example response

{
  "success": true,
  "data": {
    "temperature": 373.15,
    "celsius": 100,
    "pressure": 101417.99381792783,
    "liquidDensity": 958.346796277354,
    "vaporDensity": 0.5980991686478763,
    "liquidSpecificVolume": 0.0010434636019908926,
    "vaporSpecificVolume": 1.671963534510007,
    "pressureSlope": 3619.2201978599674,
    "liquidEnthalpy": 419162.83483193157,
    "vaporEnthalpy": 2675760.4697580603,
    "liquidEntropy": 1307.2024431909222,
    "vaporEntropy": 7354.630112830823,
    "latentHeat": 2256597.6349261287
  }
}

Model and limits

  1. Pure water liquid–vapor equilibrium from the triple-point temperature 273.16 K to the critical point 647.096 K. Pressure is absolute, never gauge; temperature input uses kelvin.
  2. Uses IAPWS SR1-86(1992), equation (1), with critical temperature 647.096 K and pressure 22.064 MPa. Pressure-to-temperature conversion numerically inverts the same monotonic correlation.
  3. The lower pressure input limit is the release table’s rounded triple-point pressure, 611.657 Pa. The tiny interval up to the equation’s approximately 611.657070 Pa endpoint maps to 273.16 K. The upper limit is 22064000 Pa.
  4. At 101325 Pa, saturation temperature is approximately 373.1243 K (99.9743 °C). This is equilibrium for pure water, not a boiling-temperature prediction for solutions or transient heating.
  5. At a saturation pair, pressure and temperature do not specify vapor fraction or mixture enthalpy. The two densities and reciprocal specific volumes describe separate saturated phases using IAPWS equations (2) and (3), not mixture density. Enthalpy and entropy use equations (4)–(9) and the release reference convention: liquid internal energy and entropy are zero at the triple point, subject to coefficient rounding. Latent heat is the vapor-minus-liquid enthalpy difference. This tool does not calculate steam quality, superheat or subcooled-liquid properties. At the critical endpoint the distinct liquid and vapor phases merge.

References

Water Saturation Temperature

POST /api/thermal/water-saturation-temperature

Pure water liquid–vapor equilibrium from the triple-point temperature 273.16 K to the critical point 647.096 K. Pressure is absolute, never gauge; temperature input uses kelvin.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
pressureAbsolute saturation pressure (Pa)101325

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
temperatureSaturation temperatureK
celsiusSaturation temperature°C
pressureAbsolute saturation pressurePa
liquidDensitySaturated liquid densitykg/m³
vaporDensitySaturated vapor densitykg/m³
liquidSpecificVolumeSaturated liquid specific volumem³/kg
vaporSpecificVolumeSaturated vapor specific volumem³/kg
liquidEnthalpySaturated liquid specific enthalpyJ/kg
vaporEnthalpySaturated vapor specific enthalpyJ/kg
liquidEntropySaturated liquid specific entropyJ/(kg·K)
vaporEntropySaturated vapor specific entropyJ/(kg·K)
latentHeatLatent heat of vaporizationJ/kg
pressureSlopeSlope of saturation pressure with temperaturePa/K

Example request

curl 'https://www.engivault.com/api/thermal/water-saturation-temperature' \
  -H 'Content-Type: application/json' \
  --data '{"pressure":101325}'

Example response

{
  "success": true,
  "data": {
    "temperature": 373.12429580541163,
    "celsius": 99.97429580541166,
    "pressure": 101325,
    "liquidDensity": 958.365236793104,
    "vaporDensity": 0.5975862349130926,
    "liquidSpecificVolume": 0.0010434435240433125,
    "vaporSpecificVolume": 1.6733986520714133,
    "pressureSlope": 3616.472097158746,
    "liquidEnthalpy": 419054.4102440765,
    "vaporEnthalpy": 2675719.833197587,
    "liquidEntropy": 1306.9121275421815,
    "vaporEntropy": 7354.93807579184,
    "latentHeat": 2256665.4229535107
  }
}

Model and limits

  1. Pure water liquid–vapor equilibrium from the triple-point temperature 273.16 K to the critical point 647.096 K. Pressure is absolute, never gauge; temperature input uses kelvin.
  2. Uses IAPWS SR1-86(1992), equation (1), with critical temperature 647.096 K and pressure 22.064 MPa. Pressure-to-temperature conversion numerically inverts the same monotonic correlation.
  3. The lower pressure input limit is the release table’s rounded triple-point pressure, 611.657 Pa. The tiny interval up to the equation’s approximately 611.657070 Pa endpoint maps to 273.16 K. The upper limit is 22064000 Pa.
  4. At 101325 Pa, saturation temperature is approximately 373.1243 K (99.9743 °C). This is equilibrium for pure water, not a boiling-temperature prediction for solutions or transient heating.
  5. At a saturation pair, pressure and temperature do not specify vapor fraction or mixture enthalpy. The two densities and reciprocal specific volumes describe separate saturated phases using IAPWS equations (2) and (3), not mixture density. Enthalpy and entropy use equations (4)–(9) and the release reference convention: liquid internal energy and entropy are zero at the triple point, subject to coefficient rounding. Latent heat is the vapor-minus-liquid enthalpy difference. This tool does not calculate steam quality, superheat or subcooled-liquid properties. At the critical endpoint the distinct liquid and vapor phases merge.

References

First-Order Process Response with Delay

POST /api/controls/first-order-response

EU means engineering unit. Use consistent input/output units; gain is output-unit change divided by input-unit change. This is a stable linear first-order-plus-dead-time process initially at equilibrium, with one sustained step at time zero.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
initialValueInitial equilibrium output (output EU)20
gainProcess gain (output EU / input EU)2
inputStepInput step change at time zero (input EU)10
timeConstantTime constant (s)30
deadTimeResponse delay (s)5
timeTime since input step (s)35

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
outputValueOutput at observation timeoutput EU
finalValueFinal equilibrium outputoutput EU
finalChangeFinal output changeoutput EU
percentResponseCompleted fraction of final change%
responseRateOutput rate (right-hand value at delay boundary)output EU/s
timeTo90Time from input step to 90% responses
timeTo95Time from input step to 95% responses
timeTo98Time from input step to 98% responses
phaseResponse phaseDimensionless / text

Example request

curl 'https://www.engivault.com/api/controls/first-order-response' \
  -H 'Content-Type: application/json' \
  --data '{"initialValue":20,"gain":2,"inputStep":10,"timeConstant":30,"deadTime":5,"time":35}'

Example response

{
  "success": true,
  "data": {
    "finalChange": 20,
    "finalValue": 40,
    "outputValue": 32.64241117657115,
    "responseRate": 0.24525296078096154,
    "timeTo90": 74.07755278982138,
    "timeTo95": 94.87196820661973,
    "timeTo98": 122.36069016284438,
    "percentResponse": 63.212055882855765,
    "phase": "Exponential response (rounded at long times)"
  }
}

Model and limits

  1. EU means engineering unit. Use consistent input/output units; gain is output-unit change divided by input-unit change. This is a stable linear first-order-plus-dead-time process initially at equilibrium, with one sustained step at time zero.
  2. Final change = gain × input step; final output = initial output + final change. Negative gains and steps are allowed.
  3. Before delay θ, output stays at its initial value. At and after θ: y = y_initial + final_change × [1 − exp(−(t − θ)/τ)], with positive time constant τ. At θ + τ, 63.212% of the final change is complete.
  4. After the delay, output rate = (final_change/τ) × exp(−(t − θ)/τ). At the delay boundary the tool reports the right-hand derivative; the derivative jumps from zero for a nonzero step.
  5. Time to fraction f is θ − τ ln(1 − f), measured from the input step. For this monotonic model, 90%, 95% and 98% correspond to remaining-error bands of 10%, 5% and 2% of the final change, not of the absolute output.
  6. If the final change is zero, output stays constant, rate and response times are zero, and percent completion is not applicable. Exact final equilibrium is approached asymptotically for a nonzero change; displayed numbers eventually round to it.
  7. This does not fit parameters, tune a controller or simulate a closed loop, oscillation, actuator saturation, multiple steps, nonlinear behavior or an unstable/integrating process. Use identified model parameters valid around the operating point.

References

Current-Loop Voltage Budget

POST /api/controls/current-loop-budget

Model one DC series loop with a two-wire loop-powered transmitter, resistive receiver and total outgoing-plus-return cable resistance. Use the lowest available supply and worst-case device data for your selected current.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
supplyVoltageAvailable supply voltage (V)24
transmitterMinimumTransmitter minimum operating voltage (V)12
currentRequired loop current (mA)20
receiverResistanceTotal receiver resistance (Ω)250
wireResistanceTotal outgoing and return wire resistance (Ω)100
otherDropOther series voltage drops at this current (V)1

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
budgetStatusVoltage-budget checkDimensionless / text
requiredSupplyMinimum calculated supplyV
voltageMarginSupply voltage marginV
transmitterVoltageVoltage left for transmitter at requested currentV
receiverDropReceiver voltage dropV
wireDropTotal wire voltage dropV
resistanceHeadroomAdditional series resistance headroom (negative means deficit)Ω
receiverPowerReceiver resistive dissipation at requested currentW
wirePowerWire resistive dissipation at requested currentW

Example request

curl 'https://www.engivault.com/api/controls/current-loop-budget' \
  -H 'Content-Type: application/json' \
  --data '{"supplyVoltage":24,"transmitterMinimum":12,"current":20,"receiverResistance":250,"wireResistance":100,"otherDrop":1}'

Example response

{
  "success": true,
  "data": {
    "receiverDrop": 5,
    "wireDrop": 2,
    "requiredSupply": 20,
    "voltageMargin": 4,
    "transmitterVoltage": 16,
    "resistanceHeadroom": 200,
    "receiverPower": 0.1,
    "wirePower": 0.04,
    "budgetStatus": "Positive voltage margin — other device limits still require checks"
  }
}

Model and limits

  1. Model one DC series loop with a two-wire loop-powered transmitter, resistive receiver and total outgoing-plus-return cable resistance. Use the lowest available supply and worst-case device data for your selected current.
  2. Convert mA to A by dividing by 1000. Receiver and cable voltage drops are I × R. Include additional series device drops separately without counting the same resistance twice.
  3. Minimum supply = transmitter minimum + receiver drop + wire drop + other drops. Voltage margin = available supply − minimum supply. Negative margin means the requested current cannot be supported under these assumptions; this tool does not predict the actual saturated current.
  4. Additional resistance headroom = voltage margin / I. A negative result is a deficit, not an allowable resistance. Receiver and cable dissipation each equal I²R; select physical ratings with the applicable derating.
  5. Original example: 24 V supply, 12 V transmitter minimum, 20 mA, 250 Ω receiver, 100 Ω total wire and 1 V other drop require 20 V and leave 4 V margin. Include both cable conductors.
  6. Check the greatest operating or alarm current you require, which may exceed 20 mA. Also check transmitter maximum voltage at low current, receiver ratings, supply tolerance/current capacity, temperature effects, isolation and grounding. A positive margin is not a complete device or hazardous-area approval.

References

4–20 mA to Engineering Value

POST /api/controls/current-loop-scale

EU means your chosen engineering unit: use the same unit for both endpoint values and the engineering input/output. No unit conversion is performed. Current is in mA, not A.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
currentMeasured current (mA)12
valueAt4Engineering value at 4 mA (EU)0
valueAt20Engineering value at 20 mA (EU)100

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
valueEngineering value, unclampedEU
currentCurrent, unclampedmA
percentSpanPosition along configured signal span%
rangeStatusNominal current-range checkDimensionless / text

Example request

curl 'https://www.engivault.com/api/controls/current-loop-scale' \
  -H 'Content-Type: application/json' \
  --data '{"current":12,"valueAt4":0,"valueAt20":100}'

Example response

{
  "success": true,
  "data": {
    "current": 12,
    "value": 50,
    "percentSpan": 50,
    "rangeStatus": "Within nominal 4–20 mA range"
  }
}

Model and limits

  1. EU means your chosen engineering unit: use the same unit for both endpoint values and the engineering input/output. No unit conversion is performed. Current is in mA, not A.
  2. Configure the engineering values corresponding to exactly 4 mA and 20 mA. They must differ; decreasing scales are supported. This assumes a linear transmitter output.
  3. Forward: fraction = (current − 4)/16; value = valueAt4 + fraction × (valueAt20 − valueAt4). Inverse: fraction = (value − valueAt4)/(valueAt20 − valueAt4); current = 4 + 16 × fraction. Percent span = 100 × fraction.
  4. Example: a −50 to 150 °C linear scale gives 50 °C at 12 mA and 75% span at 16 mA. Percent span is measured from the 4 mA endpoint, not from zero engineering value.
  5. Results outside 4–20 mA are mathematical extrapolations, not valid process readings or feasible output commands. They are flagged and never clamped. Check device-specific alarms and configured limits; this is not a fault diagnosis or NAMUR compliance test.
  6. No square-root extraction, sensor linearization, calibration uncertainty, loop supply/burden check, hardware communication or safety-interlock validation is included.

References

Engineering Value to 4–20 mA

POST /api/controls/current-loop-output

EU means your chosen engineering unit: use the same unit for both endpoint values and the engineering input/output. No unit conversion is performed. Current is in mA, not A.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
valueEngineering value (EU)50
valueAt4Engineering value at 4 mA (EU)0
valueAt20Engineering value at 20 mA (EU)100

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
valueEngineering value, unclampedEU
currentCurrent, unclampedmA
percentSpanPosition along configured signal span%
rangeStatusNominal current-range checkDimensionless / text

Example request

curl 'https://www.engivault.com/api/controls/current-loop-output' \
  -H 'Content-Type: application/json' \
  --data '{"value":50,"valueAt4":0,"valueAt20":100}'

Example response

{
  "success": true,
  "data": {
    "current": 12,
    "value": 50,
    "percentSpan": 50,
    "rangeStatus": "Within nominal 4–20 mA range"
  }
}

Model and limits

  1. EU means your chosen engineering unit: use the same unit for both endpoint values and the engineering input/output. No unit conversion is performed. Current is in mA, not A.
  2. Configure the engineering values corresponding to exactly 4 mA and 20 mA. They must differ; decreasing scales are supported. This assumes a linear transmitter output.
  3. Forward: fraction = (current − 4)/16; value = valueAt4 + fraction × (valueAt20 − valueAt4). Inverse: fraction = (value − valueAt4)/(valueAt20 − valueAt4); current = 4 + 16 × fraction. Percent span = 100 × fraction.
  4. Example: a −50 to 150 °C linear scale gives 50 °C at 12 mA and 75% span at 16 mA. Percent span is measured from the 4 mA endpoint, not from zero engineering value.
  5. Results outside 4–20 mA are mathematical extrapolations, not valid process readings or feasible output commands. They are flagged and never clamped. Check device-specific alarms and configured limits; this is not a fault diagnosis or NAMUR compliance test.
  6. No square-root extraction, sensor linearization, calibration uncertainty, loop supply/burden check, hardware communication or safety-interlock validation is included.

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
supportSupport and point-load location
  • 0: Simply supported; point load at center
  • 1: Cantilever; point load at free tip
0
spanSpan (m)3
secondMomentSecond moment about the bending axis (m⁴)0.000027786666666666686
extremeDistanceFarthest fibre from neutral axis (m)0.1
youngModulusYoung’s modulus (Pa)200000000000
pointLoadDownward point load (N)1000
lineLoadDownward load per length over full span (N/m)500

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
sectionModulusElastic section modulusm³
rigidityFlexural rigidity EIN·m²
totalLoadTotal downward loadN
leftReactionUpward left reactionN
rightReactionUpward right reactionN
fixedReactionMomentCounterclockwise fixed-end reaction momentN·m
maximumMomentMaximum bending moment magnitudeN·m
maximumBendingStressMaximum bending stress magnitudePa
maximumShearMaximum shear force magnitudeN
maximumDeflectionMaximum downward deflectionm
deflectionSpanRatioDeflection / spanDimensionless / text
criticalLocationsCritical locationsDimensionless / 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

  1. 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.
  2. 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.
  3. Simply supported: Rleft = Rright = (P + wL)/2; Mmax = PL/4 + wL²/8; δmax = PL³/(48EI) + 5wL⁴/(384EI), both at midspan.
  4. 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.
  5. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
outerDiameterOuter diameter (m)0.05
innerDiameterInner diameter (0 for solid) (m)0.03

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
areaMaterial aream²
centroidXCentroid x from left of outer bounding boxm
centroidYCentroid y from bottom of outer bounding boxm
secondMomentXSecond moment about horizontal centroidal x-axism⁴
secondMomentYSecond moment about vertical centroidal y-axism⁴
polarAreaMomentPolar second moment of area Ix + Iym⁴
sectionModulusXElastic section modulus about x-axism³
sectionModulusYElastic section modulus about y-axism³
radiusOfGyrationXArea radius of gyration about x-axism
radiusOfGyrationYArea radius of gyration about y-axism

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
widthOuter width (m)0.1
heightOuter height (m)0.2
innerWidthInner width (0 for solid) (m)0.08
innerHeightInner height (0 for solid) (m)0.18

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
areaMaterial aream²
centroidXCentroid x from left of outer bounding boxm
centroidYCentroid y from bottom of outer bounding boxm
secondMomentXSecond moment about horizontal centroidal x-axism⁴
secondMomentYSecond moment about vertical centroidal y-axism⁴
polarAreaMomentPolar second moment of area Ix + Iym⁴
sectionModulusXElastic section modulus about x-axism³
sectionModulusYElastic section modulus about y-axism³
radiusOfGyrationXArea radius of gyration about x-axism
radiusOfGyrationYArea radius of gyration about y-axism

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

  1. 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.
  2. 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.
  3. 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.
  4. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
absolutePressureUpstream static absolute pressure (Pa)101325
absoluteTemperatureUpstream static temperature (K)288.15
specificGasConstantSpecific gas constant (J/(kg·K))287.05
heatCapacityRatioConstant heat-capacity ratio γ1.4
upstreamMachUpstream Mach (1 = zero-strength limit)2

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
upstreamSpeedUpstream speedm/s
downstreamMachDownstream MachDimensionless / text
pressureRatioStatic pressure ratio p₂/p₁Dimensionless / text
densityRatioDensity ratio ρ₂/ρ₁Dimensionless / text
temperatureRatioStatic temperature ratio T₂/T₁Dimensionless / text
downstreamPressureDownstream static absolute pressurePa
downstreamTemperatureDownstream static temperatureK
downstreamDensityDownstream densitykg/m³
downstreamSpeedDownstream speedm/s
stagnationPressureRatioStagnation pressure ratio p₀₂/p₀₁Dimensionless / text
upstreamStagnationPressureUpstream stagnation absolute pressurePa
downstreamStagnationPressureDownstream stagnation absolute pressurePa
stagnationPressureLossStagnation pressure lossPa
stagnationTemperatureConserved stagnation temperatureK
entropyIncreaseSpecific entropy increaseJ/(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

  1. 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.
  2. With stations 1 upstream and 2 downstream: p₂/p₁ = 1 + 2γ(M₁² − 1)/(γ + 1); ρ₂/ρ₁ = (γ + 1)M₁²/[(γ − 1)M₁² + 2]; T₂/T₁ = (p₂/p₁)/(ρ₂/ρ₁).
  3. M₂² = [(γ − 1)M₁² + 2]/[2γM₁² − (γ − 1)]. Mass conservation gives V₂/V₁ = ρ₁/ρ₂. Total temperature is conserved; total pressure falls and entropy rises.
  4. p₀₂/p₀₁ = [(ρ₂/ρ₁)^γ/(p₂/p₁)]^[1/(γ − 1)]; Δs = −R ln(p₀₂/p₀₁). Extremely weak shocks may display zero loss at floating-point precision.
  5. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
absolutePressureStatic absolute pressure (Pa)101325
absoluteTemperatureStatic absolute temperature (K)288.15
specificGasConstantSpecific gas constant (J/(kg·K))287.05
heatCapacityRatioConstant heat-capacity ratio γ = cp/cv1.4
speedFlow speed (m/s)100

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
densityStatic densitykg/m³
soundSpeedLocal speed of soundm/s
machMach numberDimensionless / text
specificHeatImplied constant-pressure specific heatJ/(kg·K)
temperatureRatioStagnation / static temperatureDimensionless / text
pressureRatioStagnation / static pressureDimensionless / text
densityRatioStagnation / static densityDimensionless / text
stagnationTemperatureIdeal stagnation temperatureK
stagnationPressureIdeal stagnation absolute pressurePa
stagnationDensityIdeal stagnation densitykg/m³
stagnationPressureRiseIdeal stagnation minus static pressurePa
dynamicPressureDynamic 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

  1. 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.
  2. ρ = 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.
  3. 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.
  4. 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.
  5. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
outerDiameterOuter diameter (m)0.05
innerDiameterInner diameter (0 for solid) (m)0.03
lengthShaft length (m)1
shearModulusShear modulus (Pa)80000000000
torqueSigned torque (N·m)500
speedSigned rotational speed (rpm)1500

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
polarMomentPolar second moment of aream⁴
torsionalStiffnessTorsional stiffnessN·m/rad
twistRadiansSigned end-to-end twistrad
twistDegreesSigned end-to-end twist°
maximumShearStressMaximum shear stress magnitudePa
maximumShearStrainMaximum engineering shear strainDimensionless / text
angularSpeedSigned angular speedrad/s
powerSigned mechanical powerW
strainEnergyStored elastic strain energyJ

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

  1. 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.
  2. J = π(Do⁴ − Di⁴)/32; τmax = |T|Do/(2J). J is a second moment of area, not a mass moment of inertia.
  3. 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.
  4. 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.
  5. 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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
phasesSupply configuration
  • 1: Single phase
  • 3: Balanced three phase
3
voltageRMS voltage (line-to-line for three phase) (V)400
currentRMS current (line current for three phase) (A)10
powerFactorDisplacement power factor0.8
reactiveDirectionLoad behavior
  • 0: Lagging, inductive load
  • 1: Leading, capacitive load
0

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
activePowerTotal active powerW
reactivePowerTotal reactive power, positive inductivevar
apparentPowerTotal apparent powerVA
phaseAngleSpecified phase angle, positive lagging°
activePerPhaseActive power per phaseW

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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
voltageSource RMS voltage (V)120
frequencySource frequency (Hz)60
resistanceTotal series resistance (Ω)30
inductanceSeries inductance (0 omits inductor) (H)0.1
capacitanceSeries capacitance (0 bypasses capacitor) (F)0.0001

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
currentSeries RMS currentA
impedanceImpedance magnitudeΩ
reactanceNet reactance, positive inductiveΩ
inductiveReactanceInductive reactanceΩ
capacitiveReactanceCapacitive reactance magnitudeΩ
phaseAngleVoltage phase relative to current°
powerFactorDisplacement power factorDimensionless / text
activePowerActive power in resistanceW
reactivePowerNet reactive powervar
apparentPowerApparent powerVA
resistorVoltageResistor RMS voltageV
inductorVoltageInductor RMS voltageV
capacitorVoltageCapacitor RMS voltageV
resonanceFrequencyIdeal LC resonance frequencyHz

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

  1. 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. ω = 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
temperatureWater temperature (0.01–110 °C) (°C)20
pressureAbsolute pressure (maximum 300000 Pa) (Pa)100000

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
densityDensitykg/m³
viscosityDynamic viscosityPa·s
kinematicViscosityKinematic viscositym²/s
specificHeatSpecific heat at constant pressureJ/(kg·K)
conductivityThermal conductivityW/(m·K)
thermalDiffusivityThermal diffusivitym²/s
prandtlNumberPrandtl numberDimensionless / text
thermalExpansionVolumetric thermal expansion coefficient1/K
compressibilityIsothermal compressibility1/Pa
soundSpeedSpeed of soundm/s
vaporPressureSaturation vapor pressurePa
specificVolumeSpecific volumem³/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

  1. 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).
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
temperatureWater temperature (0.01–110 °C) (°C)20
inletPressureAbsolute inlet pressure (maximum 300000 Pa) (Pa)200000
flowRateVolume flow rate (m³/s)0.001
lengthStraight horizontal pipe length (m)20
diameterActual internal diameter (m)0.025
roughnessAbsolute pipe roughness (m)0.000015

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
pressureDropFriction pressure lossPa
headLossFriction head lossm
outletPressureEstimated absolute outlet pressurePa
velocityMean velocitym/s
reynoldsNumberReynolds numberDimensionless / text
frictionFactorDarcy friction factorDimensionless / text
densityCalculated inlet water densitykg/m³
viscosityCalculated water dynamic viscosityPa·s
vaporPressureWater saturation pressurePa
flowRegimeFlow regimeDimensionless / 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

  1. 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.
  2. 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.
  3. 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.
  4. Δ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.
  5. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
flowRateRequired upstream liquid flow (m³/s)0.005
densityLiquid density at inlet conditions (kg/m³)1000
inletPressureAbsolute inlet pressure (Pa)300000
outletPressureAbsolute outlet pressure (Pa)250000
vaporPressureAbsolute vapor pressure at inlet temperature (Pa)3000
criticalPressureFluid absolute critical pressure (Pa)22064000
recoveryFactorManufacturer pressure recovery factor, FL0.9

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
kvRequired Kv using limiting pressure dropm³/h
uncorrectedKvKv ignoring choking, for comparison onlym³/h
pressureDropActual pressure dropPa
chokedPressureDropCalculated choking pressure dropPa
effectivePressureDropPressure drop used for sizingPa
criticalRatioLiquid critical pressure ratio factor, FFDimensionless / text
regimeChoking assessmentDimensionless / text
phaseAssessmentOutlet phase screeningDimensionless / 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
lengthPipe length (m)10
innerDiameterActual pipe inner diameter (m)0.020
pipeOuterDiameterActual pipe outer diameter (m)0.022
pipeConductivityPipe thermal conductivity (W/(m·K))380
insulationThicknessRadial insulation thickness (0 for bare pipe) (m)0.020
insulationConductivityInsulation thermal conductivity (W/(m·K))0.040
innerFilmInside convection coefficient (W/(m²·K))1000
outerFilmOutside convection coefficient (W/(m²·K))10
fluidTemperatureBulk fluid temperature (K)333.15
ambientTemperatureAmbient fluid temperature (K)293.15

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
heatRateHeat transfer, positive outwardW
heatPerLengthHeat transfer per lengthW/m
thermalResistanceTotal thermal resistanceK/W
innerSurfacePipe inner surface temperatureK
pipeOuterSurfacePipe outer surface temperatureK
outerSurfaceExposed surface temperatureK
bareHeatRateBare pipe heat transfer, same film coefficientsW
magnitudeReductionReduction in heat-transfer magnitude vs bare pipeW
outerDiameterDiameter including insulationm

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

  1. 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.
  2. 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).
  3. 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.
  4. 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.
  5. 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.
  6. 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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
supportSupport and point-load location
  • 0: Simply supported; point load at center
  • 1: Cantilever; point load at free tip
0
spanSpan from left support to right end (m)3
widthRectangle width, parallel to neutral axis (m)0.1
depthRectangle depth, in bending direction (m)0.2
youngModulusYoung’s modulus (Pa)200000000000
pointLoadDownward concentrated load (N)1000
lineLoadDownward load per length over full span (N/m)500

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
areaSection aream²
secondMomentSecond moment of area about bending axism⁴
sectionModulusElastic section modulusm³
rigidityFlexural rigidity EIN·m²
totalLoadTotal downward loadN
leftReactionLeft support reaction, upwardN
rightReactionRight support reaction, upwardN
fixedReactionMomentFixed-end external reaction, counterclockwiseN·m
maximumMomentMaximum bending moment magnitudeN·m
maximumBendingStressMaximum elastic bending stress magnitudePa
maximumShearMaximum shear force magnitudeN
maximumShearStressMaximum rectangular-section shear stressPa
maximumDeflectionMaximum downward bending deflectionm
deflectionSpanRatioDeflection / span1
criticalLocationsCritical locationsDimensionless / 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

  1. 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.
  2. Dimensions define the bending axis: I = bd³/12, S = bd²/6, A = bd. Depth is the dimension in the direction of transverse deflection.
  3. For simple supports: each reaction = (P + qL)/2; Mmax = PL/4 + qL²/8; δmax = PL³/(48EI) + 5qL⁴/(384EI).
  4. For a cantilever: upward reaction = P + qL; external reaction moment = PL + qL²/2; δmax = PL³/(3EI) + qL⁴/(8EI).
  5. 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.
  6. 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.
  7. 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.
  8. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
dryBulbDry-bulb temperature (°C)25
relativeHumidityRelative humidity (%)50
pressureTotal absolute pressure (Pa)101325

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
humidityRatioHumidity ratiokg water/kg dry air
specificHumiditySpecific humiditykg water/kg moist air
dewFrostPointDew point over water / frost point over ice°C
enthalpyEnthalpy per mass of dry airJ/kg dry air
specificVolumeVolume per mass of dry airm³/kg dry air
densityTotal moist-air densitykg/m³
vaporPressureWater-vapor partial pressurePa
saturationVaporPressureSaturation vapor pressurePa
saturationBasisRelative humidity reference phaseDimensionless / 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

  1. Calculate humidity ratio, dew/frost point, enthalpy, specific volume and moist-air density from temperature, relative humidity and absolute pressure.
  2. 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.
  3. 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.
  4. Water-vapor pressure is RH/100 times saturation pressure. W = 0.621945 pv/(p − pv); specific humidity = W/(1 + W).
  5. 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.
  6. 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.
  7. 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.
  8. Adapted coefficients from MIT-licensed PsychroLib; the numerical inversion, exact zero-humidity behavior and restricted operating domain differ from that library.

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
dryAirFlowDry-air mass flow (kg dry air/s)1
inletTemperatureInlet dry-bulb temperature (°C)30
inletRelativeHumidityInlet relative humidity (%)50
outletTemperatureTarget outlet temperature (0–80 °C) (°C)10
pressureCommon absolute pressure (Pa)101325

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
heatRemovedHeat removed, negative for heat addedW
airEnthalpyReductionAir-stream enthalpy reductionW
condensateEnthalpyFlowEnergy leaving in drained waterW
condensateFlowCondensate mass flowkg/s
condensateHourlyHourly condensate masskg/h
inletHumidityRatioInlet humidity ratiokg water/kg dry air
outletHumidityRatioOutlet humidity ratiokg water/kg dry air
outletRelativeHumidityOutlet relative humidity%
inletEnthalpyInlet enthalpyJ/kg dry air
outletEnthalpyOutlet enthalpyJ/kg dry air
inletVolumeFlowInlet volume flowm³/s
outletVolumeFlowOutlet volume flowm³/s
processIdeal processDimensionless / 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

  1. 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.
  2. 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.
  3. 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).
  4. 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.
  5. 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.
  6. 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.
  7. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
dryAirFlow1Stream 1 dry-air mass flow (kg dry air/s)1
dryBulb1Stream 1 dry-bulb temperature (°C)10
relativeHumidity1Stream 1 relative humidity (%)60
dryAirFlow2Stream 2 dry-air mass flow (kg dry air/s)3
dryBulb2Stream 2 dry-bulb temperature (°C)25
relativeHumidity2Stream 2 relative humidity (%)50
pressureCommon absolute pressure (Pa)101325

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
dryBulbMixed dry-bulb temperature°C
relativeHumidityMixed relative humidity%
totalDryAirFlowTotal dry-air mass flowkg dry air/s
stream1DryAirFractionStream 1 dry-air mass fractionDimensionless / text
moistAirFlowTotal moist-air mass flowkg/s
vaporMassFlowWater-vapor mass flowkg water/s
volumeFlowMixed volume flowm³/s
enthalpyFlowMixed enthalpy flow (0°C reference)W
humidityRatioHumidity ratiokg water/kg dry air
specificHumiditySpecific humiditykg water/kg moist air
dewFrostPointDew point over water / frost point over ice°C
enthalpyEnthalpy per mass of dry airJ/kg dry air
specificVolumeVolume per mass of dry airm³/kg dry air
densityTotal moist-air densitykg/m³
vaporPressureWater-vapor partial pressurePa
saturationVaporPressureSaturation pressure at dry bulbPa
saturationBasisRH reference phase at dry bulbDimensionless / 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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
dryBulbDry-bulb temperature (°C)30
wetBulbThermodynamic wet-bulb temperature (°C)25
pressureTotal absolute pressure (Pa)95461

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
relativeHumidityRelative humidity at dry bulb%
humidityRatioHumidity ratiokg water/kg dry air
specificHumiditySpecific humiditykg water/kg moist air
dewFrostPointDew point over water / frost point over ice°C
enthalpyEnthalpy per mass of dry airJ/kg dry air
specificVolumeVolume per mass of dry airm³/kg dry air
densityTotal moist-air densitykg/m³
vaporPressureWater-vapor partial pressurePa
saturationVaporPressureSaturation pressure at dry bulbPa
saturationBasisRH reference phase at dry bulbDimensionless / text
wetBulbDepressionDry minus wet bulb°C
wetBulbBasisWet-bulb energy-balance phaseDimensionless / 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

  1. Calculate an ideal moist-air state from dry bulb, thermodynamic wet bulb and absolute pressure, using ASHRAE relationships adapted from MIT-licensed PsychroLib.
  2. 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.
  3. 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].
  4. 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.
  5. 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.
  6. 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.
  7. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
areaCommon wall area (m²)10
temperature1Side 1 bulk fluid temperature (K)293.15
temperature2Side 2 bulk fluid temperature (K)273.15
film1Side 1 convection coefficient (W/(m²·K))10
film2Side 2 convection coefficient (W/(m²·K))25
thickness1Layer 1 thickness (zero to omit) (m).1
conductivity1Layer 1 conductivity (W/(m·K))1
thickness2Layer 2 thickness (zero to omit) (m).05
conductivity2Layer 2 conductivity (W/(m·K)).04
thickness3Layer 3 thickness (zero to omit) (m)0
conductivity3Layer 3 conductivity (W/(m·K))1

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
heatRateHeat rate, side 1 toward side 2W
heatFluxHeat flux, side 1 toward side 2W/m²
overallCoefficientOverall heat-transfer coefficientW/(m²·K)
resistancePerAreaArea-normalized thermal resistancem²·K/W
thermalResistanceTotal thermal resistanceK/W
surface1Side 1 wall surfaceK
interface12Layer 1 / 2 interfaceK
interface23Layer 2 / 3 interfaceK
surface2Side 2 wall surfaceK

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

  1. 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.
  2. R″ = 1/h₁ + Σ(Lᵢ/kᵢ) + 1/h₂; U = 1/R″. Each term uses the same wall area.
  3. q″ = U(T₁ − T₂); Q = Aq″. Positive heat flow is from side 1 toward side 2.
  4. Subtract q″ times each successive resistance to obtain surface and interface temperatures. Zero-thickness layers have no temperature drop.
  5. 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.
  6. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
flowRateImposed liquid flow (m³/s)0.01
lengthTotal straight-pipe length (m)100
diameterUniform internal diameter (m)0.1
roughnessAbsolute pipe roughness (m)0.000045
densityLiquid density (kg/m³)998
viscosityDynamic viscosity (Pa·s)0.001
elevationRiseDestination minus source surface elevation (m)10
pressureDifferenceDestination minus source surface pressure (Pa)0
lossCoefficientTotal fitting and entry/exit loss coefficient (1)5
pumpEfficiencyPump efficiency, fraction (0–1)0.7
motorEfficiencyMotor efficiency, fraction (0–1)0.9

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
systemHeadSigned system headm
pumpHeadHead to add by pumpingm
surplusHeadSurplus head requiring dissipationm
frictionHeadStraight-pipe friction headm
fittingHeadLocal-loss headm
pressureHeadReservoir pressure head differencem
hydraulicPowerHydraulic powerW
shaftPowerPump shaft powerW
electricalPowerMotor electrical inputW
velocityPipe velocitym/s
reynoldsNumberReynolds number1
flowRegimeFlow regimeDimensionless / 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

  1. Combine reservoir elevation and pressure differences with pipe and local losses at an entered flow rate.
  2. Hsystem = Δz + Δp/(ρg) + hf + K v²/(2g). Reservoir velocities are negligible; all loss coefficients must refer to the same pipe velocity.
  3. Pipe friction uses Darcy–Weisbach with 64/Re below Re 2300 and Swamee–Jain otherwise. The transition range is uncertain.
  4. For positive head: Phydraulic = ρgQH, Pshaft = Phydraulic/ηpump, Pelectrical = Pshaft/ηmotor. Enter efficiencies as fractions, not percentages.
  5. 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.
  6. 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.
  7. 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

Sound Intensity Level

POST /api/acoustics/sound-intensity-level

Convert positive intensity to level: L = 10 log₁₀(I/Iref).

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
intensitySound intensity (W/m²)0.000001
referenceIntensityReference intensity (W/m²)1e-12

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
intensityLevelIntensity level relative to referencedB

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

  1. Convert positive intensity to level: L = 10 log₁₀(I/Iref).
  2. Default reference: 10⁻¹² W/m². Example: I = 10⁻⁶ W/m² gives 60 dB.
  3. Negative levels are valid below the reference. Zero intensity corresponds to negative infinity and is excluded.
  4. This is intensity level, not sound-pressure level, A-weighted level or perceived loudness.

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
acousticPowerRadiated acoustic power (W)0.01
distanceDistance from point source (m)10
referenceIntensityReference intensity (W/m²)1e-12

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
intensitySound intensityW/m²
intensityLevelIntensity level relative to referencedB

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

  1. Ideal full-sphere spreading: I = P/(4πr²), then L = 10 log₁₀(I/Iref).
  2. Example: 0.01 W at 10 m gives about 7.958 × 10⁻⁶ W/m², or 69.01 dB relative to 10⁻¹² W/m².
  3. Assumes an isotropic point source in a lossless free field. Excludes reflections, ground effects, barriers, atmospheric absorption and near-field effects.
  4. Use radiated acoustic power, not electrical input power. This model is not a noise-exposure assessment.

References

Surface Convection

POST /api/thermal/surface-convection

Calculate surface convection using Q̇ = hAΔT and q″ = hΔT.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
coefficientMean convection coefficient (W/(m²·K))10
areaHeat transfer area (m²)2
temperatureDifferenceSurface minus bulk fluid temperature (K)30

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
heatRateHeat transfer rateW
heatFluxHeat fluxW/m²
thermalResistanceConvection resistanceK/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

  1. Calculate surface convection using Q̇ = hAΔT and q″ = hΔT.
  2. Positive results mean heat leaves the surface; negative results mean heat enters it. R = 1/(hA).
  3. Example: h = 10 W/(m²·K), A = 2 m² and ΔT = 30 K give 600 W, 300 W/m² and 0.05 K/W.
  4. Supply a mean coefficient appropriate to the geometry, fluid and flow conditions. This calculator does not estimate h or model variation along the surface.
  5. Assumes a uniform surface temperature and a defined bulk-fluid temperature. Conduction, radiation and transient temperature changes are excluded.

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
emissivitySurface emissivity (0–1)0.8
areaRadiating surface area (m²)1
surfaceTemperatureSurface absolute temperature (K)400
surroundingsTemperatureSurroundings absolute temperature (K)300

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
heatRateNet radiation heat rateW
heatFluxNet radiation heat fluxW/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

  1. Net thermal radiation: Q̇ = εσA(Ts⁴ − Tsur⁴). Absolute temperatures must be entered in kelvin.
  2. Uses σ = 5.670374419 × 10⁻⁸ W/(m²·K⁴), rounded from the Stefan–Boltzmann constant.
  3. Positive heat rate leaves the surface; hotter surroundings produce a negative result. Equal temperatures give zero net exchange.
  4. Example: ε = 0.8, A = 1 m², Ts = 400 K and Tsur = 300 K give approximately 793.85 W outward.
  5. Model: a gray surface surrounded by a much larger isothermal enclosure, with view factor one and a nonparticipating intervening medium.
  6. Does not solve exchange between finite surfaces, solar absorption, semitransparent materials, participating gases or combined convection. Select emissivity for the actual surface condition.

References

Sensible Heat

POST /api/thermal/sensible-heat

Q = mcΔT; heat capacity C = mc. Negative Q represents heat removed.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
massMass (kg)10
specificHeatSpecific heat capacity (J/(kg·K))1000
temperatureChangeFinal minus initial temperature (K)20

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
heatHeat addedJ
heatCapacityTotal heat capacityJ/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

  1. Q = mcΔT; heat capacity C = mc. Negative Q represents heat removed.
  2. Example: 10 kg, 1000 J/(kg·K), and a 20 K rise requires 200,000 J. The specific heat is illustrative.
  3. 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.
  4. Source: https://openstax.org/books/university-physics-volume-2/pages/1-4-heat-transfer-specific-heat-and-calorimetry

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
originalLengthOriginal length (m)10
coefficientMean linear expansion coefficient (1/K)0.000012
temperatureChangeFinal minus initial temperature (K)50

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
lengthChangeLength changem
finalLengthFinal lengthm

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

  1. ΔL = αL₀ΔT; final length = L₀ + ΔL. Cooling or a negative expansion coefficient can produce contraction.
  2. Example: 10 m, α = 0.000012/K and 50 K gives 0.006 m expansion. The coefficient is illustrative.
  3. 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.
  4. Source: https://openstax.org/books/university-physics-volume-2/pages/1-3-thermal-expansion

References

Ideal Gas Density

POST /api/gases/ideal-gas-density

Ideal gas relation p = ρRT gives density ρ = p/(RT). Specific volume is 1/ρ.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
absolutePressureAbsolute pressure (Pa)101325
absoluteTemperatureAbsolute temperature (K)300
specificGasConstantSpecific gas constant (J/(kg·K))287

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
densityDensitykg/m³
specificVolumeSpecific volumem³/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

  1. Ideal gas relation p = ρRT gives density ρ = p/(RT). Specific volume is 1/ρ.
  2. 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.
  3. 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.
  4. 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.
  5. Source: https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/equation-of-state/

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
forceAxial force (tension positive) (N)10000
areaCross-sectional area (m²)0.001
lengthOriginal bar length (m)2
youngModulusYoung’s modulus (Pa)200000000000

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
stressAxial stressPa
strainAxial strainm/m
extensionLength changem

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

  1. For a uniform bar under centered axial load, stress σ = F/A, strain ε = σ/E, and length change δ = εL.
  2. 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.
  3. Negative force represents compression and produces negative strain and shortening in this model.
  4. 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.
  5. Source: https://openstax.org/books/university-physics-volume-1/pages/12-3-stress-strain-and-elastic-modulus

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
voltageVoltage across resistor (V)12
resistanceResistance (Ω)100

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
currentCurrentA
powerDissipated powerW

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

  1. For an ideal ohmic resistor, I = V/R and P = VI = V²/R.
  2. Example: 12 V across 100 Ω gives 0.12 A and 1.44 W. Reversing voltage reverses current but leaves dissipated power positive.
  3. Assumes constant DC voltage and resistance. Does not model resistance changing with temperature, reactive AC loads, source impedance or nonlinear devices.
  4. Calculated dissipation is not a selected component rating; consult the component’s thermal derating and operating limits.
  5. Source: https://openstax.org/books/university-physics-volume-2/pages/9-5-electrical-energy-and-power

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
conductivityThermal conductivity (W/(m·K))0.04
areaArea normal to heat flow (m²)10
thicknessWall thickness (m)0.1
temperatureDifferenceSurface 1 minus surface 2 temperature (K)20

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
heatRateHeat rate from surface 1 to 2W
heatFluxHeat flux from surface 1 to 2W/m²
thermalResistanceWall thermal resistanceK/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

  1. For steady one-dimensional conduction, heat rate = kAΔT/L and wall resistance = L/(kA).
  2. 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.
  3. The temperature difference is between wall surfaces, not surrounding air. A negative difference reverses the heat-flow direction.
  4. Assumes constant conductivity, no internal heat generation and negligible edge effects. Excludes surface convection, radiation, contact resistance and thermal bridges.
  5. Source: https://openstax.org/books/university-physics-volume-2/pages/1-6-mechanisms-of-heat-transfer

References

Hydrostatic Pressure

POST /api/hydraulics/hydrostatic-pressure

For a fluid at rest with constant density and gravity: Δp = ρgh.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
densityFluid density (kg/m³)1000
depthDepth below surface (m)10
surfacePressureAbsolute pressure at surface (Pa)101325
gravityGravitational acceleration (m/s²)9.80665

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
pressureIncreasePressure increase below surfacePa
absolutePressureAbsolute pressure at depthPa

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

  1. For a fluid at rest with constant density and gravity: Δp = ρgh.
  2. Absolute pressure at depth is surface absolute pressure + Δp. The increase is gauge pressure only when the reference is the surface pressure.
  3. 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.
  4. Not applicable to a flowing system or a deep gas column with appreciably varying density.
  5. 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

Dynamic Pressure

POST /api/hydraulics/dynamic-pressure

Dynamic pressure q = ½ρv² is kinetic energy per unit volume.

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
densityFluid density (kg/m³)1.225
velocityFlow speed (m/s)20

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
dynamicPressureDynamic pressurePa

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

  1. Dynamic pressure q = ½ρv² is kinetic energy per unit volume.
  2. 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.
  3. Equating q with stagnation pressure minus static pressure requires the incompressible, lossless Bernoulli assumptions. Compressible Pitot measurements need a different relation.
  4. Source: NASA Glenn, Dynamic Pressure — https://www.grc.nasa.gov/www/BGH/dynpress.html

References

Pressure Drop Calculator

POST /api/hydraulics/pressure-drop

Calculates pressure drop using the Darcy-Weisbach equation

Open interactive calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
QFlow Rate (m³/s)0.1
LPipe Length (m)100
DPipe Diameter (m)0.1
roughnessPipe Roughness (m)0.000045
densityFluid Density (kg/m³)998
viscosityDynamic Viscosity (Pa·s)0.001

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
pressureDropPressure DropPa
frictionFactorFriction FactorDimensionless / text
reynoldsNumberReynolds NumberDimensionless / text
velocityMean Velocitym/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

  1. Calculates pressure drop using the Darcy-Weisbach equation
  2. 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.
  3. Assumes steady, fully developed, single-phase incompressible flow in a full circular pipe. Input dynamic viscosity, density and roughness for the operating conditions.
  4. Returns straight-pipe friction loss only. Fittings, valves, elevation changes and acceleration are excluded. The friction factor is Darcy, not Fanning.

References

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
elevationLiquid Surface Above Pump (m)2
atmosphericPressureReservoir Surface Absolute Pressure (Pa absolute)101325
vaporPressureVapor Pressure (Pa)2300
densityLiquid Density (kg/m³)998
npshRequiredRequired NPSH (manufacturer curve) (m)3
frictionLossesTotal Suction Losses (pipe, fittings and entry) (m)2.1

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
npshAvailableNPSH Availablem
npshRequiredNPSH Requiredm
npshMarginNPSH Marginm

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

  1. Reservoir model: NPSHA = (surface absolute pressure − vapor pressure)/(density × g) + liquid elevation − suction losses; negligible reservoir velocity
  2. Uses the required NPSH entered from the manufacturer curve; it cannot be inferred from suction conditions
  3. 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.
  4. 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

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 calculator
Inputs, outputs, example and references

Inputs

Supply every listed field. Defaults below form the example, and are not automatically filled by the API.
JSON fieldMeaning and unitsExample
flowRateFlow Rate (m³/s)0.05
targetVelocityTarget Velocity (m/s)2.0
maxPressureDropMax Pressure Drop (Pa/m)100
densityLiquid Density (kg/m³)998
viscosityDynamic Viscosity (Pa·s)0.001
roughnessPipe Roughness (m)0.000045

Outputs

Fields inside the response data object. Some model limits return explanatory strings; inspect the example and assumptions.
JSON fieldMeaningUnit
recommendedDiameterRecommended Diameterm
actualVelocityActual Velocitym/s
actualPressureDropActual Pressure DropPa/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

  1. Finds a minimum internal bore satisfying the supplied mean-velocity and straight-pipe pressure-gradient limits.
  2. Considers velocity constraints and pressure drop limits
  3. 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.
  4. Returns minimum internal diameter; choose a commercial size with an equal or larger bore

References

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.

Browse interactive calculators