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

Skip to content
Snippets Groups Projects
Commit ea9c8164 authored by Harald Martini's avatar Harald Martini
Browse files

started implementation of PEV and S-HEV run data factories

parent 4b4fc88c
No related branches found
No related tags found
No related merge requests found
......@@ -152,7 +152,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
VectoRunData runData,
IShiftPolygonCalculator shiftPolygonCalc);
ShiftStrategyParameters CreateGearshiftData(GearboxData gbx, double axleRatio, PerSecond engineIdlingSpeed);
ShiftStrategyParameters CreateGearshiftData(double axleRatio, PerSecond engineIdlingSpeed,
GearboxType gearboxType, int gearsCount);
DriverData CreateDriverData(Segment segment);
......
......@@ -108,7 +108,9 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
}
protected override VectoRunData CreateVectoRunDataSpecific(Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, int? modeIdx)
protected override VectoRunData CreateVectoRunDataSpecific(Mission mission,
KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, int? modeIdx,
VectoRunData.OvcHevMode ovcMode = VectoRunData.OvcHevMode.NotApplicable)
{
var cycle = DeclarationData.CyclesCache.GetOrAdd(mission.MissionType, _ => DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false));
......@@ -193,7 +195,7 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
simulationRunData = CreateVectoRunDataGeneric(
primaryMission,
new KeyValuePair<LoadingType, Tuple<Kilogram, double?>>(loading.Key,
primaryMission.Loadings[loading.Key]),
primaryMission.Loadings[loading.Key]),
primarySegment, modeIdx);
var primaryResult = InputDataProvider.JobInputData.PrimaryVehicle.GetResult(
......@@ -219,7 +221,9 @@ namespace TUGraz.VectoMockup.Simulation.RundataFactories
}
}
}
protected override VectoRunData CreateVectoRunDataGeneric(Mission mission, KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, Segment primarySegment, int? modeIdx)
protected override VectoRunData CreateVectoRunDataGeneric(Mission mission,
KeyValuePair<LoadingType, Tuple<Kilogram, double?>> loading, Segment primarySegment, int? modeIdx,
VectoRunData.OvcHevMode ovcHevMode = VectoRunData.OvcHevMode.NotApplicable)
{
var cycle = DeclarationData.CyclesCache.GetOrAdd(mission.MissionType, _ => DrivingCycleDataReader.ReadFromStream(mission.CycleFile, CycleType.DistanceBased, "", false));
return new VectoRunData()
......
......@@ -285,6 +285,14 @@ namespace TUGraz.VectoCore.Models.Declaration
return null;
}
if (compressorSize == "not applicable") {
throw new VectoException($"SizeOfAirSupply: '{compressorSize}' invalid for compressor drive: '{pneumaticSupply.CompressorDrive}'");
}
var resource = GetCompressorResourceForSize(compressorSize);
var dragCurveFactorClutch = 1.0;
......
......@@ -47,7 +47,7 @@ public class PrimaryBusSimulation
TestCase(@"PrimaryBus/P-HEV/PrimaryCoach_P2_HEV_AMT_BD_BCVC_stefan.xml", 0, TestName = "2nd Amendment PrimaryBus Coach P-HEV P2 stpr"),
TestCase(@"PrimaryBus/P-HEV/PrimaryCoach_P2_HEV_AMT_NoAlt.xml", 0, TestName = "2nd Amendment PrimaryBus Coach P-HEV P2 no_alt stpr"),
TestCase(@"PrimaryBus/P-HEV/PrimaryCoach_P2_HEV_AMT_Notappl.xml", 0, TestName = "2nd Amendment PrimaryBus Coach P-HEV P2 notAppl stpr"),
TestCase(@"PrimaryBus/P-HEV/PrimaryCoach_P2_HEV_AMT_CM_BCVC.xml", 7, TestName = "2nd Amendment PrimaryBus Coach P-HEV P2 AMT_CM_BCVC stpr, InterUrban_Ref_Load"),
TestCase(@"PrimaryBus/P-HEV/PrimaryCoach_P2_HEV_Base_AMT.xml", 0, TestName = "2nd Amendment PrimaryBus Coach P-HEV P2 Base AMT"),
......@@ -120,7 +120,7 @@ public class PrimaryBusSimulation
var fileWriter = new FileOutputWriter(filePath);
var simFactory = _kernel.Get<ISimulatorFactoryFactory>();
var runsFactory = simFactory.Factory(ExecutionMode.Declaration, dataProvider, fileWriter, null, null);
//runsFactory.WriteModalResults = true;
runsFactory.WriteModalResults = true;
//runsFactory.SerializeVectoRunData = true;
var jobContainer = new JobContainer(new SummaryDataContainer(fileWriter)) { };
//var jobContainer = new JobContainer(new MockSumWriter()) { };
......@@ -130,10 +130,16 @@ public class PrimaryBusSimulation
} else {
var run = runsFactory.SimulationRuns().Skip(runIdx).First();
jobContainer.AddRun(run);
if (dataProvider.JobInputData.Vehicle.OvcHev) {
TestContext.Progress.WriteLine($"{run.CycleName} - {run.RunSuffix}");
if (dataProvider.JobInputData.Vehicle.OvcHev) {
var run2 = runsFactory.SimulationRuns().Skip(runIdx + 1).First();
jobContainer.AddRun(run2);
TestContext.Progress.WriteLine($"{run2.CycleName} - {run2.RunSuffix}");
Assert.AreEqual(run.CycleName, run2.CycleName);
}
}
PrintRuns(jobContainer, 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