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
return self.OrderBy(x => x).SequenceEqual(other.OrderBy(x => x));
}
}
return true;
}
......@@ -148,11 +149,13 @@ namespace TUGraz.VectoCommon.Utils
if (!predicate(self[i]))
break;
}
if (i == 0) {
i = 1;
} else if (i == self.Length) {
i--;
}
return Tuple.Create(self[i - 1], self[i]);
}
......@@ -173,6 +176,7 @@ namespace TUGraz.VectoCommon.Utils
if (!e.MoveNext()) {
throw new InvalidOperationException("Sequence is empty.");
}
var min = e.Current;
var minProjection = projectionToComparable(e.Current);
......@@ -183,6 +187,7 @@ namespace TUGraz.VectoCommon.Utils
minProjection = currentProjection;
}
}
return min;
}
}
......@@ -194,6 +199,7 @@ namespace TUGraz.VectoCommon.Utils
if (!e.MoveNext()) {
throw new InvalidOperationException("Sequence is empty.");
}
var max = e.Current;
var maxProjection = projectionToComparable(e.Current);
......@@ -204,6 +210,7 @@ namespace TUGraz.VectoCommon.Utils
maxProjection = currentProjection;
}
}
return max;
}
}
......@@ -240,5 +247,38 @@ namespace TUGraz.VectoCommon.Utils
{
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
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");
}
......@@ -252,7 +252,7 @@ namespace TUGraz.VectoCommon.Utils
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");
}
......
......@@ -192,7 +192,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO
//retVal["BC_lowVentilation"] = ssmInputs.BoundaryConditions.LowVentilation.ConvertToPerHour().Value;
retVal["BC_SpecificVentilationPower"] = ssmInputs.BoundaryConditions.SpecificVentilationPower.ConvertToWattHourPerCubicMeter().Value;
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_MaxPossibleBenefitFromTechnologyList"] = ssmInputs.BoundaryConditions.MaxPossibleBenefitFromTechnologyList;
retVal["BC_UValue"] = ssmInputs.BoundaryConditions.UValue.Value();
......
......@@ -259,23 +259,23 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport
new XElement(
tns + XMLNames.Report_Results_FuelConsumption,
new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/km"),
fcEnergy.ConvertToMegaJouleperKilometer().ToMinSignificantDigits(3, 1)),
fcEnergy.ConvertToMegaJoulePerKilometer().ToMinSignificantDigits(3, 1)),
new XElement(
tns + XMLNames.Report_Results_FuelConsumption,
new XAttribute(XMLNames.Report_Results_Unit_Attr, "MJ/t-km"),
(fcEnergy.ConvertToMegaJouleperKilometer() / specificResult.Payload.ConvertToTon())
(fcEnergy.ConvertToMegaJoulePerKilometer() / specificResult.Payload.ConvertToTon())
.ToMinSignificantDigits(3, 1)),
specificResult.CargoVolume > 0
? new XElement(
tns + XMLNames.Report_Results_FuelConsumption,
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,
specificResult.PassengerCount.HasValue && specificResult.PassengerCount.Value > 0
? new XElement(
tns + XMLNames.Report_Results_FuelConsumption,
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
);
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