@flexabrain/mcp-server
Version:
Advanced electrical schematic analysis MCP server with rail engineering expertise
790 lines (656 loc) • 26.7 kB
Markdown
# 🚆 FlexaBrain MCP Server - Rail Engineering Guide
**Deep Domain Expertise for Electrical Schematic Analysis**
This guide details the rail electrical engineering expertise built into FlexaBrain MCP Server, providing the foundation for accurate component recognition, safety analysis, and compliance validation.
## 🚋 **Rail System Types**
FlexaBrain supports analysis for all major rail system configurations:
### Metro/Subway Systems
- **Voltage Systems**: 600V, 750V, 1500V DC (third rail, overhead)
- **Typical Components**: DC choppers, resistor banks, auxiliary converters
- **Safety Considerations**: Third rail protection, platform safety, tunnel ventilation
- **Standards**: IEEE 1653.1, NFPA 130, local transit authority standards
### Light Rail Transit (LRT)
- **Voltage Systems**: 600V, 750V DC overhead catenary
- **Typical Components**: Traction inverters, regenerative braking systems
- **Safety Considerations**: Grade crossing protection, pedestrian safety
- **Standards**: IEEE 1653.2, AREMA, FTA guidelines
### Heavy Rail/Commuter Rail
- **Voltage Systems**: 1500V, 3000V DC; 25kV AC overhead
- **Typical Components**: High-power traction transformers, pantograph systems
- **Safety Considerations**: High-voltage clearances, electromagnetic compatibility
- **Standards**: IEEE 1653.3, AAR standards, FRA regulations
### High-Speed Rail
- **Voltage Systems**: 25kV 50Hz/60Hz AC, 15kV 16⅔Hz AC
- **Typical Components**: High-frequency transformers, active power filters
- **Safety Considerations**: EMI/EMC compliance, dynamic loading
- **Standards**: TSI, EN 50388, IEC 62888, UIC standards
### Freight Rail
- **Voltage Systems**: Diesel-electric, battery-electric hybrid
- **Typical Components**: Traction alternators, dynamic brake grids
- **Safety Considerations**: PTC systems, hazmat compatibility
- **Standards**: AAR standards, FRA Part 229, RSAC guidelines
## ⚡ **Traction Power Systems**
### DC Traction Systems
#### 600V DC Systems
```
Common Applications: Light rail, older metro systems
Components Recognized:
- Traction substations with 12-pulse rectifiers
- Third rail conductor systems
- DC circuit breakers (1000A-4000A range)
- Surge arresters and lightning protection
- Negative return systems and stray current mitigation
Safety Considerations:
- Arc flash energy typically 8-25 cal/cm² at bus level
- PPE Category 2-3 required for maintenance
- Touch potential concerns near third rail
```
#### 750V DC Systems
```
Common Applications: Metro systems, some light rail
Components Recognized:
- Converter stations with AC/DC conversion
- Overhead catenary or third rail distribution
- High-speed DC circuit breakers
- Regenerative energy storage systems
- Traction power control systems
Safety Considerations:
- Arc flash energy 15-40 cal/cm² at substation level
- PPE Category 3-4 required for HV maintenance
- Electrical clearance requirements per NESC/IEC
```
#### 1500V DC Systems
```
Common Applications: Heavy rail, high-performance metro
Components Recognized:
- Traction power substations (multi-MW capacity)
- Sectionalizing switches and isolators
- DC fast circuit breakers with SF6 or vacuum interrupters
- Harmonic filters and power quality equipment
- SCADA and remote control systems
Safety Considerations:
- Arc flash energy 25-65 cal/cm² - highest risk level
- PPE Category 4+ required, approach boundaries critical
- Specialized switching procedures and lockout/tagout
```
#### 3000V DC Systems
```
Common Applications: Heavy rail, regional systems
Components Recognized:
- High-power rectifier stations
- Catenary section insulators
- Specialized 3kV DC switching equipment
- Neutral zones and section breaks
- Track circuit compatibility equipment
Safety Considerations:
- Extreme arc flash hazard - requires specialized PPE
- Remote switching preferred for maintenance
- Extensive electrical clearance requirements
```
### AC Traction Systems
#### 25kV 50Hz/60Hz Systems
```
Common Applications: High-speed rail, modern heavy rail
Components Recognized:
- Traction power stations with 110kV/25kV transformers
- Auto-transformer (AT) feeding systems
- 25kV switchgear and circuit breakers
- Power factor correction and harmonic filtering
- Sectioning posts and neutral zones
Safety Considerations:
- Highest electrical hazard level in rail systems
- Arc flash energies >100 cal/cm² possible
- Requires Category 4+ PPE and specialized procedures
- Electromagnetic field exposure considerations
```
#### 15kV 16⅔Hz Systems
```
Common Applications: European high-speed rail, some heavy rail
Components Recognized:
- Single-phase traction transformers
- 16⅔Hz power supply systems
- Specialized frequency conversion equipment
- Rotary converters and static frequency converters
- Railway-specific protection systems
Safety Considerations:
- High-voltage AC hazards similar to 25kV systems
- Specialized frequency creates unique safety considerations
- EMC compliance critical for signaling systems
```
## 🔍 **Component Recognition Patterns**
FlexaBrain uses advanced pattern recognition optimized for rail electrical components:
### Traction Power Components
#### Converters and Inverters
```typescript
// Recognition patterns for traction converters
const CONVERTER_PATTERNS = {
// European style: A601, A1234B
european: /^A\d{3,4}[A-Z]?$/,
// North American style: CONV01, INV205
north_american: /^(CONV|INV|REC)\d{2,3}[A-Z]?$/,
// Asian style: TC001, PC205A
asian: /^(TC|PC|AC)\d{3}[A-Z]?$/,
// Generic patterns: TRAC001, PWR205
generic: /^(TRAC|PWR|DRIVE)\d{3,4}[A-Z]?$/
};
// Confidence scoring based on context
const getConverterConfidence = (text: string, context: RailContext) => {
if (context.region === 'EU' && CONVERTER_PATTERNS.european.test(text)) {
return 0.95;
}
// Additional context-based scoring...
};
```
#### Circuit Breakers
```typescript
// Circuit breaker identification patterns
const BREAKER_PATTERNS = {
// Standard patterns: CB101, Q205, BR999
standard: /^(CB|Q|BR|MCB)\d{2,4}[A-Z]?$/,
// High-voltage patterns: HVB001, 25KV-CB-01
high_voltage: /^(HVB|HV-CB|\d+KV-CB)\d{2,3}[A-Z]?$/,
// Specialized rail patterns: TCB205, PTCB001
rail_specific: /^(TCB|PTCB|RECB)\d{3}[A-Z]?$/
};
// Voltage rating inference from context
const inferVoltageRating = (componentId: string, surroundingText: string[]) => {
const voltageIndicators = surroundingText.join(' ').match(/(\d+(?:\.\d+)?)\s*(k?V)/gi);
if (voltageIndicators) {
return parseVoltageFromText(voltageIndicators[0]);
}
return getDefaultVoltageForComponent(componentId);
};
```
### Signaling Components
#### Signal Reference Numbers
```typescript
// 8-digit signal reference patterns (rail-specific)
const SIGNAL_PATTERNS = {
// Standard 8-digit: 12345678
standard_8digit: /^\d{8}$/,
// Extended patterns: 1234-5678, 12.34.56.78
formatted_8digit: /^\d{4}[-\.]\d{4}$|^\d{2}[\.\-]\d{2}[\.\-]\d{2}[\.\-]\d{2}$/,
// Signal module references: SIG12345, SM-98765
signal_modules: /^(SIG|SM|SIGNAL)\d{5,8}$/,
// Interlocking references: IXL001, INTER-205
interlocking: /^(IXL|INTER|INT)\d{3,6}[A-Z]?$/
};
// Signal system context validation
const validateSignalContext = (componentId: string, systemType: string) => {
const systemCompatibility = {
'ATC': ['speed_control', 'cab_signal', 'train_stop'],
'PTC': ['positive_train_control', 'overlap_protection'],
'CBTC': ['moving_block', 'communication_based'],
'ERTMS': ['european_standard', 'gsm_r_compatible']
};
return systemCompatibility[systemType]?.some(feature =>
isComponentCompatibleWithFeature(componentId, feature)
) ?? false;
};
```
### Protection Components
#### Protective Relays
```typescript
// Protective relay patterns
const RELAY_PATTERNS = {
// Numerical relays: 21/87/50/51 functions
numerical: /^(21|27|50|51|67|87|25|59|81|32)\d{2,3}[A-Z]?$/,
// Modern relays: REL001, PROT205A
modern: /^(REL|PROT|RELAY)\d{3,4}[A-Z]?$/,
// Rail-specific: TPR001, SRP205 (Traction Protection, Signal Relay Protection)
rail_protection: /^(TPR|SRP|RRP)\d{3}[A-Z]?$/
};
// Protection function mapping
const PROTECTION_FUNCTIONS = {
'21': 'Distance Protection',
'25': 'Synchronism Check',
'27': 'Undervoltage',
'50': 'Instantaneous Overcurrent',
'51': 'Time Overcurrent',
'67': 'Directional Overcurrent',
'81': 'Frequency',
'87': 'Differential Protection'
};
```
### Auxiliary Systems
#### HVAC and Auxiliary Power
```typescript
// Auxiliary component patterns
const AUX_PATTERNS = {
// HVAC systems: FAN001, HEAT205, AC-UNIT-01
hvac: /^(FAN|HEAT|AC-UNIT|HVAC)\d{2,4}[A-Z]?$/,
// Auxiliary converters: AUX001, AUXCONV205
converters: /^(AUX|AUXCONV|APS)\d{3,4}[A-Z]?$/,
// Lighting: LIGHT001, EMRG-LT-01
lighting: /^(LIGHT|LT|EMRG-LT)\d{2,4}[A-Z]?$/,
// UPS systems: UPS001, BATT-SYS-01
power_backup: /^(UPS|BATT-SYS|BACKUP)\d{2,4}[A-Z]?$/
};
```
## 🛡️ **Safety Analysis Framework**
FlexaBrain incorporates comprehensive rail electrical safety analysis:
### Arc Flash Analysis
#### IEEE 1584-2018 Implementation
```typescript
// Arc flash energy calculation for rail systems
const calculateArcFlashEnergy = (
voltage: number,
current: number,
time: number,
distance: number,
systemType: 'DC' | 'AC'
): ArcFlashResult => {
if (systemType === 'DC') {
// DC arc flash calculation (limited standards)
// Based on empirical data and safety margins
const dcEnergy = calculateDCIncidentEnergy(voltage, current, time, distance);
return {
incident_energy: dcEnergy,
ppe_category: getPPECategory(dcEnergy),
approach_boundary: calculateApproachBoundary(voltage),
special_requirements: getDCSpecialRequirements(voltage)
};
} else {
// AC arc flash per IEEE 1584-2018
const acEnergy = calculateACIncidentEnergy(voltage, current, time, distance);
return {
incident_energy: acEnergy,
ppe_category: getPPECategory(acEnergy),
arc_flash_boundary: calculateArcFlashBoundary(acEnergy),
limited_approach: calculateLimitedApproach(voltage),
restricted_approach: calculateRestrictedApproach(voltage)
};
}
};
// Rail-specific PPE categories
const RAIL_PPE_CATEGORIES = {
Category_0: { max_energy: 1.2, clothing: 'Non-melting or untreated cotton' },
Category_1: { max_energy: 4.0, clothing: 'Arc-rated shirt and pants or coverall' },
Category_2: { max_energy: 8.0, clothing: 'Arc-rated shirt and pants, plus arc flash suit' },
Category_3: { max_energy: 25.0, clothing: 'Arc-rated shirt and pants, plus 25 cal/cm² suit' },
Category_4: { max_energy: 40.0, clothing: 'Arc-rated shirt and pants, plus 40 cal/cm² suit' },
Rail_Special: { max_energy: 100.0, clothing: 'Specialized rail arc flash protection >40 cal/cm²' }
};
```
#### Electrical Shock Protection
```typescript
// Shock protection boundaries for rail systems
const RAIL_SHOCK_BOUNDARIES = {
// Low voltage systems (< 1000V)
low_voltage: {
limited_approach: '3 feet 6 inches',
restricted_approach: 'Avoid contact',
prohibited_approach: 'Avoid contact'
},
// Medium voltage (1kV - 35kV) - most rail traction systems
medium_voltage: {
'1.5kV': { limited: '4 feet 6 inches', restricted: '2 feet 2 inches', prohibited: '1 foot' },
'3kV': { limited: '5 feet', restricted: '2 feet 7 inches', prohibited: '1 foot 5 inches' },
'25kV': { limited: '10 feet', restricted: '4 feet 6 inches', prohibited: '2 feet 9 inches' }
},
// High voltage (> 35kV) - transmission feeds
high_voltage: {
'69kV': { limited: '12 feet 6 inches', restricted: '6 feet 2 inches', prohibited: '4 feet 3 inches' },
'115kV': { limited: '15 feet', restricted: '7 feet', prohibited: '5 feet' }
}
};
```
### Grounding and Bonding Analysis
#### Rail Return Systems
```typescript
// Rail return current analysis
const analyzeRailReturn = (components: ElectricalComponent[]): RailReturnAnalysis => {
const railBonds = components.filter(c => c.type === 'rail_bond');
const returnConductors = components.filter(c => c.type === 'return_conductor');
const isolatedJoints = components.filter(c => c.type === 'insulated_joint');
return {
rail_continuity: validateRailContinuity(railBonds, isolatedJoints),
return_impedance: calculateReturnImpedance(returnConductors),
stray_current_risk: assessStrayCurrent(railBonds, returnConductors),
corrosion_protection: validateCorrosionProtection(components),
touch_voltage_assessment: calculateTouchVoltages(components)
};
};
// Stray current mitigation assessment
const assessStrayCurrent = (railBonds: Component[], returnConductors: Component[]) => {
const bondingResistance = railBonds.reduce((total, bond) =>
total + (bond.specifications?.resistance || 0.001), 0
);
const returnResistance = returnConductors.reduce((total, conductor) =>
total + calculateConductorResistance(conductor), 0
);
return {
stray_current_level: calculateStrayCurrent(bondingResistance, returnResistance),
mitigation_required: bondingResistance > 0.005, // 5 milliohm threshold
recommendations: generateStrayCurrenRecommendations(bondingResistance)
};
};
```
## 📊 **Standards Compliance Framework**
### Rail-Specific Standards
#### EN 50155 - Railway Electronics
```typescript
// EN 50155 compliance validation
const validateEN50155 = (components: ElectricalComponent[]): ComplianceResult => {
const results = [];
for (const component of components) {
const compliance = {
component_id: component.id,
standard: 'EN 50155',
sections: {
// Temperature and humidity requirements
environmental: validateEnvironmentalRequirements(component),
// Vibration and shock resistance
mechanical: validateMechanicalRequirements(component),
// EMC requirements
emc: validateEMCRequirements(component),
// Power supply variations
power_quality: validatePowerQualityTolerance(component),
// Safety isolation requirements
safety_isolation: validateSafetyIsolation(component)
}
};
results.push(compliance);
}
return consolidateComplianceResults(results);
};
// Environmental requirements per EN 50155
const EN50155_ENVIRONMENTAL = {
temperature: {
operational: { min: -25, max: 70 }, // °C for OT category
storage: { min: -40, max: 85 },
thermal_shock: { rate: 1 } // °C/min max rate
},
humidity: {
operational: { max: 95, condition: 'non-condensing at 25°C' },
storage: { max: 95, condition: 'non-condensing' }
},
altitude: { operational: 2000, storage: 4000 } // meters above sea level
};
```
#### IEC 62278 - RAMS (Reliability, Availability, Maintainability, Safety)
```typescript
// RAMS analysis for rail components
const performRAMSAnalysis = (components: ElectricalComponent[]): RAMSResult => {
return {
reliability: calculateComponentReliability(components),
availability: calculateSystemAvailability(components),
maintainability: assessMaintainability(components),
safety: performSafetyAssessment(components),
// SIL (Safety Integrity Level) assessment
sil_requirements: determineSILRequirements(components),
// Life cycle cost analysis
lcc_analysis: performLifeCycleCostAnalysis(components)
};
};
// Safety Integrity Level determination
const determineSILRequirements = (components: ElectricalComponent[]) => {
const safetyClassification = {
'SIL_4': components.filter(c => c.category === 'signaling' && c.safety_level === 'CRITICAL'),
'SIL_3': components.filter(c => c.category === 'protection' && c.safety_level === 'HIGH'),
'SIL_2': components.filter(c => c.category === 'control' && c.safety_level === 'HIGH'),
'SIL_1': components.filter(c => c.safety_level === 'MEDIUM')
};
return safetyClassification;
};
```
#### IEEE 1653 Series - Rail Transit Standards
```typescript
// IEEE 1653.1 - DC Traction Power Systems
const validateIEEE1653_1 = (components: ElectricalComponent[]): ComplianceResult => {
const dcComponents = components.filter(c =>
c.specifications?.voltage_rating?.unit?.includes('DC')
);
return {
power_supply_design: validateDCPowerSupplyDesign(dcComponents),
distribution_system: validateDCDistribution(dcComponents),
protection_coordination: validateDCProtectionCoordination(dcComponents),
grounding_bonding: validateDCGroundingBonding(dcComponents),
stray_current: validateStrayCurrcurrentMitigation(dcComponents)
};
};
// IEEE 1653.2 - AC Traction Power Systems
const validateIEEE1653_2 = (components: ElectricalComponent[]): ComplianceResult => {
const acComponents = components.filter(c =>
c.specifications?.voltage_rating?.unit?.includes('AC')
);
return {
power_supply_design: validateACPowerSupplyDesign(acComponents),
catenary_system: validateCatenarySystem(acComponents),
transformer_design: validateTransformerDesign(acComponents),
harmonic_analysis: performHarmonicAnalysis(acComponents),
power_factor_correction: validatePowerFactorCorrection(acComponents)
};
};
```
## 🔧 **Maintenance Scheduling**
### Rail Component Maintenance Intervals
#### Traction Power Equipment
```typescript
const TRACTION_MAINTENANCE_INTERVALS = {
// Traction converters/inverters
converters: {
visual_inspection: { frequency: 1, unit: 'months' },
thermal_imaging: { frequency: 3, unit: 'months' },
power_quality_check: { frequency: 6, unit: 'months' },
major_overhaul: { frequency: 5, unit: 'years' }
},
// Traction transformers
transformers: {
oil_analysis: { frequency: 6, unit: 'months' },
dissolved_gas_analysis: { frequency: 12, unit: 'months' },
power_factor_test: { frequency: 24, unit: 'months' },
winding_resistance: { frequency: 36, unit: 'months' }
},
// High voltage circuit breakers
hv_breakers: {
visual_inspection: { frequency: 1, unit: 'months' },
contact_resistance: { frequency: 6, unit: 'months' },
timing_tests: { frequency: 12, unit: 'months' },
gas_analysis: { frequency: 24, unit: 'months' }, // for SF6 breakers
overhaul: { frequency: 15, unit: 'years' }
}
};
// Condition-based maintenance triggers
const CONDITION_TRIGGERS = {
temperature: {
warning: 80, // °C for power electronics
alarm: 90,
shutdown: 100
},
vibration: {
warning: 10, // mm/s RMS for transformers
alarm: 15,
shutdown: 25
},
insulation_resistance: {
good: 1000, // MΩ minimum
fair: 100,
poor: 10
},
partial_discharge: {
acceptable: 100, // pC for 25kV equipment
investigate: 500,
critical: 1000
}
};
```
#### Signaling Equipment
```typescript
const SIGNALING_MAINTENANCE = {
// Signal modules and vital relays
vital_equipment: {
functional_test: { frequency: 1, unit: 'months' },
calibration_check: { frequency: 6, unit: 'months' },
full_calibration: { frequency: 24, unit: 'months' },
replacement: { frequency: 10, unit: 'years' }
},
// Track circuits
track_circuits: {
impedance_check: { frequency: 3, unit: 'months' },
shunt_sensitivity: { frequency: 6, unit: 'months' },
insulation_test: { frequency: 12, unit: 'months' },
component_replacement: { frequency: 15, unit: 'years' }
},
// Communication systems
communication_equipment: {
link_quality_check: { frequency: 1, unit: 'weeks' },
protocol_verification: { frequency: 3, unit: 'months' },
backup_system_test: { frequency: 6, unit: 'months' },
software_update: { frequency: 12, unit: 'months' }
}
};
```
## 📈 **Performance Optimization**
### Power Quality Analysis
#### Harmonic Analysis for Rail Systems
```typescript
// Rail system harmonic analysis
const analyzeHarmonics = (components: ElectricalComponent[]): HarmonicAnalysis => {
const converters = components.filter(c => c.type === 'converter');
const filters = components.filter(c => c.type === 'harmonic_filter');
// Calculate total harmonic distortion
const thd = calculateTotalHarmonicDistortion(converters);
// IEEE 519 compliance check
const ieee519Compliance = validateIEEE519Limits(thd);
// Filter effectiveness assessment
const filterPerformance = assessFilterPerformance(filters, thd);
return {
total_harmonic_distortion: thd,
individual_harmonics: calculateIndividualHarmonics(converters),
ieee_519_compliance: ieee519Compliance,
filter_recommendations: generateFilterRecommendations(thd, filterPerformance),
power_quality_impact: assessPowerQualityImpact(thd)
};
};
// Power factor correction analysis
const analyzePowerFactor = (components: ElectricalComponent[]): PowerFactorAnalysis => {
const loads = components.filter(c => c.category === 'load');
const capacitors = components.filter(c => c.type === 'capacitor');
const systemPowerFactor = calculateSystemPowerFactor(loads);
const correctionNeeded = systemPowerFactor < 0.95;
return {
current_power_factor: systemPowerFactor,
correction_needed: correctionNeeded,
capacitor_sizing: calculateCapacitorSizing(loads, 0.95),
energy_savings: calculateEnergySavings(systemPowerFactor, 0.95),
payback_period: calculatePaybackPeriod(loads, capacitors)
};
};
```
### Energy Efficiency Optimization
#### Regenerative Braking Analysis
```typescript
// Regenerative braking energy recovery analysis
const analyzeRegenerativeBraking = (
tractionSystems: ElectricalComponent[],
brakingProfile: BrakingProfile
): RegenerativeAnalysis => {
const converters = tractionSystems.filter(c => c.type === 'converter');
const energyStorage = tractionSystems.filter(c => c.type === 'energy_storage');
// Calculate potential energy recovery
const maxRecovery = calculateMaxEnergyRecovery(brakingProfile);
const actualRecovery = calculateActualRecovery(converters, energyStorage, brakingProfile);
// Efficiency analysis
const recoveryEfficiency = actualRecovery / maxRecovery;
return {
max_recoverable_energy: maxRecovery,
actual_recovered_energy: actualRecovery,
recovery_efficiency: recoveryEfficiency,
energy_storage_utilization: assessStorageUtilization(energyStorage),
optimization_recommendations: generateRecoveryOptimizations(
recoveryEfficiency,
energyStorage
)
};
};
```
## 🎯 **Expert Recommendations Engine**
FlexaBrain generates context-aware recommendations based on rail engineering best practices:
### Safety Recommendations
```typescript
const generateSafetyRecommendations = (
safetyAnalysis: SafetyAnalysis,
components: ElectricalComponent[]
): Recommendation[] => {
const recommendations = [];
// Arc flash mitigation
if (safetyAnalysis.arc_flash_hazards.present) {
recommendations.push({
id: 'arc_flash_001',
type: 'SAFETY',
priority: 'CRITICAL',
title: 'Install Arc Flash Mitigation Systems',
description: `Arc flash hazard detected with ${safetyAnalysis.arc_flash_hazards.estimated_energy} cal/cm² incident energy`,
action: 'Install arc resistant switchgear or implement remote operation',
components: safetyAnalysis.arc_flash_hazards.components,
cost_estimate: 'HIGH',
payback_period: 'Immediate (safety compliance)',
standards: ['IEEE 1584', 'NFPA 70E']
});
}
// Grounding improvements
if (!safetyAnalysis.ground_fault_risks.has_ground_fault_protection) {
recommendations.push({
id: 'grounding_001',
type: 'SAFETY',
priority: 'HIGH',
title: 'Implement Ground Fault Protection',
description: 'Missing ground fault protection increases shock hazard risk',
action: 'Install ground fault relays and current transformers',
cost_estimate: 'MEDIUM',
payback_period: '2-3 years (reduced insurance, downtime)',
standards: ['IEEE 142', 'NFPA 70']
});
}
return recommendations;
};
```
### Performance Optimization Recommendations
```typescript
const generatePerformanceRecommendations = (
performanceAnalysis: PerformanceAnalysis,
components: ElectricalComponent[]
): Recommendation[] => {
const recommendations = [];
// Power factor correction
if (performanceAnalysis.efficiency_metrics.power_factor < 0.95) {
recommendations.push({
id: 'pf_correction_001',
type: 'PERFORMANCE',
priority: 'MEDIUM',
title: 'Install Power Factor Correction',
description: `Current power factor ${performanceAnalysis.efficiency_metrics.power_factor.toFixed(2)} below optimal`,
action: 'Install automatic power factor correction capacitors',
cost_estimate: 'MEDIUM',
payback_period: '18-24 months',
energy_savings: '5-8% reduction in energy costs'
});
}
// Harmonic mitigation
if (performanceAnalysis.efficiency_metrics.harmonic_distortion > 0.08) {
recommendations.push({
id: 'harmonic_001',
type: 'PERFORMANCE',
priority: 'MEDIUM',
title: 'Implement Harmonic Filtering',
description: `THD ${(performanceAnalysis.efficiency_metrics.harmonic_distortion * 100).toFixed(1)}% exceeds recommended limits`,
action: 'Install passive or active harmonic filters',
cost_estimate: 'HIGH',
payback_period: '3-5 years',
standards: ['IEEE 519']
});
}
return recommendations;
};
```
This rail engineering guide provides the foundation for FlexaBrain's domain expertise. The built-in knowledge enables accurate component recognition, appropriate safety analysis, and relevant recommendations specific to rail electrical systems.
*For implementation details and API usage, see the [API Reference](API.md) and main [README](../README.md).*