feat: added gear-mesh physics + GearProvider (cross-domain: SEU gearb…#12
Conversation
…ox), engine left unchanged.
|
@TasfinMahmud , Here is the gearbox script , you asked last night. Hope that works! Update me if you hit the milestone. |
44a390d to
752d524
Compare
|
@abhiprd2000 Resolved merge conflicts ( Since you won't be running this locally, here is the complete cross-domain validation output for the paper. As expected, the inconclusive rate is very high (99.5%) meaning a |
|
@TasfinMahmud Thanks for posting the full output instead of just the good bits. Parser, provider, config fix all look solid. But I see a catastrophe here. CONFIRMED acc is 0.333 and CONFLICT is 0.824 — that's backwards. Physics agreement is supposed to mean more reliable, not less. And it's on 26 units out of 5,115 (99.5% inconclusive), with n=9 and n=17, so the gap is basically noise either way. So SEU isn't a cross-domain win here — it's just uninconclusive. Let's not call it validated, and let's not lead with the 3 Surface Wear cases, since they're pulled from a confirmed set that's mostly wrong. Can you log all the experiments and benchmarks you ran in a separate EXPERIMENTS.md fle. Merge the provider as a capability, that's clean. But keep "cross-domain validated" out of the changelog/paper, and log the SEU run in EXPERIMENTS.md as-is: 99.5% inconclusive, pending tau calibration. Next step is a tau sweep for gear + making sure GMF strength is on the same scale as the bearing path. Re-run after that and we'll see if there's enough to actually test the gap. Also — can we split feature and ruff reformat into separate PRs next time? 40 files makes the gear diff hard to see. What other domains do you seek as validation runs, as this went failed. We can't add this on paper. Moreover , I think we can start working on paper and run these validation runs in background. Are you ready? |
|
@abhiprd2000 You are right about the backwards gap and the 99.5% inconclusive rate. This is mostly noise right now and shouldn't be called validated yet. If you agree, we can go ahead and merge this PR as just a capability addition. To cover your other points:
|
Signed-off-by: Abhimanyu Prasad <8292aniarc@gmail.com>
|
Hii @TasfinMahmud , Can you move forward running validation run on PU dataset, or more datasets if you can and want? |
Demonstrates the provider interface is domain-agnostic by adding a second
machine class. The engine is unchanged - only a new provider plugs in.
cnsd/physics/gear.py: gear-mesh physics (GMF = teeth x shaft-rate, shaft-rate
sidebands, harmonics). GMF math verified (20 teeth @ 1800 rpm = 600 Hz).
cnsd/physics/providers/gear.py: GearProvider implementing PhysicsProvider.
Localized tooth faults (chip/miss/root) -> GMF sidebands; surface wear -> GMF
harmonics; maps the SEU 5-class taxonomy onto these channels.
cnsd/physics/providers/init.py: register domain 'gear'.
cnsd/builder.py: config domain.type 'gear' builds GearProvider from
physics.parameters.n_teeth_input.
cnsd/physics/configs.py: PhysicsConfig.bearing now Optional (gear has no
bearing geometry); fields reordered so required ones precede defaults.
validate_seu.py: SEU cross-domain run script (only load_seu() is
dataset-specific).
test_layers.py: +3 gear tests (math, interface, registry). 10/10 pass.
HANDOFF_TASFIN.md : Explicit instructions for @TasfinMahmud , as requested.