eflips-depot 4.1.5__tar.gz → 4.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/PKG-INFO +1 -1
  2. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/api/__init__.py +28 -2
  3. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/pyproject.toml +1 -1
  4. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/LICENSE.md +0 -0
  5. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/README.md +0 -0
  6. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/__init__.py +0 -0
  7. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/api/defaults/default_settings.json +0 -0
  8. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/api/private/__init__.py +0 -0
  9. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/api/private/depot.py +0 -0
  10. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/api/private/smart_charging.py +0 -0
  11. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/api/private/util.py +0 -0
  12. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/configuration.py +0 -0
  13. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/depot.py +0 -0
  14. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/evaluation.py +0 -0
  15. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/filters.py +0 -0
  16. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/input_epex_power_price.py +0 -0
  17. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/__init__.py +0 -0
  18. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/doc/__init__.py +0 -0
  19. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/doc/direct_details.pdf +0 -0
  20. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/evaluation.py +0 -0
  21. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/opt_tools/__init__.py +0 -0
  22. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/opt_tools/crossover.py +0 -0
  23. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/opt_tools/fitness_c_urfd.py +0 -0
  24. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/opt_tools/fitness_util.py +0 -0
  25. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/opt_tools/init.py +0 -0
  26. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/opt_tools/mutation.py +0 -0
  27. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/optimize_c_urfd.py +0 -0
  28. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/packing.py +0 -0
  29. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/settings.py +0 -0
  30. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/template_creation.py +0 -0
  31. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/layout_opt/util.py +0 -0
  32. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/plots.py +0 -0
  33. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/processes.py +0 -0
  34. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/rating.py +0 -0
  35. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/resources.py +0 -0
  36. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/settings_config.py +0 -0
  37. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/simple_vehicle.py +0 -0
  38. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/simulation.py +0 -0
  39. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/smart_charging.py +0 -0
  40. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/standalone.py +0 -0
  41. {eflips_depot-4.1.5 → eflips_depot-4.2.0}/eflips/depot/validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: eflips-depot
3
- Version: 4.1.5
3
+ Version: 4.2.0
4
4
  Summary: Depot Simulation for eFLIPS
5
5
  Home-page: https://github.com/mpm-tu-berlin/eflips-depot
6
6
  License: AGPL-3.0-or-later
@@ -101,6 +101,7 @@ def simple_consumption_simulation(
101
101
  initialize_vehicles: bool,
102
102
  database_url: Optional[str] = None,
103
103
  calculate_timeseries: bool = False,
104
+ terminus_deadtime: timedelta = timedelta(minutes=1),
104
105
  ) -> None:
105
106
  """
106
107
  A simple consumption simulation and vehicle initialization.
@@ -131,6 +132,10 @@ def simple_consumption_simulation(
131
132
  is set to False, the "timeseries" column of the Event table will be set to ``None``. Setting this to false
132
133
  may significantly speed up the simulation.
133
134
 
135
+ :param terminus_deadtime: The total deadtime taken to both attach and detach the charging cable at the terminus.
136
+ If the total deadtime is greater than the time between the arrival and departure of the
137
+ vehicle at the terminus, the vehicle will not be able to charge at the terminus.
138
+
134
139
  :return: Nothing. The results are added to the database.
135
140
  """
136
141
  logger = logging.getLogger(__name__)
@@ -314,7 +319,10 @@ def simple_consumption_simulation(
314
319
  # How much energy can be charged in this time?
315
320
  energy_charged = (
316
321
  max([v[1] for v in vehicle_type.charging_curve])
317
- * break_time.total_seconds()
322
+ * (
323
+ break_time.total_seconds()
324
+ - terminus_deadtime.total_seconds()
325
+ )
318
326
  / 3600
319
327
  )
320
328
 
@@ -326,6 +334,24 @@ def simple_consumption_simulation(
326
334
  1,
327
335
  )
328
336
 
337
+ # Create a simple timeseries for the charging event
338
+ timeseries = {
339
+ "time": [
340
+ trip.arrival_time.isoformat(),
341
+ (trip.arrival_time + terminus_deadtime / 2).isoformat(),
342
+ (
343
+ next_trip.departure_time - terminus_deadtime / 2
344
+ ).isoformat(),
345
+ next_trip.departure_time.isoformat(),
346
+ ],
347
+ "soc": [
348
+ current_soc,
349
+ current_soc,
350
+ post_charge_soc,
351
+ post_charge_soc,
352
+ ],
353
+ }
354
+
329
355
  # Create the charging event
330
356
  current_event = Event(
331
357
  scenario_id=scenario.id,
@@ -1027,7 +1053,7 @@ def _get_finished_schedules_per_vehicle(
1027
1053
  elif i != 0 and i == len(list_of_finished_trips) - 1:
1028
1054
  # Vehicle's last trip is a non-copy trip
1029
1055
  if earliest_time is None:
1030
- earliest_time = list_of_finished_trips[i - 1].atd
1056
+ earliest_time = list_of_finished_trips[i - 1].ata
1031
1057
  latest_time = list_of_finished_trips[i].ata
1032
1058
 
1033
1059
  else:
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "eflips-depot"
3
- version = "4.1.5"
3
+ version = "4.2.0"
4
4
  description = "Depot Simulation for eFLIPS"
5
5
  authors = ["Enrico Lauth <enrico.lauth@tu-berlin.de>",
6
6
  "Ludger Heide <ludger.heide@tu-berlin.de",
File without changes
File without changes