Admin: Formulas

Define how parameters interact by creating formulas that compute target values.

← Back to Configurator

Existing Formulas

These formulas are evaluated when the configurator runs calculations.

16 total
ID Name Target Parameter Expression Engine Active Actions
12 Device online? deviceOnline (Device online?)
(!!powerOk)
expr Active
14 Estimated accuracy accuracy_percent_rd (Estimated accuracy)
( (calibrationGrade === "Premium" ? 0.8 : calibrationGrade === "Standard" ? 1.2 : 1.6) + (Math.min(1, Math.max(0, Number(feasibleFlow_ln_min||0) / Math.max(1e-6, Number(maxFlow_ln_min||1)))) * 0.7) )
expr Active
15 Estimated response time responseTime_ms (Estimated response time)
( 180 + (Number(valveSize_mm||0) * 35) + (Math.min(1, Math.max(0, Number(feasibleFlow_ln_min||0) / Math.max(1e-6, Number(maxFlow_ln_min||1)))) * 190) )
expr Active
13 Feasible flow feasibleFlow_ln_min (Feasible flow)
( (!deviceOnline) ? 0 : (!tempOk) ? Math.min(Number(requestedFlow_ln_min||0), Number(maxFlow_ln_min||0)) * 0.35 : (pressureOk) ? Math.min(Number(requestedFlow_ln_min||0), Number(maxFlow_ln_min||0)) : ( Math.min(Number(requestedFlow_ln_min||0), Number(maxFlow_ln_min||0)) * Math.max(0.15, Math.min(1, Number(pressureDrop_bar||0) / Math.max(1e-6, Number(minPressureDrop_bar||0)))) ) )
expr Active
1 Gas factor gasFactor (Gas factor)
( gasType === "Air" ? 1.00 : gasType === "Nitrogen" ? 0.97 : gasType === "CO2" ? 1.55 : gasType === "Argon" ? 1.38 : gasType === "Helium" ? 0.16 : 1.00 )
expr Active
5 Max achievable flow maxFlow_ln_min (Max achievable flow)
( (Number(valveSize_mm||0) <= 0.4 ? 12 : Number(valveSize_mm||0) <= 0.6 ? 25 : Number(valveSize_mm||0) <= 1.0 ? 60 : 95) * Math.sqrt(Math.max(0.3, Number(inletPressure_bar||1))) / Math.max(0.2, Number(gasFactor||1)) )
expr Active
8 Max temp by seal maxProcessTemp_C (Max temperature allowed)
( sealMaterial === "EPDM" ? 120 : sealMaterial === "FKM" ? 200 : sealMaterial === "FFKM" ? 260 : 150 )
expr Active
6 Min pressure drop needed minPressureDrop_bar (Minimum pressure drop needed)
( 0.18 + (Math.min(1, Math.max(0, Number(requestedFlow_ln_min||0) / Math.max(1e-6, Number(maxFlow_ln_min||1)))) * 0.35) )
expr Active
16 Notes notes (Notes)
( (!deviceOnline) ? "No feasible flow: power/protocol mismatch (device offline)." : (!tempOk) ? "Temperature exceeds selected seal capability; flow heavily reduced." : (!pressureOk) ? "Low pressure drop limits control performance; feasible reduced." : (!valveOk) ? "Selected valve is smaller than recommended; flow may cap early." : (Number(requestedFlow_ln_min||0) > Number(maxFlow_ln_min||0)) ? "Requested flow above max achievable; feasible capped." : "OK" )
expr Active
11 Power OK? powerOk (Power OK?)
(Number(powerSupply_V||0) === Number(recommendedPower_V||0))
expr Active
2 Pressure drop pressureDrop_bar (Pressure drop)
(Number(inletPressure_bar||0) - Number(outletPressure_bar||0))
expr Active
7 Pressure OK? pressureOk (Pressure OK?)
(Number(pressureDrop_bar||0) >= Number(minPressureDrop_bar||0))
expr Active
10 Recommended power recommendedPower_V (Recommended power)
(24)
expr Active
3 Recommended valve size recommendedValveSize_mm (Recommended valve size)
( (Number(requestedFlow_ln_min||0) <= 10) ? "0.4" : (Number(requestedFlow_ln_min||0) <= 20) ? "0.6" : (Number(requestedFlow_ln_min||0) <= 50) ? "1.0" : "1.5" )
expr Active
9 Temperature OK? tempOk (Temperature OK?)
(Number(processTemperature_C||0) <= Number(maxProcessTemp_C||0))
expr Active
4 Valve OK? valveOk (Valve size OK?)
( Number(valveSize_mm||0) >= Number(recommendedValveSize_mm||0) )
expr Active

Create New Formula

A formula computes the value of a target parameter based on other parameters in the context.

This parameter will be updated with the computed result of the formula.

Use parameter keys (e.g. PN, temperature) in your expression. It is evaluated with new Function(...).

For now, keep this as expr.

New formulas are created as active by default. You can later toggle them in an edit UI.