CMS3 = electrical.CellManagementSystem(cell = Cell3)

Cell3.PlotSpecs(temperature=298.15)
Cell3.PlotSpecs(temperature=313.15)

# =============================================================================
# Cell definition
# =============================================================================

current = [-10]*4000 + [10]*1000

delta_t = 10
ineq_min_cell = []
ineq_max_cell = []
soc_m = 0.95*180000
results1 = {'cms': electrical.CellResult()}
internal_parameter_cell1 = electrical.InternalParameterCell()

for i in current:

    if i<-1e-6:
        usecase = 'discharge'
    else:
        usecase = 'charge'
    (i_min, i_max), (u_min, u_max) = CMS1.Ineq(soc_m, 298.15, usecase, False,
                                        delta_t, internal_parameter_cell1)
    current_new = min(i_max, i)
    current_new = max(i_min, current_new)
    current_p, voltage_p, soc_p, thermal_loss_p = CMS1.update(current_new, soc_m, 298.15,
                                                                 usecase, charger = False,
                                                                 delta_t = delta_t, results = results1,
Exemple #2
0
# Cell1.PlotSpecs(temperature=313.15)

# plots = Cell1.concept_plot_data()
# pdg = plot_data.plot_d3(plots[0])

# =============================================================================
# Cell definition
# =============================================================================

current = [10] * 1000 + [0] * 1000 + [10] * 1000 + [0] * 1000

delta_t = 1
ineq_min_cell = []
ineq_max_cell = []
soc_m = 0.005 * 180000
results = {'cms': elec.CellResult()}
internal_parameter_cell = elec.InternalParameterCell()
for i in current:
    if i < 0:
        usecase = 'discharge'
    else:
        usecase = 'charge'
    (i_min, i_max), (u_min, u_max) = cell_management_system.Ineq(
        soc_m, 298.15, usecase, False, delta_t, internal_parameter_cell)
    current_new = min(i_max, i)
    current_new = max(i_min, current_new)
    p_tuple = cell_management_system.update(
        current_new,
        soc_m,
        298.15,
        usecase,
Exemple #3
0
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])


load_bat = electrical.PowerProfile(soc_init = 0.05*180000, combination_evolutions = [ce_load],
                                   loop = True, soc_end = 0.95*180000,
                                  charger = True)
end_bat = electrical.PowerProfile(combination_evolutions = [ce_end],  loop = False,
                                  power_accuracy = 0.2, soc_init = 0.1*180000)
wltp_bat = electrical.PowerProfile(combination_evolutions = [ce_wltp],  loop = True,
                                  power_accuracy = 0.2, soc_init = 0.95*180000,
                                  max_loop = 1,
                                  soc_end = 0.1*180000, use_selection = False)

comb_profile_wltp = electrical.CombinationPowerProfile([wltp_bat], name='wltp_profil')
comb_profile_load = electrical.CombinationPowerProfile([load_bat], name='load_profil')
comb_profile_end = electrical.CombinationPowerProfile([end_bat], name='end_soc_profil')

power_pack_electric_simulator = electrical.PowerPackElectricSimulator(bms = bms1,
                  combination_profils = [comb_profile_load, comb_profile_wltp, comb_profile_end],
                  battery_results = [electrical.ElecBatteryResult()]*3,
                  module_results = [electrical.ElecModuleResult()]*3,
                  cell_results = [electrical.CellResult()]*3)

# valid_profil = power_pack_electric_simulator.Simulate()
Exemple #4
0
                                             'discharge': {
                                                 'minimum': -300,
                                                 'maximum': 0
                                             }
                                         })

plots = m1.concept_plot_data()

pdg = plot_data.plot_d3(plots[0])

current = [100] * 1000
delta_t = 10

results = {
    'mms': electrical.ElecModuleResult(),
    'cms': electrical.CellResult()
}
soc_m = 0.005 * 180000 * number_cell_serie * number_cell_parallel
internal_parameter_cell = electrical.InternalParameterCell()

for i in current:
    (i_min, i_max), (u_min, u_max) = mms1.Ineq(soc_m, 298.15, 'charge', True,
                                               delta_t,
                                               internal_parameter_cell)
    current_new = min(i_max, i)
    current_new = max(i_min, current_new)

    current, voltage, soc_p, thermal_loss_p = mms1.update(
        current_new,
        soc_m,
        298.15,