Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit cfb1d80f authored by Harald Martini's avatar Harald Martini
Browse files

add epto and el aux to IEPC_E, IEPC_S

parent 95031a3e
No related branches found
No related tags found
No related merge requests found
......@@ -656,29 +656,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
throw new VectoException("BusAux data set but no BusAux component found!");
}
} else {
var dcdc = new DCDCConverter(container, data.DCDCData.DCDCEfficiency);
es.Connect(dcdc);
var elAux = new ElectricAuxiliaries(container);
IEPTO epto = null;
if (data.PTO?.PTOCycle != null)
{
var pevPTOController = GetPEV_SHEVIdleController(data.PTO, container);
cycle.IdleController = pevPTOController;
var eptoAux = new EPTO(pevPTOController);
elAux.AddAuxiliary(eptoAux);
epto = eptoAux;
}
elAux.AddAuxiliaries(data.Aux.Where(x => x.ConnectToREESS && x.ID != Constants.Auxiliaries.IDs.Cond));
if (data.Aux.Any(aux => aux.ID == Constants.Auxiliaries.IDs.Cond))
{
elAux.AddAuxiliary(new Conditioning(data.Aux.FirstOrDefault(aux => aux.ID == Constants.Auxiliaries.IDs.Cond), epto));
}
dcdc.Connect(elAux);
dcdc.Initialize();
AddElectricAuxiliaries(data, container, es, cycle);
}
ctl.GenSet.AddComponent(GetElectricMachine(PowertrainPosition.GEN, data.ElectricMachinesData, container, es,
......@@ -688,6 +666,39 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
return container;
}
/// <summary>
/// Adds electric auxilaries and EPTO to the powertrain
/// </summary>
/// <param name="data"></param>
/// <param name="container"></param>
/// <param name="es"></param>
/// <param name="cycle"></param>
private static void AddElectricAuxiliaries(VectoRunData data, VehicleContainer container, ElectricSystem es,
DistanceBasedDrivingCycle cycle)
{
var dcdc = new DCDCConverter(container, data.DCDCData.DCDCEfficiency);
es.Connect(dcdc);
var elAux = new ElectricAuxiliaries(container);
IEPTO epto = null;
if (data.PTO?.PTOCycle != null) {
var pevPTOController = GetPEV_SHEVIdleController(data.PTO, container);
cycle.IdleController = pevPTOController;
var eptoAux = new EPTO(pevPTOController);
elAux.AddAuxiliary(eptoAux);
epto = eptoAux;
}
elAux.AddAuxiliaries(data.Aux.Where(x => x.ConnectToREESS && x.ID != Constants.Auxiliaries.IDs.Cond));
if (data.Aux.Any(aux => aux.ID == Constants.Auxiliaries.IDs.Cond)) {
elAux.AddAuxiliary(new Conditioning(data.Aux.FirstOrDefault(aux => aux.ID == Constants.Auxiliaries.IDs.Cond),
epto));
}
dcdc.Connect(elAux);
dcdc.Initialize();
}
/// <summary>
......@@ -788,7 +799,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
if (data.BusAuxiliaries != null) {
if (!data.BusAuxiliaries.ElectricalUserInputsConfig.ConnectESToREESS) {
throw new VectoException("BusAux must be supplied from REESS!");
}
......@@ -802,33 +812,34 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
es.Connect(dcdc);
em.BusAux = busAux;
} else {
var dcdc = new DCDCConverter(container, data.DCDCData.DCDCEfficiency);
es.Connect(dcdc);
var elAux = new ElectricAuxiliaries(container);
IEPTO epto = null;
if (data.PTO?.PTOCycle != null)
{
var pevPTOController = GetPEV_SHEVIdleController(data.PTO, container);
cycle.IdleController = pevPTOController;
var eptoAux = new EPTO(pevPTOController);
elAux.AddAuxiliary(eptoAux);
epto = eptoAux;
}
elAux.AddAuxiliaries(data.Aux.Where(x => x.ConnectToREESS && x.ID != Constants.Auxiliaries.IDs.Cond));
if (data.Aux.Any(aux => aux.ID == Constants.Auxiliaries.IDs.Cond)) {
elAux.AddAuxiliary(new Conditioning(data.Aux.FirstOrDefault(aux => aux.ID == Constants.Auxiliaries.IDs.Cond), epto));
}
AddElectricAuxiliaries(data, container, es, cycle);
//var dcdc = new DCDCConverter(container, data.DCDCData.DCDCEfficiency);
// es.Connect(dcdc);
//var elAux = new ElectricAuxiliaries(container);
//IEPTO epto = null;
//if (data.PTO?.PTOCycle != null)
//{
// var pevPTOController = GetPEV_SHEVIdleController(data.PTO, container);
// cycle.IdleController = pevPTOController;
// var eptoAux = new EPTO(pevPTOController);
// elAux.AddAuxiliary(eptoAux);
// epto = eptoAux;
//}
//elAux.AddAuxiliaries(data.Aux.Where(x => x.ConnectToREESS && x.ID != Constants.Auxiliaries.IDs.Cond));
//if (data.Aux.Any(aux => aux.ID == Constants.Auxiliaries.IDs.Cond)) {
// elAux.AddAuxiliary(new Conditioning(data.Aux.FirstOrDefault(aux => aux.ID == Constants.Auxiliaries.IDs.Cond), epto));
//}
dcdc.Connect(elAux);
//dcdc.Connect(elAux);
dcdc.Initialize();
//dcdc.Initialize();
}
......@@ -999,6 +1010,8 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
busAux.DCDCConverter = dcdc;
es.Connect(dcdc);
em.BusAux = busAux;
} else {
AddElectricAuxiliaries(data, container, es, cycle);
}
return container;
......@@ -1092,12 +1105,17 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
busAux.DCDCConverter = dcdc;
es.Connect(dcdc);
em.BusAux = busAux;
} else {
AddElectricAuxiliaries(data, container, es, cycle);
}
ctl.GenSet.AddComponent(GetElectricMachine(PowertrainPosition.GEN, data.ElectricMachinesData, container, es, ctl))
.AddComponent(engine, idleController)
.AddAuxiliaries(container, data);
return container;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment