code wiki / (root) / nx_rot_health.nx

nx_rot_health.nx

buildroot/runtime/nx_rot_health.nx

5356 B140 linesdepth 2pulls 2 transitivereach 15 importersview sourcekind library
docsdependenciesstructsconstsfunctions

about

nx_rot_health.nx -- rotating-machine health kernel (#2 of the 4 physics kernels). Independent vibration + thermal signature -> health verdict for motors, pumps, fans, compressors, bearings. Operator (2026-06-23): the maintenance platform's computed top-build to cross into market LEADER (beats Augury, the strongest incumbent) -- and the 2nd physics kernel, which unlocks the whole rotating-equipment domain. FFT-FREE first cut = real entry-level predictive-maintenance practice, integer/no-float: - RMS overall severity (ISO-10816-style zones) -> imbalance/misalign/loose - CREST factor (peak/RMS) -> bearing impacts; RISES BEFORE RMS does, so it catches an incipient bearing fault an overall-amplitude reading MISSES (the measured exceed) - bearing temp-rise -> friction/overheat (safety) (Frequency-resolved diagnosis -- 1x imbalance vs 2x misalignment vs bearing pass-frequencies -- is a later FFT rung; this overall+crest+thermal cut is what a handheld vibration pen / ISO-10816 overall measurement already uses.) NEVER-BRICK (#26): reads samples, emits a verdict; writes nothing to any machine. Read-only by construction; no firmware path exists here. genealogy_id: project-maintenance-platform-sclass-2026-06-23 (kernel #2; CIQ top-build) license_tier: ORIGINAL nx_capability_claims: needs: [pointer_arithmetic] provides: [rotating_machine_health_verdict, iso10816_overall_severity, crest_factor_bearing_early_warning, bearing_overheat_detect] safety: [no_floating_point, no_syscall, bounded_iteration, read_only_no_device_write, no_firmware_write_by_construction, sealed_enum_verdict] verdict: [sealed_enum_rot, no_silent_failure] license: ORIGINAL kind: maintenance_runtime_primitive

dependencies 1 imports · 2 importers

nx_vecmath.nx nx_rot_health.nx nx_maint_unify.nx nx_rot_health_test.nx

imports: nx_vecmath.nx

imported by: nx_maint_unify.nxnx_rot_health_test.nx

structs

56struct RotSpec
63struct RotEff

consts

39const NX_ROT_INSUFFICIENT_DATA: i64 = 0
40const NX_ROT_HEALTHY: i64 = 1
41const NX_ROT_ROUGH_WARNING: i64 = 2 // ISO zone B/C -- elevated vibration
42const NX_ROT_ROUGH_ALARM: i64 = 3 // ISO zone C/D -- unacceptable (imbalance/misalign/loose)
43const NX_ROT_BEARING_WEAR: i64 = 4 // high crest factor -- bearing impacts (early fault)
44const NX_ROT_OVERHEAT: i64 = 5 // bearing temp-rise over ceiling
45const NX_ROT_IDLE: i64 = 6 // not running (valid, not a fault)
46const NX_ROT_BAD_ARG: i64 = 7
47const NX_ROT_N: i64 = 8

functions

49func nx_rot_verdict_is_valid(v: i64) -> i64
called by 1: main
72func nx_rot_isqrt(n: i64) -> i64 { return vm_isqrt(n) }
called by 2: nx_rot_analyzemain calls 1: vm_isqrt
78func nx_rot_analyze(vib: *i64, n: i64, bearing_mC: i64, ambient_mC: i64,
called by 1: main calls 1: nx_rot_isqrt