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

Skip to content
Snippets Groups Projects
Commit 17cd23d0 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

renamed ConvertToMegaJoulePerKilometer

parent 2e48c240
No related branches found
No related tags found
No related merge requests found
...@@ -61,6 +61,7 @@ namespace TUGraz.VectoCommon.Utils ...@@ -61,6 +61,7 @@ namespace TUGraz.VectoCommon.Utils
return self.OrderBy(x => x).SequenceEqual(other.OrderBy(x => x)); return self.OrderBy(x => x).SequenceEqual(other.OrderBy(x => x));
} }
} }
return true; return true;
} }
...@@ -148,11 +149,13 @@ namespace TUGraz.VectoCommon.Utils ...@@ -148,11 +149,13 @@ namespace TUGraz.VectoCommon.Utils
if (!predicate(self[i])) if (!predicate(self[i]))
break; break;
} }
if (i == 0) { if (i == 0) {
i = 1; i = 1;
} else if (i == self.Length) { } else if (i == self.Length) {
i--; i--;
} }
return Tuple.Create(self[i - 1], self[i]); return Tuple.Create(self[i - 1], self[i]);
} }
...@@ -173,6 +176,7 @@ namespace TUGraz.VectoCommon.Utils ...@@ -173,6 +176,7 @@ namespace TUGraz.VectoCommon.Utils
if (!e.MoveNext()) { if (!e.MoveNext()) {
throw new InvalidOperationException("Sequence is empty."); throw new InvalidOperationException("Sequence is empty.");
} }
var min = e.Current; var min = e.Current;
var minProjection = projectionToComparable(e.Current); var minProjection = projectionToComparable(e.Current);
...@@ -183,6 +187,7 @@ namespace TUGraz.VectoCommon.Utils ...@@ -183,6 +187,7 @@ namespace TUGraz.VectoCommon.Utils
minProjection = currentProjection; minProjection = currentProjection;
} }
} }
return min; return min;
} }
} }
...@@ -194,6 +199,7 @@ namespace TUGraz.VectoCommon.Utils ...@@ -194,6 +199,7 @@ namespace TUGraz.VectoCommon.Utils
if (!e.MoveNext()) { if (!e.MoveNext()) {
throw new InvalidOperationException("Sequence is empty."); throw new InvalidOperationException("Sequence is empty.");
} }
var max = e.Current; var max = e.Current;
var maxProjection = projectionToComparable(e.Current); var maxProjection = projectionToComparable(e.Current);
...@@ -204,6 +210,7 @@ namespace TUGraz.VectoCommon.Utils ...@@ -204,6 +210,7 @@ namespace TUGraz.VectoCommon.Utils
maxProjection = currentProjection; maxProjection = currentProjection;
} }
} }
return max; return max;
} }
} }
...@@ -240,5 +247,38 @@ namespace TUGraz.VectoCommon.Utils ...@@ -240,5 +247,38 @@ namespace TUGraz.VectoCommon.Utils
{ {
return Enumerable.Repeat(element, count); return Enumerable.Repeat(element, count);
} }
/// <summary>
/// Deconstruct an IEnumerable into individual variables. (Tuple Unpacking)
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="values"></param>
/// <param name="item1"></param>
/// <param name="item2"></param>
/// <param name="item3"></param>
/// <param name="item4"></param>
/// <param name="item5"></param>
/// <param name="item6"></param>
/// <param name="item7"></param>
public static void Deconstruct<T>(this IEnumerable<T> values, out T item1, out T item2,
out T item3, out T item4, out T item5, out T item6, out T item7)
{
using (var enumerator = values.GetEnumerator()) {
enumerator.MoveNext();
item1 = enumerator.Current;
enumerator.MoveNext();
item2 = enumerator.Current;
enumerator.MoveNext();
item3 = enumerator.Current;
enumerator.MoveNext();
item4 = enumerator.Current;
enumerator.MoveNext();
item5 = enumerator.Current;
enumerator.MoveNext();
item6 = enumerator.Current;
enumerator.MoveNext();
item7 = enumerator.Current;
}
}
} }
} }
\ No newline at end of file
...@@ -237,7 +237,7 @@ namespace TUGraz.VectoCommon.Utils ...@@ -237,7 +237,7 @@ namespace TUGraz.VectoCommon.Utils
return new ConvertedSI(value.Value() / Kilo / Kilo, "MJ/kg"); return new ConvertedSI(value.Value() / Kilo / Kilo, "MJ/kg");
} }
public static ConvertedSI ConvertToKiloWattHourPerKilogramm(this JoulePerKilogramm value) public static ConvertedSI ConvertToKiloWattHourPerKilogram(this JoulePerKilogramm value)
{ {
return new ConvertedSI(value.Value() / SecondsPerHour / Kilo, "kWh/kg"); return new ConvertedSI(value.Value() / SecondsPerHour / Kilo, "kWh/kg");
} }
...@@ -252,7 +252,7 @@ namespace TUGraz.VectoCommon.Utils ...@@ -252,7 +252,7 @@ namespace TUGraz.VectoCommon.Utils
return new ConvertedSI(nlps.Value() * 60.0, "Nl/min"); return new ConvertedSI(nlps.Value() * 60.0, "Nl/min");
} }
public static ConvertedSI ConvertToMegaJouleperKilometer(this JoulePerMeter jpm) public static ConvertedSI ConvertToMegaJoulePerKilometer(this JoulePerMeter jpm)
{ {
return new ConvertedSI(jpm.Value() * 1e-3, "MJ/km"); return new ConvertedSI(jpm.Value() * 1e-3, "MJ/km");
} }
......
...@@ -192,7 +192,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO ...@@ -192,7 +192,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO
//retVal["BC_lowVentilation"] = ssmInputs.BoundaryConditions.LowVentilation.ConvertToPerHour().Value; //retVal["BC_lowVentilation"] = ssmInputs.BoundaryConditions.LowVentilation.ConvertToPerHour().Value;
retVal["BC_SpecificVentilationPower"] = ssmInputs.BoundaryConditions.SpecificVentilationPower.ConvertToWattHourPerCubicMeter().Value; retVal["BC_SpecificVentilationPower"] = ssmInputs.BoundaryConditions.SpecificVentilationPower.ConvertToWattHourPerCubicMeter().Value;
retVal["BC_AuxHeaterEfficiency"] = ssmInputs.BoundaryConditions.AuxHeaterEfficiency; retVal["BC_AuxHeaterEfficiency"] = ssmInputs.BoundaryConditions.AuxHeaterEfficiency;
retVal["BC_GCVDieselOrHeatingOil"] = ssmInputs.BoundaryConditions.GCVDieselOrHeatingOil.ConvertToKiloWattHourPerKilogramm().Value; retVal["BC_GCVDieselOrHeatingOil"] = ssmInputs.BoundaryConditions.GCVDieselOrHeatingOil.ConvertToKiloWattHourPerKilogram().Value;
retVal["BC_MaxTemperatureDeltaForLowFloorBusses"] = ssmInputs.BoundaryConditions.MaxTemperatureDeltaForLowFloorBusses.AsDegCelsius; retVal["BC_MaxTemperatureDeltaForLowFloorBusses"] = ssmInputs.BoundaryConditions.MaxTemperatureDeltaForLowFloorBusses.AsDegCelsius;
retVal["BC_MaxPossibleBenefitFromTechnologyList"] = ssmInputs.BoundaryConditions.MaxPossibleBenefitFromTechnologyList; retVal["BC_MaxPossibleBenefitFromTechnologyList"] = ssmInputs.BoundaryConditions.MaxPossibleBenefitFromTechnologyList;
retVal["BC_UValue"] = ssmInputs.BoundaryConditions.UValue.Value(); retVal["BC_UValue"] = ssmInputs.BoundaryConditions.UValue.Value();
......
...@@ -259,23 +259,23 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport ...@@ -259,23 +259,23 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport
new XElement( new XElement(
tns + XMLNames.Report_Results_FuelConsumption, tns + XMLNames.Report_Results_FuelConsumption,
new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/km"), new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/km"),
fcEnergy.ConvertToMegaJouleperKilometer().ToMinSignificantDigits(3, 1)), fcEnergy.ConvertToMegaJoulePerKilometer().ToMinSignificantDigits(3, 1)),
new XElement( new XElement(
tns + XMLNames.Report_Results_FuelConsumption, tns + XMLNames.Report_Results_FuelConsumption,
new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/t-km"), new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/t-km"),
(fcEnergy.ConvertToMegaJouleperKilometer() / specificResult.Payload.ConvertToTon()) (fcEnergy.ConvertToMegaJoulePerKilometer() / specificResult.Payload.ConvertToTon())
.ToMinSignificantDigits(3, 1)), .ToMinSignificantDigits(3, 1)),
specificResult.CargoVolume > 0 specificResult.CargoVolume > 0
? new XElement( ? new XElement(
tns + XMLNames.Report_Results_FuelConsumption, tns + XMLNames.Report_Results_FuelConsumption,
new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/m³-km"), new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/m³-km"),
(fcEnergy.ConvertToMegaJouleperKilometer() / specificResult.CargoVolume.Value()).ToMinSignificantDigits(3, 1)) (fcEnergy.ConvertToMegaJoulePerKilometer() / specificResult.CargoVolume.Value()).ToMinSignificantDigits(3, 1))
: null, : null,
specificResult.PassengerCount.HasValue && specificResult.PassengerCount.Value > 0 specificResult.PassengerCount.HasValue && specificResult.PassengerCount.Value > 0
? new XElement( ? new XElement(
tns + XMLNames.Report_Results_FuelConsumption, tns + XMLNames.Report_Results_FuelConsumption,
new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/p-km"), new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/p-km"),
(fcEnergy.ConvertToMegaJouleperKilometer() / specificResult.PassengerCount.Value).ToMinSignificantDigits(3, 1)) (fcEnergy.ConvertToMegaJoulePerKilometer() / specificResult.PassengerCount.Value).ToMinSignificantDigits(3, 1))
: null : null
); );
if (fuelData.FuelDensity != null) { if (fuelData.FuelDensity != null) {
......
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