コード例 #1
0
        '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)
コード例 #2
0
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)
コード例 #3
0
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])