diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index 10459d33353766a2bb6bfe62c7aa981f019310d7..f21789bd2e01ed1fde5d3d9b1467d37d5aa9af2e 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -102,7 +102,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl } var container = new VehicleContainer(ExecutionMode.Engineering, modData, _sumWriter) { RunData = data }; - //container.ModalData.AddAuxiliary(Constants.Auxiliaries.Cycle); var cycle = new PowertrainDrivingCycle(container, data.Cycle); var engine = new EngineOnlyCombustionEngine(container, data.EngineData); @@ -221,8 +220,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl default: throw new ArgumentOutOfRangeException("AuxiliaryDemandType", auxData.DemandType.ToString()); } - //container.ModalData?.AddAuxiliary(id); - //container.SumData?.AddAuxiliary(id); } engine.Connect(aux.Port()); } @@ -232,23 +229,15 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl var aux = CreateSpeedDependentAuxiliaries(data, container); var engineFan = new EngineFanAuxiliary(data.FanDataVTP.FanCoefficients.Take(3).ToArray(), data.FanDataVTP.FanDiameter); aux.AddCycle(Constants.Auxiliaries.IDs.Fan, cycleEntry => engineFan.PowerDemand(cycleEntry.FanSpeed)); - //container.ModalData.AddAuxiliary(Constants.Auxiliaries.IDs.Fan); - //container.SumData?.AddAuxiliary(Constants.Auxiliaries.IDs.Fan); if (data.PTO != null) { aux.AddConstant(Constants.Auxiliaries.IDs.PTOTransmission, DeclarationData.PTOTransmission.Lookup(data.PTO.TransmissionType).PowerDemand, Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOTransmission); - //container.ModalData.AddAuxiliary(Constants.Auxiliaries.IDs.PTOTransmission, - // Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOTransmission); - //container.SumData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTOTransmission); aux.Add(Constants.Auxiliaries.IDs.PTOConsumer, (n, absTime, dt, dryRun) => container.DrivingCycleInfo.PTOActive ? null : data.PTO.LossMap.GetTorqueLoss(n) * n, Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOConsumer); - //container.ModalData.AddAuxiliary(Constants.Auxiliaries.IDs.PTOConsumer, - // Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOConsumer); - //container.SumData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTOConsumer); } engine.Connect(aux.Port()); @@ -1446,9 +1435,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl default: throw new ArgumentOutOfRangeException("AuxiliaryDemandType", auxData.DemandType.ToString()); } - - //container.ModalData?.AddAuxiliary(id); - //container.SumData?.AddAuxiliary(id); } RoadSweeperAuxiliary rdSwpAux = null; @@ -1462,8 +1448,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl aux.Add(Constants.Auxiliaries.IDs.PTORoadsweeping, (nEng, absTime, dt, dryRun) => rdSwpAux.PowerDemand(nEng, absTime, dt, dryRun), Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTORoadsweeping); - //container.ModalData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTORoadsweeping, Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTORoadsweeping); - //container.SumData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTORoadsweeping); } if (data.ExecutionMode == ExecutionMode.Engineering && @@ -1476,14 +1460,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl aux.Add(Constants.Auxiliaries.IDs.PTODuringDrive, (nEng, absTime, dt, dryRun) => ptoDrive.PowerDemand(nEng, absTime, dt, dryRun), Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTODuringDrive); - //container.ModalData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTODuringDrive, Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTODuringDrive); - //container.SumData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTODuringDrive); } if (data.PTO != null) { aux.AddConstant(Constants.Auxiliaries.IDs.PTOTransmission, DeclarationData.PTOTransmission.Lookup(data.PTO.TransmissionType).PowerDemand, Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOTransmission); - //container.ModalData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTOTransmission, - // Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOTransmission); aux.Add(Constants.Auxiliaries.IDs.PTOConsumer, (n, absTime, dt, dryRun) => @@ -1492,9 +1472,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl ? null : data.PTO.LossMap.GetTorqueLoss(n) * n, Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOConsumer); - //container.ModalData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTOConsumer, - // Constants.Auxiliaries.PowerPrefix + Constants.Auxiliaries.IDs.PTOConsumer); - //container.ModalData?.AddAuxiliary(Constants.Auxiliaries.IDs.PTOConsumer); } return aux; @@ -1518,8 +1495,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl default: throw new ArgumentOutOfRangeException("AuxiliaryDemandType", auxData.DemandType.ToString()); } - - //container.ModalData?.AddAuxiliary(id); } return aux; @@ -1529,14 +1504,14 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl { var aux = new EngineAuxiliary(container); var auxData = data.Aux.ToArray(); - AddSwitchingAux(aux, container.ModalData, Constants.Auxiliaries.IDs.HeatingVentilationAirCondition, auxData); - AddSwitchingAux(aux, container.ModalData, Constants.Auxiliaries.IDs.SteeringPump, auxData); - AddSwitchingAux(aux, container.ModalData, Constants.Auxiliaries.IDs.ElectricSystem, auxData); - AddSwitchingAux(aux, container.ModalData, Constants.Auxiliaries.IDs.PneumaticSystem, auxData); + AddSwitchingAux(aux, Constants.Auxiliaries.IDs.HeatingVentilationAirCondition, auxData); + AddSwitchingAux(aux, Constants.Auxiliaries.IDs.SteeringPump, auxData); + AddSwitchingAux(aux, Constants.Auxiliaries.IDs.ElectricSystem, auxData); + AddSwitchingAux(aux, Constants.Auxiliaries.IDs.PneumaticSystem, auxData); return aux; } - private static void AddSwitchingAux(EngineAuxiliary aux, IModalDataContainer modData, string auxId, VectoRunData.AuxData[] auxData) + private static void AddSwitchingAux(EngineAuxiliary aux, string auxId, VectoRunData.AuxData[] auxData) { var urban = auxData.First(x => x.ID == auxId && x.MissionType == MissionType.UrbanDelivery); var rural = auxData.First(x => x.ID == auxId && x.MissionType == MissionType.RegionalDelivery); @@ -1553,7 +1528,6 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl return urban.PowerDemand; }); - modData.AddAuxiliary(auxId); } private static IGearbox GetGearbox(IVehicleContainer container, IShiftStrategy strategy = null) diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineAuxiliary.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineAuxiliary.cs index 3f29f36024d7ab66fc913108347e314305c9addd..0e91ba3ee5cef3c514a44ea0f2a6baba34320e4f 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineAuxiliary.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/EngineAuxiliary.cs @@ -70,6 +70,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl /// </summary> /// <param name="auxId"></param> /// <param name="powerDemand"></param> + /// <param name="columnName"></param> public void AddConstant(string auxId, Watt powerDemand, string columnName = null) { Add(auxId, (nEng, absTime, dt, dryRun) => powerDemand, columnName); @@ -84,17 +85,18 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl Add(auxId, (nEng, absTime, dt, dryRun) => DataBus.DrivingCycleInfo.CycleData.LeftSample.AdditionalAuxPowerDemand); } - public void AddCycle(string auxId, Func<DrivingCycleData.DrivingCycleEntry, Watt> powerLossFunc) + public void AddCycle(string auxId, Func<DrivingCycleData.DrivingCycleEntry, Watt> powerLossFunc, string columnName = null) { - Add(auxId, (nEng, absTime, dt, dryRun) => powerLossFunc(DataBus.DrivingCycleInfo.CycleData.LeftSample)); + Add(auxId, (nEng, absTime, dt, dryRun) => powerLossFunc(DataBus.DrivingCycleInfo.CycleData.LeftSample), columnName); } - + /// <summary> /// Adds an auxiliary with a function returning the power demand based on the engine speed. /// </summary> /// <param name="auxId"></param> /// <param name="powerLossFunction"></param> + /// <param name="columnName"></param> public void Add(string auxId, Func<PerSecond, Second, Second, bool, Watt> powerLossFunction, string columnName = null) { Auxiliaries[auxId] = powerLossFunction;