'minimum': 0, 'maximum': 500 } } limits_current_battery = { 'charge': { 'minimum': 0, 'maximum': 1000 }, 'discharge': { 'minimum': -1000, 'maximum': 0 } } power_profile_1, time_1 = power_profile.WltpProfile(specs, (1, )) t_wltp1 = electrical.Evolution(list(time_1)) p_wltp1 = electrical.Evolution(list(power_profile_1)) power_profile_2, time_2 = power_profile.WltpProfile(specs, (2, )) t_wltp2 = electrical.Evolution(list(time_2)) p_wltp2 = electrical.Evolution(list(power_profile_2)) power_profile_3, time_3 = power_profile.WltpProfile(specs, (3, )) t_wltp3 = electrical.Evolution(list(time_3)) p_wltp3 = electrical.Evolution(list(power_profile_3)) t_load = electrical.Evolution(list(range(10))) p_load = electrical.Evolution([1e5] * 10) t_end = electrical.Evolution(list(range(10))) p_end = electrical.Evolution([-2e4] * 10)
limits_voltage_module = {'charge': {'minimum': 1, 'maximum': 100}, 'discharge': {'minimum': 1, 'maximum': 100}} limits_current_module = {'charge': {'minimum': 0, 'maximum': 100}, 'discharge': {'minimum': -200, 'maximum': 0}} limits_voltage_battery = {'charge': {'minimum': 0, 'maximum': 1000}, 'discharge': {'minimum': 0, 'maximum': 500}} limits_current_battery = {'charge': {'minimum': 0, 'maximum': 1000}, 'discharge': {'minimum': -500, 'maximum': 0}} # ============================================================================= # Electrical Optimizer # ============================================================================= POWER_PROFILE1, TIME1 = power_profile.WltpProfile(VEHICLE_SPECS, (1, )) t_wltp1 = electrical.Evolution(list(TIME1)) p_wltp1 = electrical.Evolution(list(POWER_PROFILE1)) POWER_PROFILE2, TIME2 = power_profile.WltpProfile(VEHICLE_SPECS, (2, )) t_wltp2 = electrical.Evolution(list(TIME2)) p_wltp2 = electrical.Evolution(list(POWER_PROFILE2)) POWER_PROFILE3, TIME3 = power_profile.WltpProfile(VEHICLE_SPECS, (3, )) t_wltp3 = electrical.Evolution(list(TIME3)) p_wltp3 = electrical.Evolution(list(POWER_PROFILE3)) t_load = electrical.Evolution(list(range(10))) p_load = electrical.Evolution([1e5]*10) t_end = electrical.Evolution(list(range(10))) p_end = electrical.Evolution([-2e4]*10)
bms1 = electrical.BatteryManagementSystem(battery = b1, limits_voltage = {'charge': {'minimum': 0, 'maximum': 1000}, 'discharge': {'minimum': 0, 'maximum': 600}}, limits_current = {'charge': {'minimum': 0, 'maximum': 2000}, 'discharge': {'minimum': -500, 'maximum': 0}}) # plots = b1.concept_plot_data() # pdg = plot_data.plot_d3(plots[0]) VEHICLE_SPECS = {'SCx' : 1, 'Crr' : 0.01, 'mass' : 1300, 'powertrain_efficiency' : 0.7, 'charge_efficiency' : 0.5} POWER_PROFILE, TIME = power_profile.WltpProfile(VEHICLE_SPECS, (1, )) t_wltp = electrical.Evolution(list(TIME), name='t_wltp') p_wltp = electrical.Evolution(list(POWER_PROFILE)) t_load = electrical.Evolution(list(range(10))) p_load = electrical.Evolution([1e5]*10) t_end = electrical.Evolution(list(range(10))) p_end = electrical.Evolution([-2e4]*10) ce_end = electrical.CombinationEvolution(evolution1 = [t_end], evolution2 = [p_end]) ce_wltp = electrical.CombinationEvolution(evolution1 = [t_wltp], evolution2 = [p_wltp]) ce_load = electrical.CombinationEvolution(evolution1 = [t_load], evolution2 = [p_load])