Skip to content

[BUG] nominal_charging_capacity_kW refers to battery-side, not grid-side power — contradicts industry convention #601

@joda9

Description

@joda9

Describe the bug

The naming convention for EV charging capacities in charging_processes_df is inverted compared to the standard industry/normative convention:

  • nominal_charging_capacity_kW currently refers to the battery-side power (what the vehicle receives)
  • grid_charging_capacity_kW is calculated as nominal / eta_cp, making it larger than the nominal value

Example with a standard 11 kW wallbox and eta_cp = 0.9:

  • Current: nominal = 11 kW, grid = 12.22 kW
  • Expected: nominal = 11 kW, grid = 11 kW, battery = 9.9 kW

In industry standards (DIN, IEC 61851, manufacturer datasheets), "nominal charging capacity" always refers to the grid-side AC power rating of the charging station. A "11 kW wallbox" draws 11 kW from the grid (3-phase, 16A, 230V) and delivers less to the vehicle battery due to losses in the onboard charger and cabling.

To Reproduce

  1. Load SimBEV charging processes via import_electromobility() or from OEP table edut_00_174
  2. Inspect charging_processes_df columns:
    edisgo.electromobility.charging_processes_df[
        ["nominal_charging_capacity_kW", "grid_charging_capacity_kW"]
    ]
  3. Observe that grid_charging_capacity_kW > nominal_charging_capacity_kW for all rows
  4. The relationship is grid = nominal / eta_cp (defined in electromobility.py:105-110)

Expected behavior

The naming should follow the standard convention:

Column Meaning Example (11 kW wallbox, eta=0.9)
nominal_charging_capacity_kW Grid-side AC power (nameplate rating) 11.0 kW
battery_charging_capacity_kW Battery-side DC power (after losses) 9.9 kW

The efficiency relationship should be:

battery = nominal * eta_cp    (not: grid = nominal / eta_cp)

Affected files

The following files use the current (inverted) convention and would need to be updated:

  • edisgo/network/electromobility.py (lines 105-110, 443) — property definition and flexibility band calculation
  • edisgo/io/electromobility_import.py (lines 34-45, 885-895, 1338-1356) — DataFrame columns, OEP import, private charging
  • edisgo/flex_opt/charging_strategies.py (line 385) — grid load calculation: nominal / (1000 * eta_cp)
  • OEP table edut_00_174 — column names charging_capacity_nominal and charging_capacity_grid

Additional context

  • The current convention originates from SimBEV, which models charging from the vehicle perspective (SoC progression, charging duration) and then scales up to grid load
  • The OEP table inherits this SimBEV convention

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions