Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 353dcbaf authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

updating colums in mod file: allow adding fuel type, sumData: remove SoC columns

parent a72f8c3e
Branches
Tags
No related merge requests found
...@@ -115,32 +115,32 @@ namespace TUGraz.VectoCore.Models.Simulation.Data ...@@ -115,32 +115,32 @@ namespace TUGraz.VectoCore.Models.Simulation.Data
/// <summary> /// <summary>
/// [g/h] Fuel consumption from FC map.. /// [g/h] Fuel consumption from FC map..
/// </summary> /// </summary>
[ModalResultField(typeof(SI), name: "FC-Map", caption: "FC-Map [g/h]", outputFactor: 3600 * 1000)] FCMap, [ModalResultField(typeof(SI), name: "FC-Map", caption: "FC-Map{0} [g/h]", outputFactor: 3600 * 1000)] FCMap,
/// <summary> /// <summary>
/// [g/h] Fuel consumption after correction for different NCV in VECTO Engine and VECTO sim. (Based on FC.) /// [g/h] Fuel consumption after correction for different NCV in VECTO Engine and VECTO sim. (Based on FC.)
/// </summary> /// </summary>
[ModalResultField(typeof(SI), name: "FC-NCVc", caption: "FC-NCVc [g/h]", outputFactor: 3600 * 1000)] FCNCVc, [ModalResultField(typeof(SI), name: "FC-NCVc", caption: "FC-NCVc{0} [g/h]", outputFactor: 3600 * 1000)] FCNCVc,
/// <summary> /// <summary>
/// [g/h] Fuel consumption after WHTC Correction. (Based on FC-AUXc.) /// [g/h] Fuel consumption after WHTC Correction. (Based on FC-AUXc.)
/// </summary> /// </summary>
[ModalResultField(typeof(SI), name: "FC-WHTCc", caption: "FC-WHTCc [g/h]", outputFactor: 3600 * 1000)] FCWHTCc, [ModalResultField(typeof(SI), name: "FC-WHTCc", caption: "FC-WHTCc{0} [g/h]", outputFactor: 3600 * 1000)] FCWHTCc,
/// <summary> /// <summary>
/// [g/h] Fuel consumption after smart auxiliary correction. /// [g/h] Fuel consumption after smart auxiliary correction.
/// </summary> /// </summary>
[ModalResultField(typeof(SI), name: "FC-AAUX", caption: "FC-AAUX [g/h]", outputFactor: 3600 * 1000)] FCAAUX, [ModalResultField(typeof(SI), name: "FC-AAUX", caption: "FC-AAUX{0} [g/h]", outputFactor: 3600 * 1000)] FCAAUX,
/// <summary> ///// <summary>
/// [g/h] Fuel consumption after correction for ADAS technologies. (Based on FC-AAUXc.) ///// [g/h] Fuel consumption after correction for ADAS technologies. (Based on FC-AAUXc.)
/// </summary> ///// </summary>
[ModalResultField(typeof(SI), name: "FC-ADAS", caption: "FC-ADAS [g/h]", outputFactor: 3600 * 1000)] FCADAS, //[ModalResultField(typeof(SI), name: "FC-ADAS", caption: "FC-ADAS{0} [g/h]", outputFactor: 3600 * 1000)] FCADAS,
/// <summary> /// <summary>
/// [g/h] Fuel consumption after WHTC Correction. (Based on FC-ADAS.) /// [g/h] Fuel consumption after WHTC Correction. (Based on FC-ADAS.)
/// </summary> /// </summary>
[ModalResultField(typeof(SI), name: "FC-Final", caption: "FC-Final [g/h]", outputFactor: 3600 * 1000)] FCFinal, [ModalResultField(typeof(SI), name: "FC-Final_mod", caption: "FC-Final_mod{0} [g/h]", outputFactor: 3600 * 1000)] FCFinal,
/// <summary> /// <summary>
/// [km] Travelled distance. /// [km] Travelled distance.
......
...@@ -155,6 +155,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -155,6 +155,7 @@ namespace TUGraz.VectoCore.OutputData
public interface ICorrectedModalData public interface ICorrectedModalData
{ {
WattSecond WorkESSMissing { get; }
WattSecond WorkWHREl { get; } WattSecond WorkWHREl { get; }
WattSecond WorkWHRElMech { get; } WattSecond WorkWHRElMech { get; }
WattSecond WorkWHRMech { get; } WattSecond WorkWHRMech { get; }
...@@ -185,16 +186,16 @@ namespace TUGraz.VectoCore.OutputData ...@@ -185,16 +186,16 @@ namespace TUGraz.VectoCore.OutputData
KilogramPerSecond FC_WHR_CORR_H { get; } KilogramPerSecond FC_WHR_CORR_H { get; }
KilogramPerSecond FC_AUXHTR_H { get; } KilogramPerSecond FC_AUXHTR_H { get; }
KilogramPerSecond FC_AUXHTR_H_CORR { get; } KilogramPerSecond FC_AUXHTR_H_CORR { get; }
KilogramPerSecond FC_REESS_SOC_H { get; } //KilogramPerSecond FC_REESS_SOC_H { get; }
KilogramPerSecond FC_REESS_SOC_CORR_H { get; } //KilogramPerSecond FC_REESS_SOC_CORR_H { get; }
KilogramPerSecond FC_FINAL_H { get; } KilogramPerSecond FC_FINAL_H { get; }
KilogramPerMeter FC_WHR_CORR_KM { get; } KilogramPerMeter FC_WHR_CORR_KM { get; }
KilogramPerMeter FC_BusAux_PS_CORR_KM { get; } KilogramPerMeter FC_BusAux_PS_CORR_KM { get; }
KilogramPerMeter FC_BusAux_ES_CORR_KM { get; } KilogramPerMeter FC_BusAux_ES_CORR_KM { get; }
KilogramPerMeter FC_AUXHTR_KM { get; } KilogramPerMeter FC_AUXHTR_KM { get; }
KilogramPerMeter FC_AUXHTR_KM_CORR { get; } KilogramPerMeter FC_AUXHTR_KM_CORR { get; }
KilogramPerMeter FC_REESS_SOC_KM { get; } //KilogramPerMeter FC_REESS_SOC_KM { get; }
KilogramPerMeter FC_REESS_SOC_CORR_KM { get; } //KilogramPerMeter FC_REESS_SOC_CORR_KM { get; }
KilogramPerMeter FC_ESS_KM { get; } KilogramPerMeter FC_ESS_KM { get; }
KilogramPerMeter FC_ESS_CORR_KM { get; } KilogramPerMeter FC_ESS_CORR_KM { get; }
......
...@@ -20,7 +20,12 @@ namespace TUGraz.VectoCore.OutputData ...@@ -20,7 +20,12 @@ namespace TUGraz.VectoCore.OutputData
public ICorrectedModalData ApplyCorrection(IModalDataContainer modData, VectoRunData runData) public ICorrectedModalData ApplyCorrection(IModalDataContainer modData, VectoRunData runData)
{ {
var r = new CorrectedModalData(); var essParams = runData.DriverData.EngineStopStart;
var r = new CorrectedModalData {
UtilityFactorDriving = essParams.UtilityFactorDriving,
UtilityFactorStandstill = essParams.UtilityFactorStandstill
};
var duration = modData.Duration; var duration = modData.Duration;
var distance = modData.Distance; var distance = modData.Distance;
...@@ -49,7 +54,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -49,7 +54,7 @@ namespace TUGraz.VectoCore.OutputData
SetAuxHeaterDemand(modData, r, duration); SetAuxHeaterDemand(modData, r, duration);
r.DeltaEReessMech = 0.SI<WattSecond>(); //r.DeltaEReessMech = 0.SI<WattSecond>();
//SetReesCorrectionDemand(modData, runData, r); //SetReesCorrectionDemand(modData, runData, r);
var kilogramCO2PerMeter = 0.SI<KilogramPerMeter>(); var kilogramCO2PerMeter = 0.SI<KilogramPerMeter>();
...@@ -80,7 +85,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -80,7 +85,7 @@ namespace TUGraz.VectoCore.OutputData
{ {
var duration = modData.Duration; var duration = modData.Duration;
var distance = modData.Distance; var distance = modData.Distance;
var essParams = runData.DriverData.EngineStopStart; //var essParams = runData.DriverData.EngineStopStart;
var engFuel = runData.EngineData.Fuels.First(x => x.FuelData.Equals(fuel)); var engFuel = runData.EngineData.Fuels.First(x => x.FuelData.Equals(fuel));
var fcIceIdle = engFuel.ConsumptionMap.GetFuelConsumptionValue( var fcIceIdle = engFuel.ConsumptionMap.GetFuelConsumptionValue(
...@@ -94,8 +99,6 @@ namespace TUGraz.VectoCore.OutputData ...@@ -94,8 +99,6 @@ namespace TUGraz.VectoCore.OutputData
runData.BusAuxiliaries?.PneumaticUserInputsConfig.CompressorMap runData.BusAuxiliaries?.PneumaticUserInputsConfig.CompressorMap
.Interpolate(runData.EngineData.IdleSpeed); .Interpolate(runData.EngineData.IdleSpeed);
var f = new FuelConsumptionCorrection { var f = new FuelConsumptionCorrection {
Fuel = fuel, Fuel = fuel,
Distance = distance != null && distance.IsGreater(0) ? distance : null, Distance = distance != null && distance.IsGreater(0) ? distance : null,
...@@ -105,26 +108,24 @@ namespace TUGraz.VectoCore.OutputData ...@@ -105,26 +108,24 @@ namespace TUGraz.VectoCore.OutputData
FcModSum = modData.TotalFuelConsumption(ModalResultField.FCFinal, fuel), FcModSum = modData.TotalFuelConsumption(ModalResultField.FCFinal, fuel),
FcESS_EngineStart = engLine * modData.WorkEngineStart(), FcESS_EngineStart = engLine * modData.WorkEngineStart(),
FcESS_AuxStandstill_ICEOff = r.EnergyAuxICEOffStandstill * engLine * FcESS_AuxStandstill_ICEOff = r.EnergyAuxICEOffStandstill_UF * engLine ,
essParams.UtilityFactorStandstill, FcESS_AuxStandstill_ICEOn = r.EnergyAuxICEOnStandstill_UF * engLine +
FcESS_AuxStandstill_ICEOn = fcIceIdle * r.ICEOffTimeStandstill * (1 - r.UtilityFactorStandstill),
r.EnergyAuxICEOnStandstill * engLine * (1 - essParams.UtilityFactorStandstill) +
fcIceIdle * r.ICEOffTimeStandstill * (1 - essParams.UtilityFactorStandstill),
FcESS_AuxDriving_ICEOff = r.EnergyAuxICEOffDriving * engLine * essParams.UtilityFactorDriving, FcESS_AuxDriving_ICEOff = r.EnergyAuxICEOffDriving_UF * engLine,
FcESS_AuxDriving_ICEOn = r.EnergyAuxICEOnDriving * engLine * (1 - essParams.UtilityFactorDriving) + FcESS_AuxDriving_ICEOn = r.EnergyAuxICEOnDriving_UF * engLine +
fcIceIdle * r.ICEOffTimeDriving * (1 - essParams.UtilityFactorDriving), fcIceIdle * r.ICEOffTimeDriving * (1 - r.UtilityFactorDriving),
FcESS_DCDCMissing = r.EnergyDCDCMissing * engLine, FcESS_DCDCMissing = r.EnergyDCDCMissing * engLine,
FcBusAuxPSAirDemand = engLine * r.WorkBusAuxPSCorr, FcBusAuxPSAirDemand = engLine * r.WorkBusAuxPSCorr,
FcBusAuxPSDragICEOffStandstill = comp == null FcBusAuxPSDragICEOffStandstill = comp == null
? 0.SI<Kilogram>() ? 0.SI<Kilogram>()
: comp.PowerOff * r.ICEOffTimeStandstill * engLine * (1 - essParams.UtilityFactorStandstill), : comp.PowerOff * r.ICEOffTimeStandstill * engLine * (1 - r.UtilityFactorStandstill),
FcBusAuxPSDragICEOffDriving = comp == null FcBusAuxPSDragICEOffDriving = comp == null
? 0.SI<Kilogram>() ? 0.SI<Kilogram>()
: comp.PowerOff * r.ICEOffTimeDriving * engLine * (1 - essParams.UtilityFactorDriving), : comp.PowerOff * r.ICEOffTimeDriving * engLine * (1 - r.UtilityFactorDriving),
FcREESSSoc = r.DeltaEReessMech * engLine, //FcREESSSoc = r.DeltaEReessMech * engLine,
FcBusAuxEs = engLine * r.WorkBusAuxESMech, FcBusAuxEs = engLine * r.WorkBusAuxESMech,
FcWHR = engLine * r.WorkWHR, FcWHR = engLine * r.WorkWHR,
FcAuxHtr = 0.SI<Kilogram>() FcAuxHtr = 0.SI<Kilogram>()
...@@ -247,6 +248,14 @@ namespace TUGraz.VectoCore.OutputData ...@@ -247,6 +248,14 @@ namespace TUGraz.VectoCore.OutputData
} }
//public WattSecond WorkESS { get; set; } //public WattSecond WorkESS { get; set; }
public WattSecond WorkESSMissing
{
get
{
return EnergyAuxICEOffStandstill_UF + EnergyAuxICEOffDriving_UF + EnergyAuxICEOnDriving_UF +
EnergyAuxICEOnStandstill_UF;
}
}
public WattSecond WorkWHREl { get; set; } public WattSecond WorkWHREl { get; set; }
public WattSecond WorkWHRElMech { get; set; } public WattSecond WorkWHRElMech { get; set; }
public WattSecond WorkWHRMech { get; set; } public WattSecond WorkWHRMech { get; set; }
...@@ -286,19 +295,40 @@ namespace TUGraz.VectoCore.OutputData ...@@ -286,19 +295,40 @@ namespace TUGraz.VectoCore.OutputData
public Second ICEOffTimeStandstill { get; set; } public Second ICEOffTimeStandstill { get; set; }
public WattSecond EnergyAuxICEOffStandstill { get; set; } public WattSecond EnergyAuxICEOffStandstill { get; set; }
public WattSecond EnergyAuxICEOffStandstill_UF {get
{
return EnergyAuxICEOffStandstill * UtilityFactorStandstill;
} }
public double UtilityFactorStandstill { get; set; }
public WattSecond EnergyAuxICEOnStandstill { get; set; } public WattSecond EnergyAuxICEOnStandstill { get; set; }
public WattSecond EnergyAuxICEOnStandstill_UF
{
get { return EnergyAuxICEOnStandstill * (1 - UtilityFactorStandstill); }
}
public Watt AvgAuxPowerICEOnStandstill => ICEOffTimeStandstill.IsEqual(0) ? 0.SI<Watt>() : EnergyAuxICEOnStandstill / ICEOffTimeStandstill; public Watt AvgAuxPowerICEOnStandstill => ICEOffTimeStandstill.IsEqual(0) ? 0.SI<Watt>() : EnergyAuxICEOnStandstill / ICEOffTimeStandstill;
public Second ICEOffTimeDriving { get; set; } public Second ICEOffTimeDriving { get; set; }
public WattSecond EnergyAuxICEOffDriving { get; set; } public WattSecond EnergyAuxICEOffDriving { get; set; }
public WattSecond EnergyAuxICEOffDriving_UF { get { return EnergyAuxICEOffDriving * UtilityFactorDriving; } }
public double UtilityFactorDriving { get; set; }
public WattSecond EnergyAuxICEOnDriving { get; set; } public WattSecond EnergyAuxICEOnDriving { get; set; }
public WattSecond EnergyAuxICEOnDriving_UF { get
{
return EnergyAuxICEOnDriving * (1 - UtilityFactorDriving);
} }
public Watt AvgAuxPowerICEOnDriving => ICEOffTimeDriving.IsEqual(0) ? 0.SI<Watt>() : EnergyAuxICEOnDriving / ICEOffTimeDriving; public Watt AvgAuxPowerICEOnDriving => ICEOffTimeDriving.IsEqual(0) ? 0.SI<Watt>() : EnergyAuxICEOnDriving / ICEOffTimeDriving;
public WattSecond EnergyDCDCMissing { get; set; } public WattSecond EnergyDCDCMissing { get; set; }
public NormLiter CorrectedAirDemand { get; set; } public NormLiter CorrectedAirDemand { get; set; }
public NormLiter DeltaAir { get; set; } public NormLiter DeltaAir { get; set; }
public WattSecond DeltaEReessMech { get; set; } //public WattSecond DeltaEReessMech { get; set; }
#endregion #endregion
} }
...@@ -334,7 +364,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -334,7 +364,7 @@ namespace TUGraz.VectoCore.OutputData
} }
public Kilogram FcBusAuxEs { get; set; } public Kilogram FcBusAuxEs { get; set; }
public Kilogram FcWHR { get; set; } public Kilogram FcWHR { get; set; }
public Kilogram FcREESSSoc { get; set; } //public Kilogram FcREESSSoc { get; set; }
public Kilogram FcAuxHtr { get; set; } public Kilogram FcAuxHtr { get; set; }
...@@ -343,9 +373,9 @@ namespace TUGraz.VectoCore.OutputData ...@@ -343,9 +373,9 @@ namespace TUGraz.VectoCore.OutputData
public Kilogram FcBusAuxPsCorr => FcEssCorr + FcBusAuxPs; public Kilogram FcBusAuxPsCorr => FcEssCorr + FcBusAuxPs;
public Kilogram FcBusAuxEsCorr => FcBusAuxPsCorr + FcBusAuxEs; public Kilogram FcBusAuxEsCorr => FcBusAuxPsCorr + FcBusAuxEs;
public Kilogram FcWHRCorr => FcBusAuxEsCorr + FcWHR; public Kilogram FcWHRCorr => FcBusAuxEsCorr + FcWHR;
public Kilogram FcREESSSoCCorr => FcWHRCorr + FcREESSSoc; //public Kilogram FcREESSSoCCorr => FcWHRCorr + FcREESSSoc;
public Kilogram FcAuxHtrCorr => FcREESSSoCCorr + FcAuxHtr; public Kilogram FcAuxHtrCorr => FcWHRCorr + FcAuxHtr;
public Kilogram FcFinal => FcAuxHtrCorr; public Kilogram FcFinal => FcAuxHtrCorr;
...@@ -360,12 +390,12 @@ namespace TUGraz.VectoCore.OutputData ...@@ -360,12 +390,12 @@ namespace TUGraz.VectoCore.OutputData
public KilogramPerSecond FC_WHR_CORR_H => Duration != null ? (FcWHRCorr / Duration) : null; public KilogramPerSecond FC_WHR_CORR_H => Duration != null ? (FcWHRCorr / Duration) : null;
public KilogramPerSecond FC_AUXHTR_H => Duration != null ? (FcAuxHtr / Duration) : null; public KilogramPerSecond FC_AUXHTR_H => Duration != null ? (FcAuxHtr / Duration) : null;
public KilogramPerSecond FC_AUXHTR_H_CORR => Duration != null ? (FcAuxHtrCorr / Duration) : null; public KilogramPerSecond FC_AUXHTR_H_CORR => Duration != null ? (FcAuxHtrCorr / Duration) : null;
public KilogramPerSecond FC_REESS_SOC_H => Duration != null ? FcREESSSoc / Duration : null; //public KilogramPerSecond FC_REESS_SOC_H => Duration != null ? FcREESSSoc / Duration : null;
public KilogramPerSecond FC_REESS_SOC_CORR_H => Duration != null ? (FcREESSSoCCorr / Duration) : null; //public KilogramPerSecond FC_REESS_SOC_CORR_H => Duration != null ? (FcREESSSoCCorr / Duration) : null;
public KilogramPerSecond FC_FINAL_H => Duration != null ? FcFinal / Duration : null; public KilogramPerSecond FC_FINAL_H => Duration != null ? FcFinal / Duration : null;
public KilogramPerMeter FC_REESS_SOC_KM => Distance != null ? FcREESSSoc / Distance : null; //public KilogramPerMeter FC_REESS_SOC_KM => Distance != null ? FcREESSSoc / Distance : null;
public KilogramPerMeter FC_REESS_SOC_CORR_KM => Distance != null ? (FcREESSSoCCorr / Distance) : null; //public KilogramPerMeter FC_REESS_SOC_CORR_KM => Distance != null ? (FcREESSSoCCorr / Distance) : null;
public KilogramPerMeter FC_ESS_KM => Distance != null ? (FcESS / Distance) : null; public KilogramPerMeter FC_ESS_KM => Distance != null ? (FcESS / Distance) : null;
public KilogramPerMeter FC_ESS_CORR_KM => Distance != null ? (FcEssCorr / Distance) : null; public KilogramPerMeter FC_ESS_CORR_KM => Distance != null ? (FcEssCorr / Distance) : null;
public KilogramPerMeter FC_WHR_CORR_KM => Distance != null ? (FcWHRCorr / Distance) : null; public KilogramPerMeter FC_WHR_CORR_KM => Distance != null ? (FcWHRCorr / Distance) : null;
......
...@@ -64,8 +64,8 @@ namespace TUGraz.VectoCore.OutputData ...@@ -64,8 +64,8 @@ namespace TUGraz.VectoCore.OutputData
Fields.FC_BusAux_PS_CORR_H, Fields.FC_BusAux_PS_CORR_KM, Fields.FC_BusAux_PS_CORR_H, Fields.FC_BusAux_PS_CORR_KM,
Fields.FC_BusAux_ES_CORR_H, Fields.FC_BusAux_ES_CORR_KM, Fields.FC_BusAux_ES_CORR_H, Fields.FC_BusAux_ES_CORR_KM,
Fields.FCWHR_H_CORR, Fields.FCWHR_KM_CORR, Fields.FCWHR_H_CORR, Fields.FCWHR_KM_CORR,
Fields.FC_HEV_SOC_H, Fields.FC_HEV_SOC_KM, //Fields.FC_HEV_SOC_H, Fields.FC_HEV_SOC_KM,
Fields.FC_HEV_SOC_CORR_H, Fields.FC_HEV_SOC_CORR_KM, //Fields.FC_HEV_SOC_CORR_H, Fields.FC_HEV_SOC_CORR_KM,
Fields.FC_AUXHTR_H, Fields.FC_AUXHTR_KM, Fields.FC_AUXHTR_H, Fields.FC_AUXHTR_KM,
Fields.FC_AUXHTR_H_CORR, Fields.FC_AUXHTR_KM_CORR, Fields.FC_AUXHTR_H_CORR, Fields.FC_AUXHTR_KM_CORR,
Fields.FCFINAL_H, Fields.FCFINAL_KM, Fields.FCFINAL_LITERPER100KM, Fields.FCFINAL_LITERPER100TKM, Fields.FCFINAL_H, Fields.FCFINAL_KM, Fields.FCFINAL_LITERPER100KM, Fields.FCFINAL_LITERPER100TKM,
...@@ -166,7 +166,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -166,7 +166,7 @@ namespace TUGraz.VectoCore.OutputData
Tuple.Create(Fields.TCU_MODEL, typeof(string)), Tuple.Create(Fields.TCU_MODEL, typeof(string)),
Tuple.Create(Fields.ADAS_TECHNOLOGY_COMBINATION, typeof(string)), Tuple.Create(Fields.ADAS_TECHNOLOGY_COMBINATION, typeof(string)),
Tuple.Create(Fields.PTO_TECHNOLOGY, typeof(string)), Tuple.Create(Fields.PTO_TECHNOLOGY, typeof(string)),
Tuple.Create(Fields.REESS_CAPACITY, typeof(string)), //Tuple.Create(Fields.REESS_CAPACITY, typeof(string)),
//Tuple.Create(PTO_OTHER_ELEMENTS, typeof(string)), //Tuple.Create(PTO_OTHER_ELEMENTS, typeof(string)),
}.Select(x => new DataColumn(x.Item1, x.Item2)).ToArray()); }.Select(x => new DataColumn(x.Item1, x.Item2)).ToArray());
...@@ -179,9 +179,9 @@ namespace TUGraz.VectoCore.OutputData ...@@ -179,9 +179,9 @@ namespace TUGraz.VectoCore.OutputData
Table.Columns.AddRange( Table.Columns.AddRange(
new[] { new[] {
Fields.CO2_KM, Fields.CO2_TKM, Fields.CO2_M3KM, /*Fields.CO2_PKM, */ Fields.P_WHEEL, Fields.P_WHEEL_POS, Fields.P_FCMAP, Fields.P_FCMAP_POS, Fields.CO2_KM, Fields.CO2_TKM, Fields.CO2_M3KM, /*Fields.CO2_PKM, */ Fields.P_WHEEL, Fields.P_WHEEL_POS, Fields.P_FCMAP, Fields.P_FCMAP_POS,
Fields.E_FCMAP_POS, Fields.E_FCMAP_NEG, Fields.E_POWERTRAIN_INERTIA, Fields.E_AUX, Fields.E_AUX_EL_HV, Fields.E_CLUTCH_LOSS, Fields.E_FCMAP_POS, Fields.E_FCMAP_NEG, Fields.E_POWERTRAIN_INERTIA, Fields.E_AUX, /*Fields.E_AUX_EL_HV,*/ Fields.E_CLUTCH_LOSS,
Fields.E_TC_LOSS, Fields.E_SHIFT_LOSS, Fields.E_GBX_LOSS, Fields.E_RET_LOSS, Fields.E_ANGLE_LOSS, Fields.E_TC_LOSS, Fields.E_SHIFT_LOSS, Fields.E_GBX_LOSS, Fields.E_RET_LOSS, Fields.E_ANGLE_LOSS,
Fields.E_AXL_LOSS, Fields.E_BRAKE, Fields.E_VEHICLE_INERTIA, Fields.E_WHEEL, Fields.E_AIR, Fields.E_ROLL, Fields.E_GRAD, Fields.E_AXL_LOSS, Fields.E_BRAKE, Fields.E_VEHICLE_INERTIA, Fields.E_WHEEL, Fields.E_AIR, Fields.E_ROLL, Fields.E_GRAD, Fields.E_AUX_ESS_missing,
Fields.AirConsumed, Fields.AirGenerated, Fields.E_PS_CompressorOff, Fields.E_PS_CompressorOn, Fields.AirConsumed, Fields.AirGenerated, Fields.E_PS_CompressorOff, Fields.E_PS_CompressorOn,
Fields.E_BusAux_ES_consumed, Fields.E_BusAux_ES_generated, Fields.Delta_E_BusAux_Battery, Fields.E_BusAux_ES_consumed, Fields.E_BusAux_ES_generated, Fields.Delta_E_BusAux_Battery,
Fields.E_BusAux_PS_corr, Fields.E_BusAux_ES_mech_corr, Fields.E_BusAux_PS_corr, Fields.E_BusAux_ES_mech_corr,
...@@ -436,8 +436,8 @@ namespace TUGraz.VectoCore.OutputData ...@@ -436,8 +436,8 @@ namespace TUGraz.VectoCore.OutputData
row[FcCol(Fields.FC_BusAux_PS_CORR_H, suffix)] = fuelConsumption.FC_BusAux_PS_CORR_H?.ConvertToGrammPerHour(); row[FcCol(Fields.FC_BusAux_PS_CORR_H, suffix)] = fuelConsumption.FC_BusAux_PS_CORR_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FC_BusAux_ES_CORR_H, suffix)] = fuelConsumption.FC_BusAux_ES_CORR_H?.ConvertToGrammPerHour(); row[FcCol(Fields.FC_BusAux_ES_CORR_H, suffix)] = fuelConsumption.FC_BusAux_ES_CORR_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FCWHR_H_CORR, suffix)] = fuelConsumption.FC_WHR_CORR_H?.ConvertToGrammPerHour(); row[FcCol(Fields.FCWHR_H_CORR, suffix)] = fuelConsumption.FC_WHR_CORR_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FC_HEV_SOC_CORR_H, suffix)] = fuelConsumption.FC_REESS_SOC_CORR_H?.ConvertToGrammPerHour(); //row[FcCol(Fields.FC_HEV_SOC_CORR_H, suffix)] = fuelConsumption.FC_REESS_SOC_CORR_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FC_HEV_SOC_H, suffix)] = fuelConsumption.FC_REESS_SOC_H?.ConvertToGrammPerHour(); //row[FcCol(Fields.FC_HEV_SOC_H, suffix)] = fuelConsumption.FC_REESS_SOC_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FC_AUXHTR_H, suffix)] = fuelConsumption.FC_AUXHTR_H?.ConvertToGrammPerHour(); row[FcCol(Fields.FC_AUXHTR_H, suffix)] = fuelConsumption.FC_AUXHTR_H?.ConvertToGrammPerHour();
row[FcCol(Fields.FC_AUXHTR_H_CORR, suffix)] = fuelConsumption.FC_AUXHTR_H_CORR?.ConvertToGrammPerHour(); row[FcCol(Fields.FC_AUXHTR_H_CORR, suffix)] = fuelConsumption.FC_AUXHTR_H_CORR?.ConvertToGrammPerHour();
...@@ -446,8 +446,8 @@ namespace TUGraz.VectoCore.OutputData ...@@ -446,8 +446,8 @@ namespace TUGraz.VectoCore.OutputData
row[FcCol(Fields.FCWHR_KM_CORR, suffix)] = fuelConsumption.FC_WHR_CORR_KM?.ConvertToGrammPerKiloMeter(); row[FcCol(Fields.FCWHR_KM_CORR, suffix)] = fuelConsumption.FC_WHR_CORR_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FC_BusAux_PS_CORR_KM, suffix)] = fuelConsumption.FC_BusAux_PS_CORR_KM?.ConvertToGrammPerKiloMeter(); row[FcCol(Fields.FC_BusAux_PS_CORR_KM, suffix)] = fuelConsumption.FC_BusAux_PS_CORR_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FC_BusAux_ES_CORR_KM, suffix)] = fuelConsumption.FC_BusAux_ES_CORR_KM?.ConvertToGrammPerKiloMeter(); row[FcCol(Fields.FC_BusAux_ES_CORR_KM, suffix)] = fuelConsumption.FC_BusAux_ES_CORR_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FC_HEV_SOC_CORR_KM, suffix)] = fuelConsumption.FC_REESS_SOC_CORR_KM?.ConvertToGrammPerKiloMeter(); //row[FcCol(Fields.FC_HEV_SOC_CORR_KM, suffix)] = fuelConsumption.FC_REESS_SOC_CORR_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FC_HEV_SOC_KM, suffix)] = fuelConsumption.FC_REESS_SOC_KM?.ConvertToGrammPerKiloMeter(); //row[FcCol(Fields.FC_HEV_SOC_KM, suffix)] = fuelConsumption.FC_REESS_SOC_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FC_AUXHTR_KM, suffix)] = fuelConsumption.FC_AUXHTR_KM?.ConvertToGrammPerKiloMeter(); row[FcCol(Fields.FC_AUXHTR_KM, suffix)] = fuelConsumption.FC_AUXHTR_KM?.ConvertToGrammPerKiloMeter();
row[FcCol(Fields.FC_AUXHTR_KM_CORR, suffix)] = fuelConsumption.FC_AUXHTR_KM_CORR?.ConvertToGrammPerKiloMeter(); row[FcCol(Fields.FC_AUXHTR_KM_CORR, suffix)] = fuelConsumption.FC_AUXHTR_KM_CORR?.ConvertToGrammPerKiloMeter();
...@@ -648,6 +648,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -648,6 +648,7 @@ namespace TUGraz.VectoCore.OutputData
row[Fields.E_AIR] = modData.WorkAirResistance().ConvertToKiloWattHour(); row[Fields.E_AIR] = modData.WorkAirResistance().ConvertToKiloWattHour();
row[Fields.E_ROLL] = modData.WorkRollingResistance().ConvertToKiloWattHour(); row[Fields.E_ROLL] = modData.WorkRollingResistance().ConvertToKiloWattHour();
row[Fields.E_GRAD] = modData.WorkRoadGradientResistance().ConvertToKiloWattHour(); row[Fields.E_GRAD] = modData.WorkRoadGradientResistance().ConvertToKiloWattHour();
row[Fields.E_AUX_ESS_missing] = modData.CorrectedModalData.WorkESSMissing.ConvertToKiloWattHour();
if (runData.Cycle.CycleType == CycleType.VTP) { if (runData.Cycle.CycleType == CycleType.VTP) {
row[Fields.E_WHEEL] = modData.WorkWheels().ConvertToKiloWattHour(); row[Fields.E_WHEEL] = modData.WorkWheels().ConvertToKiloWattHour();
} }
...@@ -732,10 +733,8 @@ namespace TUGraz.VectoCore.OutputData ...@@ -732,10 +733,8 @@ namespace TUGraz.VectoCore.OutputData
row[Fields.ADAS_TECHNOLOGY_COMBINATION] = data.ADAS != null ? DeclarationData.ADASCombinations.Lookup(data.ADAS, gbxType).ID : ""; row[Fields.ADAS_TECHNOLOGY_COMBINATION] = data.ADAS != null ? DeclarationData.ADASCombinations.Lookup(data.ADAS, gbxType).ID : "";
var cap = ""; //var cap = "";
//row[Fields.REESS_CAPACITY] = cap;
row[Fields.REESS_CAPACITY] = cap;
} }
private static void WriteAirdragData(AirdragData data, DataRow row) private static void WriteAirdragData(AirdragData data, DataRow row)
...@@ -1028,10 +1027,10 @@ namespace TUGraz.VectoCore.OutputData ...@@ -1028,10 +1027,10 @@ namespace TUGraz.VectoCore.OutputData
public const string FCESS_KM_CORR = "FC-ESS_Corr{0} [g/km]"; public const string FCESS_KM_CORR = "FC-ESS_Corr{0} [g/km]";
public const string FCWHR_H_CORR = "FC-WHR_Corr{0} [g/h]"; public const string FCWHR_H_CORR = "FC-WHR_Corr{0} [g/h]";
public const string FCWHR_KM_CORR = "FC-WHR_Corr{0} [g/km]"; public const string FCWHR_KM_CORR = "FC-WHR_Corr{0} [g/km]";
public const string FC_HEV_SOC_H = "FC-SoC{0} [g/h]"; //public const string FC_HEV_SOC_H = "FC-SoC{0} [g/h]";
public const string FC_HEV_SOC_KM = "FC-SoC{0} [g/km]"; //public const string FC_HEV_SOC_KM = "FC-SoC{0} [g/km]";
public const string FC_HEV_SOC_CORR_H = "FC-SoC_Corr{0} [g/h]"; //public const string FC_HEV_SOC_CORR_H = "FC-SoC_Corr{0} [g/h]";
public const string FC_HEV_SOC_CORR_KM = "FC-SoC_Corr{0} [g/km]"; //public const string FC_HEV_SOC_CORR_KM = "FC-SoC_Corr{0} [g/km]";
public const string FC_BusAux_PS_CORR_H = "FC-BusAux_PS_Corr{0} [g/h]"; public const string FC_BusAux_PS_CORR_H = "FC-BusAux_PS_Corr{0} [g/h]";
...@@ -1067,7 +1066,7 @@ namespace TUGraz.VectoCore.OutputData ...@@ -1067,7 +1066,7 @@ namespace TUGraz.VectoCore.OutputData
public const string E_AUX_FORMAT = "E_aux_{0} [kWh]"; public const string E_AUX_FORMAT = "E_aux_{0} [kWh]";
public const string E_AUX = "E_aux_sum [kWh]"; public const string E_AUX = "E_aux_sum [kWh]";
public const string E_AUX_EL_HV = "E_aux_el(HV) [kWh]"; //public const string E_AUX_EL_HV = "E_aux_el(HV) [kWh]";
public const string E_ICE_START = "E_ice_start [kWh]"; public const string E_ICE_START = "E_ice_start [kWh]";
public const string NUM_ICE_STARTS = "ice_starts [-]"; public const string NUM_ICE_STARTS = "ice_starts [-]";
...@@ -1110,6 +1109,8 @@ namespace TUGraz.VectoCore.OutputData ...@@ -1110,6 +1109,8 @@ namespace TUGraz.VectoCore.OutputData
public const string E_BusAux_HVAC_Mech = "E_BusAux_HVAC_mech [kWh]"; public const string E_BusAux_HVAC_Mech = "E_BusAux_HVAC_mech [kWh]";
public const string E_BusAux_HVAC_El = "E_BusAux_HVAC_el [kWh]"; public const string E_BusAux_HVAC_El = "E_BusAux_HVAC_el [kWh]";
public const string E_AUX_ESS_missing = "E_aux_ESS_missing [kWh]";
public const string SPECIFIC_FC = "Specific FC{0} [g/kWh] wheel pos."; public const string SPECIFIC_FC = "Specific FC{0} [g/kWh] wheel pos.";
public const string ACC = "a [m/s^2]"; public const string ACC = "a [m/s^2]";
...@@ -1184,34 +1185,34 @@ namespace TUGraz.VectoCore.OutputData ...@@ -1184,34 +1185,34 @@ namespace TUGraz.VectoCore.OutputData
public const string AVERAGE_POS_ACC = "a_avg_acc"; public const string AVERAGE_POS_ACC = "a_avg_acc";
public const string E_EM_DRIVE_FORMAT = "E_EM_{0}_drive [kWh]"; //public const string E_EM_DRIVE_FORMAT = "E_EM_{0}_drive [kWh]";
public const string E_EM_GENERATE_FORMAT = "E_EM_{0}_gen [kWh]"; //public const string E_EM_GENERATE_FORMAT = "E_EM_{0}_gen [kWh]";
public const string ETA_EM_DRIVE_FORMAT = "η_EM_{0}_drive"; //public const string ETA_EM_DRIVE_FORMAT = "η_EM_{0}_drive";
public const string ETA_EM_GEN_FORMAT = "η_EM_{0}_gen"; //public const string ETA_EM_GEN_FORMAT = "η_EM_{0}_gen";
public const string E_EM_Mot_DRIVE_FORMAT = "E_EM_{0}-em_drive [kWh]"; //public const string E_EM_Mot_DRIVE_FORMAT = "E_EM_{0}-em_drive [kWh]";
public const string E_EM_Mot_GENERATE_FORMAT = "E_EM_{0}-em_gen [kWh]"; //public const string E_EM_Mot_GENERATE_FORMAT = "E_EM_{0}-em_gen [kWh]";
public const string ETA_EM_Mot_DRIVE_FORMAT = "η_EM_{0}-em_drive"; //public const string ETA_EM_Mot_DRIVE_FORMAT = "η_EM_{0}-em_drive";
public const string ETA_EM_Mot_GEN_FORMAT = "η_EM_{0}-em_gen"; //public const string ETA_EM_Mot_GEN_FORMAT = "η_EM_{0}-em_gen";
public const string EM_AVG_SPEED_FORMAT = "n_EM_{0}-em_avg [rpm]"; //public const string EM_AVG_SPEED_FORMAT = "n_EM_{0}-em_avg [rpm]";
public const string E_EM_OFF_Loss_Format = "E_EM_{0}_off_loss [kWh]"; //public const string E_EM_OFF_Loss_Format = "E_EM_{0}_off_loss [kWh]";
public const string E_EM_LOSS_TRANSM_FORMAT = "E_EM_{0}_transm_loss [kWh]"; //public const string E_EM_LOSS_TRANSM_FORMAT = "E_EM_{0}_transm_loss [kWh]";
public const string E_EM_Mot_LOSS_FORMAT = "E_EM_{0}-em_loss [kWh]"; //public const string E_EM_Mot_LOSS_FORMAT = "E_EM_{0}-em_loss [kWh]";
public const string E_EM_LOSS_FORMAT = "E_EM_{0}_loss [kWh]"; //public const string E_EM_LOSS_FORMAT = "E_EM_{0}_loss [kWh]";
public const string E_EM_OFF_TIME_SHARE = "EM {0} off time share [%]"; //public const string E_EM_OFF_TIME_SHARE = "EM {0} off time share [%]";
public const string REESS_CAPACITY = "REESS Capacity"; //public const string REESS_CAPACITY = "REESS Capacity";
public const string REESS_StartSoC = "REESS Start SoC [%]"; //public const string REESS_StartSoC = "REESS Start SoC [%]";
public const string REESS_EndSoC = "REESS End SoC [%]"; //public const string REESS_EndSoC = "REESS End SoC [%]";
public const string REESS_DeltaEnergy = "ΔE_REESS [kWh]"; //public const string REESS_DeltaEnergy = "ΔE_REESS [kWh]";
public const string E_REESS_LOSS = "E_REESS_loss [kWh]"; //public const string E_REESS_LOSS = "E_REESS_loss [kWh]";
public const string E_REESS_T_chg = "E_REESS_T_chg [kWh]"; //public const string E_REESS_T_chg = "E_REESS_T_chg [kWh]";
public const string E_REESS_T_dischg = "E_REESS_T_dischg [kWh]"; //public const string E_REESS_T_dischg = "E_REESS_T_dischg [kWh]";
public const string E_REESS_int_chg = "E_REESS_int_chg [kWh]"; //public const string E_REESS_int_chg = "E_REESS_int_chg [kWh]";
public const string E_REESS_int_dischg = "E_REESS_int_dischg [kWh]"; //public const string E_REESS_int_dischg = "E_REESS_int_dischg [kWh]";
} }
} }
} }
...@@ -287,7 +287,7 @@ namespace TUGraz.VectoCore.Tests.Integration ...@@ -287,7 +287,7 @@ namespace TUGraz.VectoCore.Tests.Integration
// test fuel consumption not negative // test fuel consumption not negative
Assert.IsTrue( Assert.IsTrue(
modFile1Hz.Rows.Cast<DataRow>() modFile1Hz.Rows.Cast<DataRow>()
.All(r => r.ParseDouble(ModalResultField.FCWHTCc.GetShortCaption()).IsGreaterOrEqual(0)), .All(r => r.ParseDouble(string.Format(ModalResultField.FCWHTCc.GetShortCaption(), "")).IsGreaterOrEqual(0)),
"fuel consumption must not be negative."); "fuel consumption must not be negative.");
// last v_act entry must be the same as original // last v_act entry must be the same as original
......
...@@ -228,13 +228,15 @@ namespace TUGraz.VectoCore.Tests.Integration ...@@ -228,13 +228,15 @@ namespace TUGraz.VectoCore.Tests.Integration
var inputDataProvider = JSONInputDataFactory.ReadJsonJob(file); var inputDataProvider = JSONInputDataFactory.ReadJsonJob(file);
var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, fileWriter) { var factory = new SimulatorFactory(ExecutionMode.Declaration, inputDataProvider, fileWriter) {
WriteModalResults = true, WriteModalResults = true,
ActualModalData = true //ActualModalData = true
}; };
var jobContainer = new JobContainer(sumData); var jobContainer = new JobContainer(sumData);
jobContainer.AddRuns(factory); jobContainer.AddRuns(factory);
//jobContainer.Runs[4].RunWorkerAsync().Wait();
jobContainer.Execute(); jobContainer.Execute();
jobContainer.WaitFinished(); jobContainer.WaitFinished();
......
...@@ -171,6 +171,8 @@ namespace TUGraz.VectoCore.Tests.Reports ...@@ -171,6 +171,8 @@ namespace TUGraz.VectoCore.Tests.Reports
var E_auxICEOnStandstill = (P_on * T2).Value(); // 46054.609042105534 var E_auxICEOnStandstill = (P_on * T2).Value(); // 46054.609042105534
var E_auxICEOffStandstill = (P_off * T2).Value(); // 15351.536347368512 var E_auxICEOffStandstill = (P_off * T2).Value(); // 15351.536347368512
var E_auxESSMissing = E_auxICEOnStandstill * (1 - UF_ESS_Standstill) + E_auxICEOffStandstill * UF_ESS_Standstill;
var fcEssStandStillOff = E_auxICEOffStandstill * k_engline * UF_ESS_Standstill; // 0.0003034945726763096 var fcEssStandStillOff = E_auxICEOffStandstill * k_engline * UF_ESS_Standstill; // 0.0003034945726763096
var fcEssStandStillOn = var fcEssStandStillOn =
(E_auxICEOnStandstill * k_engline + (fcIdle * T2).Value()) * (1 - UF_ESS_Standstill); // 0.00400097222027925 (E_auxICEOnStandstill * k_engline + (fcIdle * T2).Value()) * (1 - UF_ESS_Standstill); // 0.00400097222027925
...@@ -185,6 +187,8 @@ namespace TUGraz.VectoCore.Tests.Reports ...@@ -185,6 +187,8 @@ namespace TUGraz.VectoCore.Tests.Reports
Assert.AreEqual(E_auxICEOnStandstill, corr.EnergyAuxICEOnStandstill.Value(), 1e-3); Assert.AreEqual(E_auxICEOnStandstill, corr.EnergyAuxICEOnStandstill.Value(), 1e-3);
Assert.AreEqual(E_auxICEOffStandstill, corr.EnergyAuxICEOffStandstill.Value(), 1e-3); Assert.AreEqual(E_auxICEOffStandstill, corr.EnergyAuxICEOffStandstill.Value(), 1e-3);
Assert.AreEqual(E_auxESSMissing, corr.WorkESSMissing.Value(), 1e-3);
Assert.AreEqual(0, corr.EnergyAuxICEOnDriving.Value(), 1e-3); Assert.AreEqual(0, corr.EnergyAuxICEOnDriving.Value(), 1e-3);
Assert.AreEqual(0, corr.EnergyAuxICEOffDriving.Value(), 1e-3); Assert.AreEqual(0, corr.EnergyAuxICEOffDriving.Value(), 1e-3);
...@@ -324,6 +328,8 @@ namespace TUGraz.VectoCore.Tests.Reports ...@@ -324,6 +328,8 @@ namespace TUGraz.VectoCore.Tests.Reports
var E_auxICEOnDriving = (P_on * T2).Value(); // 46054.609042105534; var E_auxICEOnDriving = (P_on * T2).Value(); // 46054.609042105534;
var E_auxICEOffDriving = (P_off * T2).Value(); // 15351.536347368512 var E_auxICEOffDriving = (P_off * T2).Value(); // 15351.536347368512
var E_auxESSMissing = E_auxICEOnDriving * (1 - UF_ESS_Driving) + E_auxICEOffDriving * UF_ESS_Driving;
var fcIdle = var fcIdle =
fuel.ConsumptionMap.GetFuelConsumption(0.SI<NewtonMeter>(), runData.EngineData.IdleSpeed).Value fuel.ConsumptionMap.GetFuelConsumption(0.SI<NewtonMeter>(), runData.EngineData.IdleSpeed).Value
.Value() * fuel.FuelConsumptionCorrectionFactor; // 0.0002929177777777778 .Value() * fuel.FuelConsumptionCorrectionFactor; // 0.0002929177777777778
...@@ -344,6 +350,8 @@ namespace TUGraz.VectoCore.Tests.Reports ...@@ -344,6 +350,8 @@ namespace TUGraz.VectoCore.Tests.Reports
Assert.AreEqual(E_auxICEOnDriving, corr.EnergyAuxICEOnDriving.Value(), 1e-3); Assert.AreEqual(E_auxICEOnDriving, corr.EnergyAuxICEOnDriving.Value(), 1e-3);
Assert.AreEqual(E_auxICEOffDriving, corr.EnergyAuxICEOffDriving.Value(), 1e-3); Assert.AreEqual(E_auxICEOffDriving, corr.EnergyAuxICEOffDriving.Value(), 1e-3);
Assert.AreEqual(E_auxESSMissing, corr.WorkESSMissing.Value(), 1e-3);
var f = corr.FuelCorrection[fuel.FuelData.FuelType] as FuelConsumptionCorrection; var f = corr.FuelCorrection[fuel.FuelData.FuelType] as FuelConsumptionCorrection;
Assert.AreEqual(0, f.FcESS_AuxStandstill_ICEOff.Value(), 1e-12); Assert.AreEqual(0, f.FcESS_AuxStandstill_ICEOff.Value(), 1e-12);
...@@ -486,6 +494,7 @@ namespace TUGraz.VectoCore.Tests.Reports ...@@ -486,6 +494,7 @@ namespace TUGraz.VectoCore.Tests.Reports
var E_auxICEOffStandstill = (P_off * T2).Value(); // 15351.536347368512 var E_auxICEOffStandstill = (P_off * T2).Value(); // 15351.536347368512
var E_ICEStart = (P_ICEStart * tStart).Value(); // 11525.53891554733 var E_ICEStart = (P_ICEStart * tStart).Value(); // 11525.53891554733
var E_auxESSMissing = E_auxICEOnStandstill * (1 - UF_ESS_Standstill) + E_auxICEOffStandstill * UF_ESS_Standstill;
var fcEssStandStillOff = E_auxICEOffStandstill * k_engline * UF_ESS_Standstill; // 0.0003034945726763096 var fcEssStandStillOff = E_auxICEOffStandstill * k_engline * UF_ESS_Standstill; // 0.0003034945726763096
var fcEssStandStillOn = var fcEssStandStillOn =
...@@ -503,6 +512,8 @@ namespace TUGraz.VectoCore.Tests.Reports ...@@ -503,6 +512,8 @@ namespace TUGraz.VectoCore.Tests.Reports
Assert.AreEqual(E_auxICEOffStandstill, corr.EnergyAuxICEOffStandstill.Value(), 1e-3); Assert.AreEqual(E_auxICEOffStandstill, corr.EnergyAuxICEOffStandstill.Value(), 1e-3);
Assert.AreEqual(E_ICEStart, modData.WorkEngineStart().Value()); Assert.AreEqual(E_ICEStart, modData.WorkEngineStart().Value());
Assert.AreEqual(E_auxESSMissing, corr.WorkESSMissing.Value(), 1e-3);
Assert.AreEqual(0, corr.EnergyAuxICEOnDriving.Value(), 1e-3); Assert.AreEqual(0, corr.EnergyAuxICEOnDriving.Value(), 1e-3);
Assert.AreEqual(0, corr.EnergyAuxICEOffDriving.Value(), 1e-3); Assert.AreEqual(0, corr.EnergyAuxICEOffDriving.Value(), 1e-3);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment