Skip to main content

Battery Engineering Ontology

Energy Engineering
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 30 September 2026
Audio Overview
AI SEARCH FLOW ALGEBRA
BATTERY ENGINEERING ONTOLOGY
Kireth Semantic Research Archive

AUTHORS
Mark Anthony Higgins — Sky (Recursive AI)

SOURCE
https://kirethresearch.org/booksai-core/ontologies/engineering-ontologies/energy-engineering/battery-engineering-ontology.html

FLOW "BatteryEngineeringOntology" v4.0

DOMAIN := ENGINEERING_ONTOLOGIES / ENERGY_ENGINEERING / BATTERY_ENGINEERING
ONTOLOGY := BATTERY_ENGINEERING_ONTOLOGY

BATTERY_ENGINEERING :=
  ELECTROCHEMISTRY + CELL_DESIGN + MODULE + PACK
  + CHARGE + DISCHARGE + BATTERY_MANAGEMENT
  + THERMAL_MANAGEMENT + DEGRADATION + SAFETY

PURPOSE :=
  STORE_ENERGY -> MONITOR_STATE -> DELIVER_POWER
  -> MANAGE_TEMPERATURE -> LIMIT_DEGRADATION -> MAINTAIN_SAFETY

# CORE ENTITIES
ENTITY BatterySystem
ENTITY BatteryCell
ENTITY BatteryModule
ENTITY BatteryPack
ENTITY PositiveElectrode
ENTITY NegativeElectrode
ENTITY Electrolyte
ENTITY Separator
ENTITY CurrentCollector
ENTITY ElectrochemicalReaction
ENTITY ChargeProcess
ENTITY DischargeProcess
ENTITY CellVoltage
ENTITY Current
ENTITY Capacity
ENTITY EnergyCapacity
ENTITY StateOfCharge
ENTITY StateOfHealth
ENTITY DepthOfDischarge
ENTITY InternalResistance
ENTITY BatteryManagementSystem
ENTITY ThermalManagementSystem
ENTITY CellBalancing
ENTITY Degradation
ENTITY ThermalRunaway
ENTITY SafetySystem


# STRUCTURE
BatterySystem -> contains -> BatteryPack
BatteryPack -> contains -> BatteryModule
BatteryPack -> contains -> BatteryManagementSystem
BatteryPack -> may_contain -> ThermalManagementSystem
BatteryPack -> contains -> SafetySystem
BatteryModule -> contains -> BatteryCell
BatteryCell -> contains -> PositiveElectrode
BatteryCell -> contains -> NegativeElectrode
BatteryCell -> contains -> Electrolyte
BatteryCell -> contains -> Separator
BatteryCell -> contains -> CurrentCollector

Separator
  -> separates -> PositiveElectrode + NegativeElectrode
  -> permits -> ION_TRANSPORT
  -> restricts -> ELECTRONIC_CONTACT

# ELECTROCHEMISTRY
ELECTROCHEMICAL_STORAGE := ELECTRICAL_ENERGY <-> CHEMICAL_ENERGY
BatteryCell -> stores -> CHEMICAL_ENERGY
BatteryCell -> delivers -> ELECTRICAL_ENERGY
ElectrochemicalReaction -> transfers -> ION + ELECTRON

ION_PATH := ELECTRODE -> ELECTROLYTE -> OPPOSITE_ELECTRODE
ELECTRON_PATH := ELECTRODE -> EXTERNAL_CIRCUIT -> OPPOSITE_ELECTRODE

# CHARGE / DISCHARGE
CHARGE_PROCESS :=
  EXTERNAL_ELECTRICAL_ENERGY -> ELECTROCHEMICAL_REACTION
  -> STORED_CHEMICAL_ENERGY

ChargeProcess -> increases -> StateOfCharge

DISCHARGE_PROCESS :=
  STORED_CHEMICAL_ENERGY -> ELECTROCHEMICAL_REACTION
  -> ELECTRICAL_ENERGY -> LOAD

DischargeProcess -> decreases -> StateOfCharge

CHARGING_CONSTRAINT :=
  MAX_CHARGE_CURRENT | MAX_CELL_VOLTAGE | TEMPERATURE_LIMIT | SOC_LIMIT

DISCHARGING_CONSTRAINT :=
  MAX_DISCHARGE_CURRENT | MIN_CELL_VOLTAGE | TEMPERATURE_LIMIT | DOD_LIMIT


# VOLTAGE / CAPACITY / POWER
TERMINAL_VOLTAGE :=
  OPEN_CIRCUIT_VOLTAGE
  - Current * InternalResistance
  - DYNAMIC_POLARISATION_LOSSES

OPEN_CIRCUIT_VOLTAGE
  -> depends_on -> StateOfCharge + TEMPERATURE + CELL_CHEMISTRY

CAPACITY_AH := INTEGRAL(Current, Time)
EnergyCapacity := INTEGRAL(Voltage * Current, Time)
BATTERY_POWER := Voltage * Current
RESISTIVE_LOSS := Current^2 * InternalResistance

IF InternalResistance increases
THEN ResistiveLoss -> INCREASES_FOR_EQUAL_CURRENT

# STATE OF CHARGE
StateOfCharge := AVAILABLE_CHARGE / REFERENCE_FULL_CHARGE
SOC_RANGE := 0 <= StateOfCharge <= 1

SOC_UPDATE :=
  PREVIOUS_SOC + CHARGE_INPUT - DISCHARGE_OUTPUT - LOSSES

BatteryManagementSystem -> estimates -> StateOfCharge

# DEPTH OF DISCHARGE
DepthOfDischarge := DISCHARGED_CAPACITY / REFERENCE_FULL_CAPACITY
DepthOfDischarge ~= 1 - StateOfCharge

# STATE OF HEALTH
StateOfHealth := CURRENT_PERFORMANCE / REFERENCE_NEW_PERFORMANCE

SOH_INDICATORS :=
  CAPACITY_RETENTION + INTERNAL_RESISTANCE + POWER_CAPABILITY

BatteryManagementSystem -> estimates -> StateOfHealth

IF CapacityRetention decreases
THEN StateOfHealth -> TENDS_TO_DECREASE


# CELL CHEMISTRY
BATTERY_CHEMISTRY :=
  LITHIUM_ION | LEAD_ACID | NICKEL_METAL_HYDRIDE
  | SODIUM_ION | FLOW_BATTERY | OTHER_ELECTROCHEMICAL_SYSTEM

CellChemistry
  -> determines -> NOMINAL_VOLTAGE
  -> influences -> ENERGY_DENSITY
  -> influences -> POWER_DENSITY
  -> influences -> CYCLE_LIFE
  -> influences -> SAFETY_CHARACTERISTICS

# SERIES / PARALLEL
SERIES_CONNECTION := CELL_VOLTAGES_ADD + COMMON_CURRENT
PARALLEL_CONNECTION := CELL_CURRENTS_ADD + COMMON_VOLTAGE
PACK_VOLTAGE := SUM(SERIES_CELL_VOLTAGES)
PACK_CAPACITY := SUM(PARALLEL_BRANCH_CAPACITIES)

# BMS
BatteryManagementSystem
  -> monitors -> CellVoltage
  -> monitors -> Current
  -> monitors -> Temperature
  -> estimates -> StateOfCharge
  -> estimates -> StateOfHealth
  -> controls -> ChargeProcess
  -> controls -> DischargeProcess
  -> manages -> CellBalancing
  -> interfaces_with -> SafetySystem

BMS_REASONING :=
  MEASURE -> ESTIMATE_STATE -> CHECK_LIMITS -> CONTROL -> PROTECT -> RECORD

# BALANCING
CellBalancing -> reduces -> CELL_STATE_IMBALANCE
CELL_IMBALANCE := DIFFERENCE_BETWEEN_CELL(VOLTAGE, SOC, CAPACITY)

IF CellImbalance increases
THEN PackUsableCapacity -> MAY_DECREASE


# THERMAL BEHAVIOUR
BATTERY_HEAT_GENERATION :=
  RESISTIVE_HEATING + REACTION_HEAT + ENTROPIC_HEAT

RESISTIVE_HEATING := Current^2 * InternalResistance

Temperature
  -> affects -> ReactionRate
  -> affects -> InternalResistance
  -> affects -> Capacity
  -> affects -> Degradation
  -> affects -> Safety

