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 022652d9 authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

Merge branch 'feature/VECTO-1190-d-m-heavy-busesK' into feature/VECTO_GUI

parents 257ad6e3 6d77595d
Branches
Tags
No related merge requests found
Showing
with 55 additions and 11 deletions
......@@ -27,6 +27,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public static readonly string QUALIFIED_XSD_TYPE = XMLHelper.CombineNamespace(NAMESPACE_URI.NamespaceName, XSD_TYPE);
private XmlNode _resultsNode;
private IList<IResult> _results;
public XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01(XmlNode resultsNode) : base(resultsNode)
{
......@@ -39,7 +40,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
public IList<IResult> Results
{
get { return ReadResults(); }
get { return _results ?? (_results = ReadResults()); }
}
......
......@@ -31,6 +31,7 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using TUGraz.VectoCommon.BusAuxiliaries;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
......@@ -213,6 +214,7 @@ namespace TUGraz.VectoCore.InputData.Impl
public IList<IResult> Results { get; internal set; }
}
[DebuggerDisplay("{ResultStatus} | {VehicleGroup} {Mission}")]
public class Result : IResult
{
public string ResultStatus { get; internal set; }
......
......@@ -76,7 +76,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
protected override void CretateTCFirstGearATPowerSplit(GearData gearData, uint i, ShiftPolygon shiftPolygon)
{
gearData.TorqueConverterRatio = 1;
gearData.TorqueConverterGearLossMap = TransmissionLossMapReader.Create(GearEfficiencyIndirectGear, 1, string.Format("TCGear {0}", i + 1));
//gearData.TorqueConverterGearLossMap = TransmissionLossMapReader.Create(GearEfficiencyIndirectGear, 1, string.Format("TCGear {0}", i + 1));
gearData.TorqueConverterGearLossMap = TransmissionLossMapReader.Create(1.0, 1, string.Format("TCGear {0}", i + 1));
gearData.TorqueConverterShiftPolygon = shiftPolygon;
}
......
......@@ -180,7 +180,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
var primaryResult = InputDataProvider.PrimaryVehicleData.GetResult(
simulationRunData.Mission.BusParameter.BusGroup, simulationRunData.Mission.MissionType, fuelMode,
simulationRunData.VehicleData.Loading);
if (primaryResult == null) {
if (primaryResult == null || !primaryResult.ResultStatus.Equals("success")) {
throw new VectoException(
"Failed to find results in PrimaryVehicleReport for vehicle group: {0}, mission: {1}, fuel mode: '{2}', payload: {3}. Make sure PIF and completed vehicle data match!",
simulationRunData.Mission.BusParameter.BusGroup, simulationRunData.Mission.MissionType, fuelMode,
......
......@@ -241,7 +241,10 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl
return operatingPoint;
} catch (VectoException ve) {
Log.Warn(ve, "TorqueConverter: Failed to find operating point for DragPower {0}", engineResponse.DragPower);
var engineSpeed = VectoMath.Max(DataBus.EngineIdleSpeed * 1.001, 0.8 * DataBus.EngineSpeed);
//var engineSpeed = VectoMath.Max(DataBus.EngineIdleSpeed * 1.001, 0.8 * DataBus.EngineSpeed);
var engineSpeed = DataBus.DrivingAction == DrivingAction.Brake
? DataBus.EngineIdleSpeed * 1.001
: VectoMath.Max(DataBus.EngineIdleSpeed * 1.001, 0.8 * DataBus.EngineSpeed);
var retVal = FindValidTorqueConverterOperatingPoint(
absTime, dt, outAngularVelocity, engineSpeed,
......
......@@ -409,7 +409,8 @@ namespace TUGraz.VectoCore.OutputData.XML
case VectoRun.Status.Canceled:
case VectoRun.Status.Aborted:
return new object[] {
new XElement(tns + "Error", resultEntry.Error)
new XElement(tns + "Error", resultEntry.Error),
new XElement(tns + "ErrorDetails", resultEntry.StackTrace),
};
default: throw new ArgumentOutOfRangeException();
}
......
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<pif:VectoOutputPrimaryVehicle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationOutput:PrimaryVehicleInformation:HeavyBus:v0.1" xmlns:pif="urn:tugraz:ivt:VectoAPI:DeclarationOutput:PrimaryVehicleInformation" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:PrimaryVehicleInformation https://webgate.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoOutputPrimaryVehicleInformation.xsd">
<pif:Data xsi:type="PrimaryVehicleHeavyBusDataType" id="PIF-4547e7655ef846a59ce4">
<Vehicle xsi:type="VehiclePIFType">
......@@ -486,7 +486,7 @@
</Fuel>
<CO2 unit="g/km">695.0</CO2>
</Result>
<Result status="success">
<Result status="error">
<VehicleGroup>P34SD</VehicleGroup>
<Mission>Coach</Mission>
<SimulationParameters>
......@@ -495,12 +495,16 @@
<PassengerCount>44.98</PassengerCount>
<FuelMode>single fuel mode</FuelMode>
</SimulationParameters>
<!-- Test using PIF where not all results are present
<Fuel type="Diesel CI">
<EnergyConsumption unit="MJ/km">9.96560</EnergyConsumption>
</Fuel>
<CO2 unit="g/km">730.5</CO2>
-->
<Error>20 (Coach _P40DD_ReferenceLoad) - absTime: 7535.2269 [s], distance: 130338.3598 [m], dt: 0.6304 [s], v: 0.0141 [m/s], Gear: 1 | DrivingActionAccelerate: Failed to find operating point</Error>
<ErrorDetails>String</ErrorDetails>
</Result>
<Result status="success">
<Result status="error">
<VehicleGroup>P34DD</VehicleGroup>
<Mission>Interurban</Mission>
<SimulationParameters>
......@@ -509,12 +513,16 @@
<PassengerCount>24.48</PassengerCount>
<FuelMode>single fuel mode</FuelMode>
</SimulationParameters>
<!-- Test using PIF where not all results are present
<Fuel type="Diesel CI">
<EnergyConsumption unit="MJ/km">14.24030</EnergyConsumption>
</Fuel>
<CO2 unit="g/km">1043.8</CO2>
-->
<Error>20 (Coach _P40DD_ReferenceLoad) - absTime: 7535.2269 [s], distance: 130338.3598 [m], dt: 0.6304 [s], v: 0.0141 [m/s], Gear: 1 | DrivingActionAccelerate: Failed to find operating point</Error>
<ErrorDetails>String</ErrorDetails>
</Result>
<Result status="success">
<Result status="error">
<VehicleGroup>P34DD</VehicleGroup>
<Mission>Interurban</Mission>
<SimulationParameters>
......@@ -523,12 +531,16 @@
<PassengerCount>97.92</PassengerCount>
<FuelMode>single fuel mode</FuelMode>
</SimulationParameters>
<!-- Test using PIF where not all results are present
<Fuel type="Diesel CI">
<EnergyConsumption unit="MJ/km">16.77091</EnergyConsumption>
</Fuel>
<CO2 unit="g/km">1229.3</CO2>
-->
<Error>20 (Coach _P40DD_ReferenceLoad) - absTime: 7535.2269 [s], distance: 130338.3598 [m], dt: 0.6304 [s], v: 0.0141 [m/s], Gear: 1 | DrivingActionAccelerate: Failed to find operating point</Error>
<ErrorDetails>String</ErrorDetails>
</Result>
<Result status="success">
<Result status="error">
<VehicleGroup>P34DD</VehicleGroup>
<Mission>Coach</Mission>
<SimulationParameters>
......@@ -551,10 +563,14 @@
<PassengerCount>65.28</PassengerCount>
<FuelMode>single fuel mode</FuelMode>
</SimulationParameters>
<!-- Test using PIF where not all results are present
<Fuel type="Diesel CI">
<EnergyConsumption unit="MJ/km">11.34890</EnergyConsumption>
</Fuel>
<CO2 unit="g/km">831.9</CO2>
-->
<Error>20 (Coach _P40DD_ReferenceLoad) - absTime: 7535.2269 [s], distance: 130338.3598 [m], dt: 0.6304 [s], v: 0.0141 [m/s], Gear: 1 | DrivingActionAccelerate: Failed to find operating point</Error>
<ErrorDetails>String</ErrorDetails>
</Result>
</Results>
<ApplicationInformation>
......
......@@ -3787,6 +3787,9 @@
<Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.6_Buses\PIF-heavyBus-sample.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.6_Buses\primary_heavyBus group P39_40_nonSmart_ESS.RSLT_PIF.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="TestData\XML\XMLReaderDeclaration\SchemaVersion2.6_Buses\vecto_vehicle-medium_lorryFWD-sample.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
......
......@@ -28,6 +28,10 @@ namespace TUGraz.VectoCore.Tests.XML
private const string vehilcePIFExample =
"TestData/XML/XMLReaderDeclaration/SchemaVersion2.6_Buses/PIF-heavyBus-sample.xml";
private const string vehiclePIFExampleWithErrors =
@"TestData\XML\XMLReaderDeclaration\SchemaVersion2.6_Buses\primary_heavyBus group P39_40_nonSmart_ESS.RSLT_PIF.xml"
;
protected IXMLInputDataReader xmlInputReader;
private IKernel _kernel;
......@@ -42,6 +46,19 @@ namespace TUGraz.VectoCore.Tests.XML
}
[TestCase]
public void TestReadPIFReportWithErrors()
{
var reader = XmlReader.Create(vehiclePIFExampleWithErrors);
var inputDataProvider = xmlInputReader.Create(reader) as IPrimaryVehicleInformationInputDataProvider;
Assert.AreEqual("error", inputDataProvider.ResultsInputData.Status);
Assert.AreEqual(20, inputDataProvider.ResultsInputData.Results.Count);
Assert.AreEqual("error", inputDataProvider.ResultsInputData.Results[19].ResultStatus);
}
[TestCase]
public void TestPrimaryVehicleBusData()
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment