@sh.add_function(dsp, outputs=['drive_battery_model'])
def define_drive_battery_model(
service_battery_model, drive_battery_load, dcdc_converter_efficiency,
initial_drive_battery_state_of_charge, drive_battery_capacity,
drive_battery_r0, drive_battery_ocv, drive_battery_n_parallel_cells,
drive_battery_n_series_cells):
"""
Define the drive battery current model.
:param service_battery_model:
Service battery model.
:type service_battery_model: ServiceBatteryModel
:param dcdc_converter_efficiency:
DC/DC converter efficiency [-].
:type dcdc_converter_efficiency: float
:param drive_battery_load:
Drive electric load [kW].
:type drive_battery_load: float
:param initial_drive_battery_state_of_charge:
Initial state of charge of the drive battery [%].
:type initial_drive_battery_state_of_charge: float
:param drive_battery_capacity:
Drive battery capacity [Ah].
:type drive_battery_capacity: float
:param drive_battery_r0:
Drive battery resistance [ohm].
:type drive_battery_r0: float
:param drive_battery_ocv:
Drive battery open circuit voltage [V].
:type drive_battery_ocv: float
:param drive_battery_n_parallel_cells:
Number of battery cells in parallel [-].
:type drive_battery_n_parallel_cells: int
:param drive_battery_n_series_cells:
Number of battery cells in series [-].
:type drive_battery_n_series_cells: int
:return:
Drive battery current model.
:rtype: DriveBatteryModel
"""
return DriveBatteryModel(
service_battery_model, drive_battery_load,
initial_drive_battery_state_of_charge, drive_battery_capacity,
dcdc_converter_efficiency, drive_battery_r0, drive_battery_ocv,
drive_battery_n_parallel_cells, drive_battery_n_series_cells
)