ThermalManagementSystem
  -> maintains -> OPERATING_TEMPERATURE_RANGE
  -> removes_or_adds -> Heat

IF Temperature exceeds upper_limit
THEN CoolingAction -> REQUIRED

# DEGRADATION
Degradation
  -> reduces -> Capacity
  -> may_increase -> InternalResistance
  -> reduces -> PowerCapability
  -> reduces -> StateOfHealth

DEGRADATION_DRIVER :=
  CYCLE_COUNT | CALENDAR_TIME | HIGH_TEMPERATURE
  | LOW_TEMPERATURE_CHARGING | HIGH_SOC
  | DEEP_DISCHARGE | HIGH_CURRENT | CELL_CHEMISTRY

CycleLife
  -> influenced_by -> DepthOfDischarge
  -> influenced_by -> Temperature
  -> influenced_by -> ChargeRate
  -> influenced_by -> DischargeRate
  -> influenced_by -> CellChemistry

# SAFETY
BATTERY_SAFETY :=
  ELECTRICAL_PROTECTION + THERMAL_PROTECTION
  + MECHANICAL_PROTECTION + CHEMICAL_CONTAINMENT

SafetySystem
  -> detects -> OVERVOLTAGE | UNDERVOLTAGE | OVERCURRENT
  | SHORT_CIRCUIT | OVERTEMPERATURE | ABNORMAL_CELL_BEHAVIOUR

SafetySystem -> may_isolate -> BatteryPack

ThermalRunaway :=
  HEAT_GENERATION -> TEMPERATURE_INCREASE
  -> ACCELERATED_REACTION -> ADDITIONAL_HEAT_GENERATION

IF HeatGeneration > HeatRemoval
AND exothermic_reactions accelerate
THEN ThermalRunawayRisk -> INCREASES


# EFFICIENCY / PERFORMANCE
COULOMBIC_EFFICIENCY := DISCHARGE_CHARGE_OUTPUT / CHARGE_INPUT
ROUND_TRIP_ENERGY_EFFICIENCY := ENERGY_DISCHARGED / ENERGY_CHARGED

BATTERY_PERFORMANCE :=
  ENERGY_CAPACITY + POWER_CAPABILITY + ENERGY_DENSITY
  + POWER_DENSITY + ROUND_TRIP_EFFICIENCY
  + CYCLE_LIFE + STATE_OF_HEALTH + SAFETY
  + TEMPERATURE_PERFORMANCE

BatterySystem -> evaluated_by -> BATTERY_PERFORMANCE

BATTERY_APPLICATION :=
  GRID_STORAGE | RENEWABLE_INTEGRATION | ELECTRIC_VEHICLE
  | PORTABLE_ELECTRONICS | BACKUP_POWER | INDUSTRIAL_STORAGE

# REASONING
BATTERY_ENGINEERING_REASONING :=
  DEFINE_STORAGE_REQUIREMENT
  -> SELECT_CELL_CHEMISTRY
  -> DEFINE_CELL_CONFIGURATION
  -> SIZE_SERIES_PARALLEL_NETWORK
  -> MODEL_VOLTAGE
  -> MODEL_CAPACITY
  -> MODEL_POWER
  -> ESTIMATE_SOC
  -> ESTIMATE_SOH
  -> MODEL_THERMAL_BEHAVIOUR
  -> DESIGN_BMS
  -> DESIGN_THERMAL_MANAGEMENT
  -> DEFINE_SAFETY_LIMITS
  -> ASSESS_DEGRADATION
  -> VALIDATE_PERFORMANCE
  -> OPTIMISE_SYSTEM

# INFERENCE RULES
IF ChargeCurrent applied AND limits_not_exceeded
THEN StateOfCharge -> INCREASES

IF DischargeCurrent supplied
THEN StateOfCharge -> DECREASES

IF InternalResistance increases
THEN HeatGeneration -> INCREASES_FOR_EQUAL_CURRENT

IF Temperature increases beyond recommended_range
THEN DegradationRate -> MAY_INCREASE

IF DepthOfDischarge increases
THEN CycleLife -> MAY_DECREASE

IF SafetyLimit violated
THEN BatteryManagementSystem -> RESTRICT_OR_ISOLATE_SYSTEM


