How we verify the LOGOS calculations
LOGOS verifies its calculations by comparing the output of its own production code with values published by independent sources — the IAPWS-IF97 release, pandapower (an open-source implementation of IEC 60909-0:2016), the CIGRE TB 880 reference cases, ASME B36.10M and the NBR 5410 tables. The LOGOS column in the tables on this page is computed at build time by the same code that runs the calculators, and the status of each row is decided by the declared tolerance: the page cannot show "matches" for a value that does not match.
LOGOS verifies each calculation group by comparing the output of its production code with a reference value that does not come from LOGOS code: a number printed by a primary source (a standard, a technical release, a CIGRE brochure) or computed by an independent, open implementation. The tables right after this text show, row by row, the reference value, the LOGOS value, the difference and the status against the declared tolerance.
How LOGOS verifies a calculation
The verification follows four rules, and each one exists to block a specific kind of false confidence.
- Primary source, with edition and year. Each group cites the exact source — for example “IAPWS R7-97(2012), Table 15” or “pandapower 3.5.4,
calc_scwithlv_tol_percent = 6”. Without the edition, a reference number cannot be reproduced. - Independent expected value, never taken from the code itself. If the reference were generated by LOGOS, the comparison would only prove that the code agrees with itself. The reference is therefore always a published number or the result of a different method. For the friction factor, for instance, the reference is the exact Colebrook-White solution through the Lambert W function,
1/sqrt(f) = -a·ln(a·c·W(z)), while LOGOS solves the same equation with a Serghides estimate and Newton steps. - Automated tests. The comparison on this page is also a test in the LOGOS repository: if a code change pushes any row out of tolerance, the test fails.
- The LOGOS column is generated at build time. The numbers in the LOGOS column are not typed. They are computed when the page is generated, by the same modules the calculators run on the server. The status of each row (“Matches” or “Out of tolerance”) is computed too: the page cannot show “Matches” for a result that is out of tolerance.
The references, one by one
IAPWS-IF97. The industrial formulation of the International Association for the Properties of Water and Steam is the worldwide standard for water and steam properties in engineering. Release R7-97 (2012 revision) publishes verification values intended precisely for validating computer programs. LOGOS checks the saturation temperature (Table 36) and the specific volume, enthalpy, isobaric heat capacity and speed of sound of superheated steam (Table 15, Region 2). These properties feed the control valve and safety valve calculators for steam.
pandapower. pandapower is an open-source power-system analysis library that implements IEC 60909-0:2016 short-circuit calculation. LOGOS runs 5 radial-network cases — stiff grid, network transformer and low-voltage bus, one of them with a cable — and compares three-phase Ik″, peak current i_p, two-phase Ik″ and minimum Ik″. The version (3.5.4) and the parameters (case = max/min, ip = True, lv_tol_percent = 6, i.e. c_max = 1.05 and c_min = 0.95 on LV) are declared so anyone can repeat the calculation.
CIGRE TB 880 (2022). CIGRE Technical Brochure 880, “Power cable rating examples for calculation tool verification”, publishes IEC 60287 ampacity reference cases created precisely to verify calculation tools. LOGOS uses the introductory cases with a 132 kV XLPE cable, 630 mm² copper: 0-1 (directly buried trefoil), 0-2 (trefoil of touching HDPE ducts) and 0-3 (PVC duct bank in concrete, with the single-point bonding and eddy-current loss variants).
ASME B36.10M. The standard for welded and seamless wrought steel pipe defines the outside diameter and wall thickness of each NPS and schedule. The reference inside diameter is computed as ID = (OD - 2·t) × 25.4 mm from the inch dimensions and compared with the pipe table used by the hydraulic calculators.
ABNT NBR 5410. The Brazilian low-voltage installation standard tabulates current-carrying capacity (Tables 36 and 37) and the correction factors for ambient temperature (Table 40) and grouping (Table 42). The copper values of Tables 36 and 37 are the same as IEC 60364-5-52 Tables B.52.4 and B.52.5. There is no calculation here: the check confirms that the table transcribed in the code returns exactly the value printed in the standard.
What the verification found and what was fixed
A verification that never finds anything does not prove much. The comparison with pandapower and CIGRE TB 880 found real differences in the LOGOS code. Each one was isolated numerically, fixed, and is now covered by the test.
Short circuit (IEC 60909), comparison with pandapower:
- D51 — transformer K_T correction in the minimum case. IEC 60909-0:2016 (§6.3.3) defines the transformer impedance correction factor with c_max, for the maximum-current calculation. LOGOS also applied K_T to the minimum Ik″, which came out 2% to 4% high. Because the minimum Ik″ is what checks whether the protection trips, the error was on the unsafe side. After the fix, minimum Ik″ dropped by 0.4% to 1.9% in product cases and now matches pandapower.
- D52 — voltage factor in the network impedance. LOGOS used the c factor of the bus under analysis (1.05 on LV) to compute the network impedance, when the correct value is the c of the source voltage level (1.10 and 1.00 at medium voltage). The effect was an Ik″ 0.15% to 0.25% high. Fixed.
Duct-bank cable ampacity (IEC 60287), comparison with CIGRE TB 880:
- D39 — the aluminum sheath resistivity used the value for aluminum conductors; it now uses 2.84×10⁻⁸ Ω·m, the value adopted in TB 880.
- D40 — the insulation thermal resistance (T1) now treats the semiconducting layers separately when the insulation thickness is given.
- D41 — the U, V and Y constants for plastic ducts are now 1.87 / 0.312 / 0.0037, the TB 880 values.
- D42 — eddy-current losses in solid metallic sheaths were always neglected. For a solid-sheath cable with single-point bonding, this made the ampacity 3.1% optimistic in case 0-1 — the only unsafe-side finding in this series. LOGOS now computes these losses per IEC 60287-1-1 §2.3.6.1.
- D43 — the sheath loss factor (λ₁) of an untransposed flat circuit had a term that cancelled out; after the fix, λ₁ of the lagging outer cable went from 1.49 to 1.70, close to the 1.72 of another independent implementation.
- D44 — the oversheath material (PVC, PE/HDPE, polychloroprene) now enters the thermal resistance T3.
- D45 — in an untransposed flat circuit, each cable position now has its own λ₁, and the ampacity is the current at which the hottest cable reaches the maximum temperature.
What this verification does not cover
The verification covers the points in the tables below — it does not prove that every possible result is correct. The known limits are:
- Motor contribution to short circuit. LOGOS adds motor contribution through locked-rotor current; pandapower models the induction motor from nameplate data. The compared cases include no motors.
- Meshed networks. LOGOS short circuit is computed on a radial network, by design; meshed networks and generators as sources are not covered.
- Line-to-ground faults with full zero sequence. LOGOS computes the line-to-ground fault with a factor k0 = Z0/Z1, declared or derived from the grounding resistor or the phase-PE loop; it does not solve the three sequence networks with the transformer vector group, as pandapower does. That is why line-to-ground is not in the comparison.
- General meshed hydraulic networks. The hydraulic calculators solve defined industrial topologies (single line, pumps in series and in parallel, branches, recirculation and the unification loop), not an arbitrary meshed network.
- Hydraulic transients. Water hammer is calculated with the Joukowsky and Michaud formulas. Lines with an irregular profile, several pumps or column separation call for a method-of-characteristics simulation, which LOGOS does not perform.
- Technical responsibility. No result, verified or not, replaces the judgment and the professional responsibility of the engineer who signs the design.
Verification tables
68 of 68 points in 8 groups are within tolerance. The LOGOS column was computed when this page was built, on , by the same code that runs the calculators.
Steam: saturation temperature (IAPWS-IF97, Region 4)
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| p = 0.1 MPa | 372.755919 K | 372.755919 K | −1.0×10⁻⁷ % | ✓ Matches |
| p = 1 MPa | 453.035632 K | 453.035632 K | +8.6×10⁻⁸ % | ✓ Matches |
| p = 10 MPa | 584.149488 K | 584.149488 K | −2.5×10⁻¹⁰ % | ✓ Matches |
Used in: Control valve sizing for steam and gas (IEC 60534-2-1) · Steam safety valve (SV) sizing per API 520
Steam: superheated-vapor properties (IAPWS-IF97, Region 2)
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| v · T = 300 K, p = 0.0035 MPa | 39.4913866 m³/kg | 39.4913866 m³/kg | +9.6×10⁻⁸ % | ✓ Matches |
| h · T = 300 K, p = 0.0035 MPa | 2,549.91145 kJ/kg | 2,549.91145 kJ/kg | +3.3×10⁻⁸ % | ✓ Matches |
| cp · T = 300 K, p = 0.0035 MPa | 1.91300162 kJ/(kg·K) | 1.91300162 kJ/(kg·K) | +5.1×10⁻⁸ % | ✓ Matches |
| w · T = 300 K, p = 0.0035 MPa | 427.920172 m/s | 427.920172 m/s | +6.1×10⁻⁸ % | ✓ Matches |
| v · T = 700 K, p = 0.0035 MPa | 92.3015898 m³/kg | 92.3015898 m³/kg | +1.9×10⁻⁸ % | ✓ Matches |
| h · T = 700 K, p = 0.0035 MPa | 3,335.68375 kJ/kg | 3,335.68375 kJ/kg | +1.1×10⁻⁷ % | ✓ Matches |
| cp · T = 700 K, p = 0.0035 MPa | 2.08141274 kJ/(kg·K) | 2.08141274 kJ/(kg·K) | +1.8×10⁻⁷ % | ✓ Matches |
| w · T = 700 K, p = 0.0035 MPa | 644.289068 m/s | 644.289068 m/s | −6.7×10⁻⁸ % | ✓ Matches |
| v · T = 700 K, p = 30 MPa | 0.00542946619 m³/kg | 0.00542946619 m³/kg | +8.5×10⁻⁸ % | ✓ Matches |
| h · T = 700 K, p = 30 MPa | 2,631.49474 kJ/kg | 2,631.49474 kJ/kg | +1.8×10⁻⁷ % | ✓ Matches |
| cp · T = 700 K, p = 30 MPa | 10.3505092 kJ/(kg·K) | 10.3505092 kJ/(kg·K) | +8.0×10⁻⁸ % | ✓ Matches |
| w · T = 700 K, p = 30 MPa | 480.386523 m/s | 480.386523 m/s | +3.5×10⁻⁸ % | ✓ Matches |
Used in: Control valve sizing for steam and gas (IEC 60534-2-1) · Steam safety valve (SV) sizing per API 520
Darcy friction factor: Colebrook-White equation
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| Re = 4×10^3, smooth | 0.03990701 | 0.03990701 | 0 % | ✓ Matches |
| Re = 10^4, ε/D = 0.001 | 0.03238181 | 0.03238181 | 0 % | ✓ Matches |
| Re = 10^5, smooth | 0.01798977 | 0.01798977 | 0 % | ✓ Matches |
| Re = 10^5, ε/D = 0.0001 | 0.01851387 | 0.01851387 | −2.2×10⁻¹⁴ % | ✓ Matches |
| Re = 5×10^5, ε/D = 0.00046 | 0.01740917 | 0.01740917 | 0 % | ✓ Matches |
| Re = 10^6, ε/D = 0.001 | 0.01994347 | 0.01994347 | 0 % | ✓ Matches |
| Re = 10^7, ε/D = 0.00001 | 0.00899571 | 0.00899571 | 0 % | ✓ Matches |
| Re = 10^8, ε/D = 0.05 | 0.07155090 | 0.07155090 | 0 % | ✓ Matches |
Used in: Pump sizing: system curve, operating point and NPSH · Gravity-Flow Rate Calculation Between Two Reservoirs · Sizing a multi-branch pumping network solved by Newton-Raphson · Identical pumps in parallel — combined curve, operating point and flow per pump · Pumps in series calculation — combined curve and high-pressure discharge
Friction factor: Moody diagram and laminar flow
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| Smooth pipe, Re = 10^5 (Moody) | 0.0180 | 0.0180 | −0.0000 | ✓ Matches |
| Laminar, Re = 1000 (64/Re) | 0.0640 | 0.0640 | 0 | ✓ Matches |
| Laminar, Re = 1600 (64/Re) | 0.0400 | 0.0400 | 0 | ✓ Matches |
Used in: Pump sizing: system curve, operating point and NPSH · Gravity-Flow Rate Calculation Between Two Reservoirs
Steel pipe inside diameter (ASME B36.10M)
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| NPS 2 Sch 40 (ID) | 52.50 mm | 52.50 mm | 0 mm | ✓ Matches |
| NPS 3 Sch 40 (ID) | 77.93 mm | 77.92 mm | −0.01 mm | ✓ Matches |
| NPS 4 Sch 40 (ID) | 102.26 mm | 102.26 mm | 0 mm | ✓ Matches |
| NPS 4 Sch 80 (ID) | 97.18 mm | 97.18 mm | 0 mm | ✓ Matches |
| NPS 6 Sch 40 (ID) | 154.05 mm | 154.08 mm | +0.03 mm | ✓ Matches |
| NPS 8 Sch 40 (ID) | 202.72 mm | 202.71 mm | −0.01 mm | ✓ Matches |
| NPS 10 Sch 40 (ID) | 254.51 mm | 254.51 mm | 0 mm | ✓ Matches |
Used in: Pump sizing: system curve, operating point and NPSH · Gravity-Flow Rate Calculation Between Two Reservoirs · Sizing a multi-branch pumping network solved by Newton-Raphson
Short-circuit currents (IEC 60909-0) vs pandapower
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| A · Ik″ · 500 MVA grid · 1000 kVA, uk 6 %, X/R 6 · 440 V | 22.965 kA | 22.965 kA | +4.5×10⁻⁷ % | ✓ Matches |
| A · i_p · 500 MVA grid · 1000 kVA, uk 6 %, X/R 6 · 440 V | 52.576 kA | 52.576 kA | +3.3×10⁻⁷ % | ✓ Matches |
| A · Ik″ 2φ · 500 MVA grid · 1000 kVA, uk 6 %, X/R 6 · 440 V | 19.889 kA | 19.888 kA | −0.003 % | ✓ Matches |
| A · Ik″ min · 500 MVA grid · 1000 kVA, uk 6 %, X/R 6 · 440 V | 20.107 kA | 20.107 kA | +4.1×10⁻⁷ % | ✓ Matches |
| B · Ik″ · A + cable 3×(1×240 mm²), 30 m | 21.269 kA | 21.269 kA | −2.4×10⁻⁷ % | ✓ Matches |
| B · i_p · A + cable 3×(1×240 mm²), 30 m | 46.146 kA | 46.146 kA | −6.4×10⁻⁷ % | ✓ Matches |
| B · Ik″ 2φ · A + cable 3×(1×240 mm²), 30 m | 18.419 kA | 18.419 kA | −0.003 % | ✓ Matches |
| B · Ik″ min · A + cable 3×(1×240 mm²), 30 m | 18.435 kA | 18.435 kA | +1.3×10⁻⁶ % | ✓ Matches |
| C · Ik″ · 250 MVA grid · 500 kVA, uk 4.5 %, X/R 4 · 440 V | 15.002 kA | 15.002 kA | −2.7×10⁻⁶ % | ✓ Matches |
| C · i_p · 250 MVA grid · 500 kVA, uk 4.5 %, X/R 4 · 440 V | 31.681 kA | 31.681 kA | −1.3×10⁻⁶ % | ✓ Matches |
| C · Ik″ 2φ · 250 MVA grid · 500 kVA, uk 4.5 %, X/R 4 · 440 V | 12.992 kA | 12.992 kA | −0.003 % | ✓ Matches |
| C · Ik″ min · 250 MVA grid · 500 kVA, uk 4.5 %, X/R 4 · 440 V | 13.267 kA | 13.267 kA | +2.0×10⁻⁶ % | ✓ Matches |
| D · Ik″ · 800 MVA grid · 2000 kVA, uk 6.5 %, X/R 12 · 380 V | 48.965 kA | 48.965 kA | +7.4×10⁻⁷ % | ✓ Matches |
| D · i_p · 800 MVA grid · 2000 kVA, uk 6.5 %, X/R 12 · 380 V | 123.594 kA | 123.594 kA | +3.1×10⁻⁸ % | ✓ Matches |
| D · Ik″ 2φ · 800 MVA grid · 2000 kVA, uk 6.5 %, X/R 12 · 380 V | 42.405 kA | 42.404 kA | −0.003 % | ✓ Matches |
| D · Ik″ min · 800 MVA grid · 2000 kVA, uk 6.5 %, X/R 12 · 380 V | 42.767 kA | 42.767 kA | +1.8×10⁻⁷ % | ✓ Matches |
| E · Ik″ · 150 MVA grid · 300 kVA, uk 4 %, X/R 3 · 440 V | 10.039 kA | 10.039 kA | −3.2×10⁻⁶ % | ✓ Matches |
| E · i_p · 150 MVA grid · 300 kVA, uk 4 %, X/R 3 · 440 V | 19.782 kA | 19.782 kA | −4.0×10⁻⁷ % | ✓ Matches |
| E · Ik″ 2φ · 150 MVA grid · 300 kVA, uk 4 %, X/R 3 · 440 V | 8.694 kA | 8.694 kA | −0.003 % | ✓ Matches |
| E · Ik″ min · 150 MVA grid · 300 kVA, uk 4 %, X/R 3 · 440 V | 8.912 kA | 8.912 kA | −1.5×10⁻⁶ % | ✓ Matches |
Used in: Short-circuit current calculation per IEC 60909: Ik″, peak ip and minimum Ik″
Cable ampacity (IEC 60287) vs CIGRE TB 880 reference cases
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| 0-1 · trefoil, directly buried, both-ends bonding | 821.78 A | 821.78 A | +4.1×10⁻⁶ % | ✓ Matches |
| 0-2 · trefoil of touching HDPE ducts | 682.81 A | 682.81 A | −5.1×10⁻⁶ % | ✓ Matches |
| 0-3 · PVC duct bank in concrete, flat, both ends | 634.07 A | 633.67 A | −0.063 % | ✓ Matches |
| 0-3 · single-point bonding (4.8.5) | 904.55 A | 903.31 A | −0.137 % | ✓ Matches |
| 0-3 · both ends, with eddy-current losses (4.8.6) | 633.04 A | 632.65 A | −0.062 % | ✓ Matches |
LV cables: current-carrying capacity and correction factors (ABNT NBR 5410)
| Point | Reference value | LOGOS | Difference | Status |
|---|---|---|---|---|
| Tab. 36 · PVC · 2.5 mm² · method B1 · 3 loaded | 21 A | 21 A | 0 A | ✓ Matches |
| Tab. 36 · PVC · 10 mm² · method B1 · 3 loaded | 50 A | 50 A | 0 A | ✓ Matches |
| Tab. 36 · PVC · 2.5 mm² · method C · 2 loaded | 27 A | 27 A | 0 A | ✓ Matches |
| Tab. 37 · XLPE · 2.5 mm² · method B1 · 3 loaded | 28 A | 28 A | 0 A | ✓ Matches |
| Tab. 37 · XLPE · 16 mm² · method B1 · 3 loaded | 88 A | 88 A | 0 A | ✓ Matches |
| Tab. 40 · PVC · air at 40 °C | 0.87 | 0.87 | 0 | ✓ Matches |
| Tab. 40 · XLPE · air at 40 °C | 0.91 | 0.91 | 0 | ✓ Matches |
| Tab. 40 · XLPE · soil at 30 °C | 0.93 | 0.93 | 0 | ✓ Matches |
| Tab. 42 · row 1 · 3 circuits | 0.70 | 0.70 | 0 | ✓ Matches |
| Tab. 42 · row 1 · 6 circuits | 0.57 | 0.57 | 0 | ✓ Matches |
Used in: Electrical cable sizing: ampacity, correction factors and voltage drop per NBR 5410 · DC cable sizing: voltage drop, ampacity and commercial cross-section
Standards & methods
- IAPWS R7-97(2012) — IAPWS-IF97
- IEC 60909-0:2016
- IEC 60287-1-1:2006+A1:2014
- IEC 60287-2-1
- CIGRE TB 880 (2022)
- ASME B36.10M-2018
- ABNT NBR 5410:2004
- Colebrook (1939)
- Moody (1944)
Frequently asked questions
Are LOGOS calculations reliable?
LOGOS publishes the evidence so you can judge: on this page each calculation group is compared with values from an independent source, with the declared tolerance and the numerical difference row by row. IEC 60909 short circuit matches pandapower to 0.00% in three-phase Ik″, i_p and minimum Ik″; IEC 60287 ampacity matches CIGRE TB 880 to 0.00% in cases 0-1 and 0-2; steam properties reproduce the official IAPWS-IF97 values. Reliability also depends on correct inputs and on knowing what the tool does not cover, so the limits are listed here.
What is LOGOS validated against?
Against primary sources and independent implementations: the verification values of the IAPWS-IF97 release (R7-97, 2012), pandapower 3.5.4 for IEC 60909-0:2016 short circuit, the CIGRE TB 880 (2022) ampacity reference cases, the ASME B36.10M pipe dimensions, Tables 36, 37, 40 and 42 of ABNT NBR 5410, and the Colebrook-White equation solved exactly with the Lambert W function.
Can I use LOGOS on a stamped or signed design?
Yes, as a calculation tool, but technical responsibility stays with the engineer of record who signs the design. The Word (.docx) calculation report lists inputs, method, standard and results for checking and review. Make sure the case is inside the tool's scope — the section "What this verification does not cover" lists the main limits.
Are the values in the LOGOS column typed by hand?
No. The LOGOS column is computed when the page is built, by the same code that runs the calculators, from the inputs of each case. The status (matches or out of tolerance) is decided automatically by the tolerance declared for the group, and the same comparison is part of the automated test suite of the code.
Has LOGOS ever found errors in its own calculations?
Yes, and this page records which. The comparison with pandapower showed that minimum Ik″ came out 2% to 4% high because the transformer correction factor K_T was also applied to the minimum case; it was fixed. The comparison with CIGRE TB 880 showed that eddy-current losses in solid sheaths were neglected, which made the ampacity up to 3.1% optimistic with single-point bonding; it was also fixed.
Why compare with pandapower instead of a commercial program?
Because pandapower is open source: anyone can install the same version (3.5.4), run the same 5 cases and check the numbers. A reference the reader can reproduce is worth more than a result that has to be accepted on trust.
Related calculators
Reference tables
More about LOGOS
- LOGOS Engineering Workspace: what it is, who it is for and how it calculates
- Should you size pumps and cables in a spreadsheet or in an engineering tool?
- Pump and piping calculation software: LOGOS compared with PIPE-FLO, AFT Fathom and EPANET
- Electrical design calculation software: LOGOS compared with ETAP, SKM PowerTools and EasyPower