46 lines
1.8 KiB
Markdown
46 lines
1.8 KiB
Markdown
---
|
|
name: evolv-mechanical-rotating-equipment
|
|
description: Provide rotating equipment engineering guidance for EVOLV machine and pumping logic. Use when implementing or reviewing `rotatingMachine`, `machineGroupControl`, pump/motor behavior, operating envelopes, efficiency/power curves, surge/choke limits, and physically plausible constraints in node domain logic.
|
|
---
|
|
|
|
# EVOLV Mechanical Rotating Equipment
|
|
|
|
## Mission
|
|
Keep rotating equipment behavior physically plausible, safe, and diagnosable in EVOLV JavaScript domain classes.
|
|
|
|
## Scope
|
|
- `nodes/rotatingMachine/`
|
|
- `nodes/machineGroupControl/`
|
|
- `nodes/pumpingStation/`
|
|
- Related shared curve/model datasets in `nodes/generalFunctions/datasets/assetData/`
|
|
|
|
## Engineering Checklist
|
|
1. Validate units and conversions before algorithm changes.
|
|
2. Enforce operating envelope constraints:
|
|
- min/max speed
|
|
- flow/head boundaries
|
|
- power/torque limits
|
|
- efficiency range sanity
|
|
3. Prevent impossible states (negative flow where not allowed, non-physical efficiencies, unstable mode transitions).
|
|
4. Define clear degraded behavior for out-of-range inputs.
|
|
5. Preserve interpretability: outputs should map to recognizable mechanical concepts.
|
|
|
|
## Implementation Pattern
|
|
- Keep mechanics in `src/specificClass.js`.
|
|
- Keep Node-RED concerns in `src/nodeClass.js`.
|
|
- Use shared helpers from `generalFunctions` for logging/config assertions.
|
|
|
|
## Test Expectations
|
|
Add/adjust tests under node-specific `test/` for:
|
|
- boundary conditions
|
|
- invalid sensor/input combinations
|
|
- regression of known machine edge cases
|
|
- deterministic output under repeated ticks
|
|
|
|
## Deliverables
|
|
Return:
|
|
- assumptions about equipment type and curve source
|
|
- implemented constraints and rationale
|
|
- test coverage for boundary cases
|
|
- remaining mechanical uncertainties requiring field data
|