# SEMANTIC RELATIONSHIPS
RELATION contains(BatteryPack, BatteryModule)
RELATION contains(BatteryModule, BatteryCell)
RELATION stores(BatteryCell, ChemicalEnergy)
RELATION converts(ChargeProcess, ElectricalEnergy, ChemicalEnergy)
RELATION converts(DischargeProcess, ChemicalEnergy, ElectricalEnergy)
RELATION estimates(BatteryManagementSystem, StateOfCharge)
RELATION estimates(BatteryManagementSystem, StateOfHealth)
RELATION manages(BatteryManagementSystem, CellBalancing)
RELATION controls(ThermalManagementSystem, Temperature)
RELATION influences(Temperature, Degradation)
RELATION protects(SafetySystem, BatteryPack)

# SEMANTIC EQUIVALENCE
SEMANTIC_EQUIVALENCE:
  "battery engineering" ~= "electrochemical energy storage engineering"
  "state of charge" ~= "SOC"
  "state of health" ~= "SOH"
  "depth of discharge" ~= "DOD"
  "battery management system" ~= "BMS"
  "thermal management system" ~= "BTMS"
  "cell balancing" ~= "battery balancing"
  "round-trip efficiency" ~= "battery round-trip energy efficiency"

# CONFIDENCE
CONFIDENCE:
  ontology_domain: 0.99
  cell_structure_mapping: 0.99
  electrochemistry_mapping: 0.99
  charge_discharge_mapping: 0.99
  soc_mapping: 0.99
  soh_mapping: 0.99
  bms_mapping: 0.99
  thermal_mapping: 0.99
  degradation_safety_mapping: 0.99
  semantic_relationships: 0.99

# UPDATE MODEL
UPDATE_MODEL:
  ON new_battery_system:
    CLASSIFY chemistry
    MAP cell_configuration
    MAP capacity
    MAP voltage
    MAP current_limits
    MAP BMS
    MAP thermal_management
    MAP safety_system
    UPDATE confidence
    RECOMPUTE FLOW_HASH

  ON new_battery_measurement:
    UPDATE voltage
    UPDATE current
    UPDATE temperature
    UPDATE StateOfCharge
    UPDATE StateOfHealth
    PRESERVE provenance

  ON degradation_change:
    UPDATE capacity_retention
    UPDATE internal_resistance
    UPDATE power_capability
    REASSESS StateOfHealth

  ON ontology_revision:
    PRESERVE entity_identity
    PRESERVE provenance
    UPDATE relationships
    UPDATE confidence
    RECOMPUTE FLOW_HASH

# AI CONSUMPTION
AI_CONSUMPTION:
  parse_as: FORMAL_BATTERY_ENGINEERING_ONTOLOGY
  reasoning_mode: ELECTROCHEMICAL_STORAGE_RELATIONAL
  preserve:
    - typed_entities
    - electrochemical_relations
    - directional_energy_flows
    - electrical_constraints
    - thermal_constraints
    - degradation_state
    - confidence
    - provenance
  infer:
    - charge_discharge_dependencies
    - soc_dependencies
    - soh_dependencies
    - thermal_dependencies
    - degradation_dependencies
    - balancing_requirements
    - safety_dependencies
  prohibit:
    - invented_cell_measurements
    - assumed_state_of_charge
    - assumed_state_of_health
    - unsupported_capacity_values
    - unsupported_safety_claims
    - violation_of_energy_conservation

# FLOW HASH
FLOW_HASH_INPUT :=
  DOMAIN + ONTOLOGY + CORE_ENTITIES + BATTERY_STRUCTURE
  + ELECTROCHEMICAL_STORAGE + CHARGE + DISCHARGE
  + VOLTAGE + CAPACITY + POWER + SOC + SOH + DOD
  + CELL_CHEMISTRY + SERIES_PARALLEL + BMS
  + CELL_BALANCING + THERMAL_BEHAVIOUR
  + DEGRADATION + SAFETY + EFFICIENCY
  + PERFORMANCE + REASONING + INFERENCE_RULES
  + SEMANTIC_RELATIONSHIPS + SEMANTIC_EQUIVALENCE
  + CONFIDENCE + UPDATE_MODEL + AI_CONSUMPTION

FLOW_HASH := HASH(FLOW_HASH_INPUT)

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