/** * Battery Domain Types */ export type BatteryChemistry = 'LFP' | 'NMC' | 'NCA' | 'LTO' | 'LCO' | 'LeadAcid' | 'NiMH'; /** * Energy Density Types */ export interface EnergyDensityInput { capacityAh: number; nominalVoltage: number; massKg?: number; volumeL?: number; } export interface EnergyDensityResult { energyWh: number; gravimetricWhPerKg: number | null; volumetricWhPerL: number | null; } /** * C-Rate Types */ export type CRateMode = 'currentToRate' | 'rateToCurrent'; export type CRateInput = { mode: 'currentToRate'; capacityAh: number; currentA: number; } | { mode: 'rateToCurrent'; capacityAh: number; cRate: number; }; export interface CRateResult { cRate: number; currentA: number; theoreticalTimeH: number; theoreticalTimeMin: number; } /** * State of Health Types */ export interface StateOfHealthInput { measuredCapacityAh: number; ratedCapacityAh: number; } export type SohStatus = 'excellent' | 'good' | 'degraded' | 'poor' | 'endOfLife'; export interface StateOfHealthResult { sohPercent: number; capacityLoss: number; capacityLossPercent: number; status: SohStatus; } /** * Battery Pack Config Types */ export interface BatteryPackConfigInput { cellVoltage: number; cellCapacityAh: number; targetVoltage: number; targetCapacityAh: number; } export interface BatteryPackConfigResult { seriesCells: number; parallelCells: number; totalCells: number; actualVoltage: number; actualCapacityAh: number; totalEnergyWh: number; totalEnergyKWh: number; } /** * Cycle Life Types */ export interface CycleLifeInput { chemistry: BatteryChemistry; depthOfDischarge: number; temperatureC: number; } export interface CycleLifeResult { estimatedCycles: number; baseCycles: number; dodFactor: number; temperatureFactor: number; chemistry: BatteryChemistry; } /** * Internal Resistance Types */ export interface InternalResistanceInput { openCircuitVoltage: number; loadVoltage: number; loadCurrentA: number; } export interface InternalResistanceResult { resistanceOhm: number; resistanceMilliOhm: number; voltageDrop: number; powerLossW: number; } /** * Self-Discharge Types */ export interface SelfDischargeInput { initialVoltage: number; finalVoltage: number; days: number; nominalVoltage: number; } export interface SelfDischargeResult { voltageDropPerDay: number; monthlyRatePercent: number; dailyRatePercent: number; } /** * Thermal Runaway Types */ export interface ThermalRunawayInput { ambientTempC: number; currentA: number; internalResistanceOhm: number; heatTransferCoeff: number; surfaceAreaM2: number; runawayTempC: number; } export interface ThermalRunawayResult { steadyStateTempC: number; temperatureRiseC: number; heatGenerationW: number; heatDissipationW: number; safetyMarginC: number; isSafe: boolean; } /** * BMS Balancing Types */ export interface BmsBalancingInput { cellVoltages: number[]; balancingCurrentMA: number; cellCapacityAh: number; } export interface BmsBalancingResult { maxVoltage: number; minVoltage: number; voltageDelta: number; averageVoltage: number; maxBalancingTimeMin: number; maxBalancingTimeH: number; isBalanced: boolean; cellDetails: { cellIndex: number; voltage: number; deltaFromAvg: number; balancingTimeMin: number; }[]; } /** * Charging Profile Types */ export interface ChargingProfileInput { capacityAh: number; chargingCurrentA: number; cutoffCurrentA: number; ccEndSocPercent?: number; } export interface ChargingProfileResult { ccPhaseTimeH: number; ccPhaseTimeMin: number; cvPhaseTimeH: number; cvPhaseTimeMin: number; totalTimeH: number; totalTimeMin: number; ccPhaseAh: number; cvPhaseAh: number; averageCRate: number; } //# sourceMappingURL=types.d.ts.map