Skip to content

Replace fixed CP/HP worst-case simultaneity factors with n-dependent …#660

Open
nader-00 wants to merge 2 commits into
devfrom
feature/issue-267-simultaneity-curves
Open

Replace fixed CP/HP worst-case simultaneity factors with n-dependent …#660
nader-00 wants to merge 2 commits into
devfrom
feature/issue-267-simultaneity-curves

Conversation

@nader-00

@nader-00 nader-00 commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Description

Replaces the constant worst-case simultaneity factors for charging points (CP) and heat pumps (HP) in the load case with count-dependent curves, implemented as lookup tables with logarithmic interpolation.

Previously the worst-case load-case factors were constants, independent of the number of devices in the grid (and, for CPs, independent of charging power). This implements count- (and for CPs charging-power-) dependent curves.

Charging points (count × charging power): A new config section [simultaneity_curves] holds support points taken from the VDE FNN study (2021), "Ermittlung von Gleichzeitigkeitsfaktoren für Ladevorgänge an privaten
Ladepunkten", for three charging-power classes (3.7 / 11 / 22 kW). Selected case: suburban / residential / evening (most conservative residential variant). The nearest charging-power class is used; for mixed groups the mean charging
power of the group is used for class assignment.

Heat pumps (count only): No table source equivalent to the VDE FNN EV study exists for HPs. The HP support points were computed from the Kerber simultaneity function g(n) = g_inf + (1 - g_inf) * n^(-3/4) (Kerber 2011 "Aufnahmefähigkeit von Niederspannungsverteilnetzen für die Einspeisung aus Photovoltaikkleinanlagen", Eq. 3.2, p. 23; same form used in pylovo), with g_inf = 0.9 (Consentec/E.ON distribution grid study, cold-winter peak-load case), stored in the same support-point format so both device types share one implementation.

MV feed-in case: Checked, the CP feed-in factors remain at 0.0 (dena, Integrierte Energiewende, p. 90); the new load-case logic does not touch the feed-in path. Confirmed as correct, no change required.

Factor 0.0 for an empty group (n=0) means "no component present in this voltage level / use case" and is commented inline to distinguish it from the intentionally zero feed-in factor.

Fixes #267

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist:

  • New and adjusted code is formatted using the pre-commit hooks
  • New and adjusted code includes type hinting now
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • The Read the Docs documentation is compiling correctly
  • If new packages are needed, I added them the setup.py, and if needed the rtd_requirements.txt, the eDisGo_env.yml and the eDisGo_env_dev.yml.
  • I have added new features to the corresponding whatsnew file

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Improve simultaneity assumptions used in worst case calculations

1 participant