The smart-charging module computes the impact on the system load profile driven by a shift from uncoordinated electric vehicle (EV) charging behavior to a coordinated charging scheme. Electrical demand associated with uncoordinated EV charging is added to the system based on a charging profile that represents average EV charge behavior. This establishes the pre-project load profile. This profile is compared against the post-project load profile, which is created by applying a valley-filling algorithm to coordinate EV charging. The valley-filling algorithm shifts charging load to the lowest demand times within the user-selected allowable charging window. Because the charging behavior of the EVs is influenced by knowledge of the larger system load, the charging scheme is said to be “smart.”


The objective of the smart-charging module is to shift EV charging load to periods of lower grid demand in the allowable charging window. The figure below provides example pre- and post-project load profiles. In this scenario, the coordinated allowable charging window is from 8 p.m. to 5 a.m. on weekdays and 11 p.m. to 8 a.m. on weekends.


The smart-charging project module is executed in several steps, which are depicted in the process flow diagram provided below. It shows how the module components process all data to determine the impacts of the user-specified project.

Users supply the information necessary to place the project within its appropriate context, including region, baseline load profile, system size, etc. Once the baseline load has been provided, the uncoordinated charging load is added based on a user-specified average charging profile. This establishes the complete pre-project load profile.

The provided profiles as shown in the figure below come from the EV project. The EV Project collected and analyzed real-world EV charging data to characterize EV use and owner behavior. Data from the EV Project are used to create EV charging profiles based on different charging schemes.

EV project infrastructure data from 2012 (Quarter 3 and Quarter 4 only) and 2013 (Quarter 1 through Quarter 4) were aggregated to create typical weekday and weekend charging days for every city involved in the EV project. GridPIQ only leverages home charging data (rather than public chargers) because the majority of EV charging occurs in the home, and coordinated charging may not be practical at a public charging station. The EV Project reports "typical" weekday and weekend charging profile values for the minimum, maximum, and median percentage of connected charging units across all days. GridPIQ uses the median values for deriving the provided charging profiles. These quarterly home charging loads are averaged into hourly loads (from 15 minute intervals) and converted to kilowatt (kW). The aggregated hourly total EV charging data are then divided by the number of participating EVs to establish a per vehicle charging load. Next, the hourly per vehicle loads are averaged across all available quarters (2012-Q3:Q4, 2013-Q1:Q4) to create an overall representative hourly per vehicle load. These final hourly per vehicle weekday and weekend loads are created for each city in the EV Project.

Users provide the estimated number of electric vehicles to be added to the system. This quantity is used to scale both the per electric vehicle charging profiles and the maximum charge power in order to represent the entire fleet of electric vehicles.

To develop the pre-project electric vehicle charing load, the hourly EV charging load profiles (per vehicle, typical weekday and typical weekend) are first multiplied by the number of EVs. Next, the weekday and weekend profiles are appropriately replicated and concatenated for the project date range to form a total hourly uncoordinated EV-only load. The total pre-project load is simply the hourly sum of the pre-project load profile (original user input), and the uncoordinated EV-only load profile.

Users provide the effective maximum rate of charging (kW) for the average EV within the fleet of vehicles participating in coordinated charging. This input multiplied by the chosen number of EVs defines the effective maximum charging power for the fleet of EVs under consideration. For an individual EV, this value is limited by the power rating of the charging device or the charge acceptance rate of the EV's battery. A common battery acceptance rate is 3.3 kW, while charger power outputs can vary widely. The charging power of various well-known EVs and chargers are provided for context. Only a single charging power can be selected. Therefore, this parameter represents an estimated average value for the fleet of EVs.

The time series input to the valley-filling algorithm is the pre-project (\(p\)) load without EVs. It is assumed that each time series value is an average for the given hour, so translating from power (MW) to energy (MWh) is as simple as multiplying by one hour. The charging energy per EV for each day is determined by integrating the correct charge profile (weekday or weekend, as applicable), and it is multiplied by the number of EVs to obtain the energy to be valley-filled for that day. The per EV maximum charge power has been earlier specified by users, and it is multiplied by the number of EVs to obtain the maximum power input to the valley-filling algorithm. The tolerance (\(\epsilon\)) defaults to 0.001, which translates to 1 kWh in this case.

This algorithm implements valley-filling on a one-dimensional array between two given indices. Here, the input array is a time series of power values, and the amount of fill is the charging energy (power x time). The valley-filling algorithm will create a flat lake in the valleys if the applied contraints allow it to do so. The charging start and end times (provided by the user) constrain where in the one-dimensional array filling is allowed to occur. The max-power value defines the maximum amount by which the height of the valley can be increased. A finite value of max-power can result in the lake following the bottom of the valley instead of creating a flat surface. In the event that there is a large charging load and the allowable charge time is short or occurs when demand on the system is already high, new peaks may be created in the post-project load.

The appropriate fill height is determined by an iterative bisection method. During each iteration, the algorithm tracks any points in the array that cannot be further filled due to max-power restrictions. The iterations are stopped when the amount of energy used in filling and the amount of fill-energy specified by the user are within the specified tolerance, or when the maximum number of iterations have occurred. If the maximum number of iterations is not specified, it defaults to 100 for both of the while loops as depicted in the valley-filling algorithm process flowchart below.

Figure: Valley fill algorithm

Note that any day that does not start at midnight at the beginning or end of the given load profile will be excluded. The charge profile will not be added to the pre-project load and the valley-filling will not be performed on those partial days.