diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index ff4ade95c5a86923bbf1f22e2082958dbc539fcf..ede11954b97567aaa7cd458a57c89469303b858b 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -983,7 +983,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl public bool GearEngaged(Second absTime) { - throw new VectoException("No Gearbox available."); + return true; } #endregion diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringJobWriter.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringJobWriter.cs index 728fb832ba1de491f648553607cc1990f7746db7..804a4021da90244b89fb0e014c9f88951097e62e 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringJobWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/Writer/XMLEngineeringJobWriter.cs @@ -44,7 +44,7 @@ namespace TUGraz.VectoCore.OutputData.XML.Writer InputData.DriverInputData, Writer, InputData.JobInputData.Vehicle.DataSource); return new object[] { - new XElement(v10 + XMLNames.VectoJob_EngineOnlyMode, InputData.JobInputData.JobType), + new XElement(v10 + XMLNames.VectoJob_EngineOnlyMode, InputData.JobInputData.JobType != VectoSimulationJobType.EngineOnlySimulation), CreateVehicle(InputData.JobInputData.Vehicle), new XElement( v10 + XMLNames.Component_DriverModel, @@ -58,7 +58,7 @@ namespace TUGraz.VectoCore.OutputData.XML.Writer { var v10 = ComponentDataNamespace; return new object[] { - new XElement(v10 + XMLNames.VectoJob_EngineOnlyMode, InputData.JobInputData.JobType), + new XElement(v10 + XMLNames.VectoJob_EngineOnlyMode, InputData.JobInputData.JobType == VectoSimulationJobType.EngineOnlySimulation), new XElement( v10 + XMLNames.Component_Engine, new XElement(v10 + XMLNames.ComponentDataWrapper, diff --git a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs index 584585ace0c58ec0165d57e5762ab775dd7bf118..1eea358e64c7fdfb76815218a44787bddee874a7 100644 --- a/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs +++ b/VectoCore/VectoCoreTest/Integration/SimulationRuns/MinimalPowertrain.cs @@ -29,6 +29,7 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ +using System; using System.Collections.Generic; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -48,6 +49,7 @@ using TUGraz.VectoCore.Utils; using Wheels = TUGraz.VectoCore.Models.SimulationComponent.Impl.Wheels; using NUnit.Framework; using System.IO; +using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.Reader.Impl; using TUGraz.VectoCore.Tests.Models.SimulationComponent; @@ -138,11 +140,16 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain"); var runData = new VectoRunData() { - JobName = "Coach_MinimalPowertrain" - }; + JobName = "Coach_MinimalPowertrain", + VehicleData = vehicleData, + EngineData = engineData, + AxleGearData = axleGearData, + DriverData = driverData, + ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() + }; var modData = new ModalDataContainer(runData, fileWriter, null); var container = new VehicleContainer(ExecutionMode.Engineering, modData) { - RunData = new VectoRunData() { VehicleData = vehicleData } + RunData = runData }; var cycle = new DistanceBasedDrivingCycle(container, cycleData); @@ -216,14 +223,17 @@ namespace TUGraz.VectoCore.Tests.Integration.SimulationRuns var fileWriter = new FileOutputWriter("Coach_MinimalPowertrainOverload"); var runData = new VectoRunData() { - JobName = "Coach_MinimalPowertrain" + JobName = "Coach_MinimalPowertrain", + SimulationType = SimulationType.DistanceCycle, + VehicleData = vehicleData, + EngineData = engineData, + AxleGearData = axleGearData, + DriverData = driverData, + ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() }; var modData = new ModalDataContainer(runData, fileWriter, null); var container = new VehicleContainer(ExecutionMode.Engineering, modData) { - RunData = new VectoRunData() { - SimulationType = SimulationType.DistanceCycle, - VehicleData = vehicleData, - } + RunData = runData }; var cycle = new DistanceBasedDrivingCycle(container, cycleData); diff --git a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs index da3faad694cda088e4028f5cdd3033a852307d3f..d2d6ffeed8a1048f8b4e4b2aef37e565b0c14fce 100644 --- a/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs +++ b/VectoCore/VectoCoreTest/Models/Simulation/AuxTests.cs @@ -139,7 +139,7 @@ namespace TUGraz.VectoCore.Tests.Models.Simulation var testColumns = new[] { "P_aux_FAN", "P_aux_STP", "P_aux_AC", "P_aux_ES", "P_aux_PS", "P_aux_mech" }; ResultFileHelper.TestModFile(@"TestData\Results\EngineOnlyCycles\AuxWriteModFileSumFile.vmod", - @"AuxWriteModFileSumFile.vmod", testColumns); + @"AuxWriteModFileSumFile_MockCycle.vmod", testColumns); ResultFileHelper.TestSumFile(@"TestData\Results\EngineOnlyCycles\AuxWriteModFileSumFile.vsum", @"AuxWriteModFileSumFile.vsum"); } diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs index e6ae127cba2637440e032f73b49aa7d4464897e8..83098bd712ad19c8570478ab92abe66763bf3fac 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/DriverTest.cs @@ -83,14 +83,15 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain_Coasting"); var runData = new VectoRunData() { - JobName = "Coach_MinimalPowertrain_Coasting" + JobName = "Coach_MinimalPowertrain_Coasting", + VehicleData = vehicleData, + AirdragData = airdragData, + EngineData = engineData, + ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() }; var modData = new ModalDataContainer(runData, fileWriter, null); var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData) { - RunData = new VectoRunData() { - VehicleData = vehicleData, - EngineData = engineData, - } + RunData = runData }; var mockCycle = new MockDrivingCycle(vehicleContainer, null); @@ -221,15 +222,15 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent var fileWriter = new FileOutputWriter("Coach_MinimalPowertrain"); var runData = new VectoRunData() { - JobName = "Coach_MinimalPowertrain" + JobName = "Coach_MinimalPowertrain", + VehicleData = vehicleData, + AirdragData = airdragData, + EngineData = engineData, + ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() }; var modData = new ModalDataContainer(runData, fileWriter, null); var vehicleContainer = new VehicleContainer(ExecutionMode.Engineering, modData) { - RunData = new VectoRunData() { - VehicleData = vehicleData, - EngineData = engineData, - ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() - } + RunData = runData }; var cycle = new MockDrivingCycle(vehicleContainer, null); diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs index 1575c3e5dc24a41a1b10f4e913b667ce1522e7b5..2602f97aba9f2a89138fc2e0115ed0735bc20e66 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponent/VehicleTest.cs @@ -66,13 +66,21 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent [Test] public void VehiclePortTest() { - var container = new VehicleContainer(ExecutionMode.Engineering); + //var reader = new EngineeringModeSimulationDataReader(); var vehicleData = MockSimulationDataFactory.CreateVehicleDataFromFile(VehicleDataFileCoach); var airdragData = MockSimulationDataFactory.CreateAirdragDataFromFile(VehicleDataFileCoach); //VehicleData.ReadFromFile(VehicleDataFile); //vehicleData.CrossWindCorrectionMode = CrossWindCorrectionMode.NoCorrection; + + var container = new VehicleContainer(ExecutionMode.Engineering) { + RunData = new VectoRunData() { + VehicleData = vehicleData, + AirdragData = airdragData, + ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() + } + }; var vehicle = new Vehicle(container, vehicleData, airdragData); var driver = new MockDriver(container) { DriverBehavior = DrivingBehavior.Driving }; new DummyCycle(container); @@ -142,6 +150,11 @@ namespace TUGraz.VectoCore.Tests.Models.SimulationComponent airdragData.CrossWindCorrectionCurve = new CrosswindCorrectionCdxALookup(6.2985.SI<SquareMeter>(), DeclarationDataAdapterHeavyLorry.GetDeclarationAirResistanceCurve("TractorSemitrailer", 6.2985.SI<SquareMeter>(), 3.SI<Meter>()), CrossWindCorrectionMode.DeclarationModeCorrection); + container.RunData = new VectoRunData() { + VehicleData = vehicleData, + AirdragData = airdragData, + ElectricMachinesData = new List<Tuple<PowertrainPosition, ElectricMotorData>>() + }; var vehicle = new Vehicle(container, vehicleData,airdragData); var driver = new MockDriver(container) { DriverBehavior = DrivingBehavior.Driving }; diff --git a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/MediumLorry/vecto_vehicle-medium_lorry_4x2F.xml b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/MediumLorry/vecto_vehicle-medium_lorry_4x2F.xml index 7edcbaee18eaf694d1f75b0ee3a29d91990f76d8..2b916178fc07ab65165639f02acb6fd126d51f41 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/MediumLorry/vecto_vehicle-medium_lorry_4x2F.xml +++ b/VectoCore/VectoCoreTest/TestData/Integration/VTPMode/MediumLorry/vecto_vehicle-medium_lorry_4x2F.xml @@ -12,6 +12,7 @@ urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1 E:\QUAM\Workspace\VECTO_DEV_ <AxleConfiguration>4x2F</AxleConfiguration> <CurbMassChassis>2500</CurbMassChassis> <TechnicalPermissibleMaximumLadenMass>7000</TechnicalPermissibleMaximumLadenMass> + <CargoVolume>8.53</CargoVolume> <IdlingSpeed>800</IdlingSpeed> <RetarderType>None</RetarderType> <AngledriveType>None</AngledriveType> diff --git a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs index 63b5cb4cc52f42e3adf4a89a4c758a5b76a89830..b9c64d6411d7fe23d66186ed826cc31b09c8f5e1 100644 --- a/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLWritingTest.cs @@ -101,7 +101,7 @@ namespace TUGraz.VectoCore.Tests.XML var xml = xmlInputReader.CreateEngineering(outFile); Assert.IsNotNull(xml); - Assert.AreEqual("N/A N/A", xml.JobInputData.JobName); + Assert.AreEqual("325kW 12.7l Engine", xml.JobInputData.JobName); } [Category("LongRunning")] @@ -117,7 +117,7 @@ namespace TUGraz.VectoCore.Tests.XML var xml = xmlInputReader.CreateEngineering(outFile); Assert.IsNotNull(xml); - Assert.AreEqual("N/A N/A", xml.JobInputData.JobName); + Assert.AreEqual("325kW 12.7l Engine", xml.JobInputData.JobName); } [Category("LongRunning")] @@ -135,7 +135,7 @@ namespace TUGraz.VectoCore.Tests.XML var xml = xmlInputReader.CreateEngineering(Path.Combine(outDir, outFile)); Assert.IsNotNull(xml); - Assert.AreEqual("N/A N/A", xml.JobInputData.JobName); + Assert.AreEqual("325kW 12.7l Engine", xml.JobInputData.JobName); } [Category("LongRunning")]