Live API reference

Base URL: https://www.engivault.com/api. These 34 numerical calculation endpoints and the unit-conversion endpoint are available without an API key during the public beta. Each entry below includes the input units, output fields, an executable example and the model assumptions.

For the numerical calculators, send a JSON object with numeric input values using POST and Content-Type: application/json. Unit labels apply individually: temperatures may be °C or K, and elastic modulus may be Pa or GPa. Select inputs use the numeric codes listed in their options.

Responses and errors

Successful calculations return HTTP 200 with {"success":true,"data":{...}}. Invalid JSON or inputs return HTTP 400 with an error message. An unknown calculation returns HTTP 404. Request bodies longer than 8192 characters return HTTP 413. Error responses always include an error field; do not rely on a success field being present in every error response.

GET /health reports service status. GET /calculators provides calculator input/output metadata, assumptions and source links. The unit converter uses string category and unit IDs; its metadata links to the dedicated /units endpoint.

Engineering unit conversion

GET /units lists category IDs, supported unit IDs, names, symbols, conversion mode, notes and category references. An empty sources array means references have not been recorded for that legacy category; it is not a completed source review.

POST /units requires exactly four fields: category, fromUnit and toUnit are case-sensitive strings from the catalog; value is a finite JSON number. Both units must belong to the selected category. Unknown fields, invalid units, incompatible quantities and numerical overflow or underflow return HTTP 400.

curl 'https://www.engivault.com/api/units' -H 'Content-Type: application/json' --data '{"category":"volume","value":1,"fromUnit":"gal_us","toUnit":"L"}'

Example response

{
  "success": true,
  "data": {
    "category": "volume",
    "fromUnit": "gal_us",
    "toUnit": "L",
    "convertedValue": 3.785411784,
    "symbol": "L"
  }
}

The response data includes category, fromUnit, toUnit, numeric convertedValue and the target symbol. The API returns the calculated number without the browser's display rounding; extra digits do not imply measurement accuracy.

  • Use category and unit IDs from GET /api/units. Both units must belong to the selected category.
  • Temperature points use scale offsets; temperature differences use factors only. Values are scale arithmetic, not a physical-state assessment.
  • Unit scaling preserves pressure reference and gas reference conditions. Dynamic and kinematic viscosity cannot be interconverted without density.
  • Sources are available for selected categories. Missing references mean the legacy category has not completed a source review. Conversion does not add measurement precision.

For example, use temperature, celsius and fahrenheit for temperature points: 10 °C becomes approximately 50 °F. Use temperature_difference, delta_celsius and delta_fahrenheit for intervals: a 10 °C rise becomes an 18 °F rise.

Open the browser unit converter

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 modulus
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 area
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-axis
sectionModulusYElastic section modulus about y-axis
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 area
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-axis
sectionModulusYElastic section modulus about y-axis
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 area
secondMomentSecond moment of area about bending axism⁴
sectionModulusElastic section modulus
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