diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb index 2cab94f3f5a90fa55fad0b218405ad5d6f30906e..0d5441a2e404cbed9697bd6dceb10f193d9b8b1c 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb @@ -75,7 +75,7 @@ Namespace UnitTests Dim mission As New Mission With { .BusParameter = New BusParameters() With { - .HVACCompressorType = ACCompressorType.TwoStage, + .HVACCompressorType = HeatPumpType.non_R_744_2_stage, .HVACAuxHeaterPower = 30000.0.SI(Of Watt), .HVACConfiguration = BusHVACSystemConfiguration.Configuration6, .DoubleDecker = False, @@ -149,7 +149,7 @@ Namespace UnitTests If section = "AC-System" Then 'AC-SYSTEM '********* - Assert.AreEqual(ACCompressorType.TwoStage, target.ACSystem.HVACCompressorType) + Assert.AreEqual(HeatPumpType.non_R_744_2_stage, target.ACSystem.HVACCompressorType) Assert.AreEqual(15.5567, target.ACSystem.HVACMaxCoolingPower.Value()/1000.0, 1e-3) Assert.AreEqual(3.5, target.ACSystem.COP) End If @@ -583,7 +583,7 @@ Namespace UnitTests Dim mission As New Mission With { .MissionType = MissionType.HeavyUrban, .BusParameter = New BusParameters() With { - .HVACCompressorType = ACCompressorType.TwoStage, + .HVACCompressorType = HeatPumpType.non_R_744_2_stage, .HVACAuxHeaterPower = 18000.0.SI(Of Watt), .HVACConfiguration = BusHVACSystemConfiguration.Configuration6, .DoubleDecker = False, diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb index 62b3324d465a441e7bd58ce0a3a5fd347d9163f0..8f051ddf71b048728241f2a085e48a553a45c941 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb @@ -138,7 +138,7 @@ Public Class Utils .HeatingBoundaryTemperature = 18.0.DegCelsiusToKelvin(), .CoolingBoundaryTemperature = 23.0.DegCelsiusToKelvin(), .SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast (Of JoulePerCubicMeter), - .HVACCompressorType = ACCompressorType.TwoStage, + .HVACCompressorType = HeatPumpType.non_R_744_2_stage, .HVACMaxCoolingPower = 18.si(Unit.SI.kilo.watt).Cast (of Watt), .AuxHeaterEfficiency = 0.84, .FuelFiredHeaterPower = 30.SI(Unit.SI.kilo.watt).Cast (Of Watt), diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs b/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs index f0b17871e655b91175246811349a394b7ec0b0c6..9da7b984e8b8f9e1a06e83cfdd5f9ad665ca4417 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/BusHVACSystemConfiguration.cs @@ -80,6 +80,9 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { public static bool RequiresDriverAC(this BusHVACSystemConfiguration? hvacConfig) { + if (hvacConfig == null) { + return false; + } switch (hvacConfig) { case BusHVACSystemConfiguration.Configuration2: case BusHVACSystemConfiguration.Configuration4: @@ -91,8 +94,11 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { return false; } - public static bool RequiresPassengerAC(this BusHVACSystemConfiguration hvacConfig) + public static bool RequiresPassengerAC(this BusHVACSystemConfiguration? hvacConfig) { + if (hvacConfig == null) { + return false; + } switch (hvacConfig) { case BusHVACSystemConfiguration.Configuration1: case BusHVACSystemConfiguration.Configuration2: diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs index f4d5b4ed35115f752d3165bcb5c924a9091099ca..2ed4c5d86bc0931eb676acb2c5881266a34fce05 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.ComponentModel; using TUGraz.VectoCommon.Utils; @@ -84,7 +85,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries public interface IACSystem { // AC-system - ACCompressorType HVACCompressorType { get; } + HeatPumpType HVACCompressorType { get; } Watt HVACMaxCoolingPower { get; } @@ -102,83 +103,83 @@ namespace TUGraz.VectoCommon.BusAuxiliaries } - public enum ACCompressorType - { - Unknown, - None, - TwoStage, - ThreeStage, - FourStage, - Continuous - } - - public static class ACCompressorTypeExtensions - { - public static ACCompressorType ParseEnum(string txt) - { - switch (txt) { - case "2-stage": return ACCompressorType.TwoStage; - case "3-stage": return ACCompressorType.ThreeStage; - case "4-stage": return ACCompressorType.FourStage; - default: return txt.ParseEnum<ACCompressorType>(); - } - } - - public static string ToString(this ACCompressorType type) - { - switch (type) { - case ACCompressorType.TwoStage: return "2-stage"; - case ACCompressorType.ThreeStage: return "3-stage"; - case ACCompressorType.FourStage: return "4-stage"; - default: return type.ToString().ToLowerInvariant(); - } - } - - public static string GetName(this ACCompressorType type) - { - return type.ToString(); - } - - public static string GetLabel(this ACCompressorType type) - { - switch (type) - { - case ACCompressorType.TwoStage: return "2-stage"; - case ACCompressorType.ThreeStage: return "3-stage"; - case ACCompressorType.FourStage: return "4-stage"; - default: return type.ToString(); - } - } - - - public static bool IsElectrical(this ACCompressorType type) - { - return type == ACCompressorType.Continuous; - } - - public static bool IsMechanical(this ACCompressorType type) - { - return type != ACCompressorType.Continuous; - } - - public static double COP(this ACCompressorType type, FloorType floortype) - { - var cop = 3.5; - - switch (type) { - case ACCompressorType.None: - case ACCompressorType.Unknown: return 0; - case ACCompressorType.TwoStage: return cop; - case ACCompressorType.ThreeStage: - case ACCompressorType.FourStage: return cop * 1.02; - case ACCompressorType.Continuous: - return floortype == FloorType.LowFloor - ? cop * 1.04 - : cop * 1.06; - default: throw new ArgumentOutOfRangeException(); - } - } - } + //public enum ACCompressorType + //{ + // Unknown, + // None, + // TwoStage, + // ThreeStage, + // FourStage, + // Continuous + //} + + //public static class ACCompressorTypeExtensions + //{ + // public static ACCompressorType ParseEnum(string txt) + // { + // switch (txt) { + // case "2-stage": return ACCompressorType.TwoStage; + // case "3-stage": return ACCompressorType.ThreeStage; + // case "4-stage": return ACCompressorType.FourStage; + // default: return txt.ParseEnum<ACCompressorType>(); + // } + // } + + // public static string ToString(this ACCompressorType type) + // { + // switch (type) { + // case ACCompressorType.TwoStage: return "2-stage"; + // case ACCompressorType.ThreeStage: return "3-stage"; + // case ACCompressorType.FourStage: return "4-stage"; + // default: return type.ToString().ToLowerInvariant(); + // } + // } + + // public static string GetName(this ACCompressorType type) + // { + // return type.ToString(); + // } + + // public static string GetLabel(this ACCompressorType type) + // { + // switch (type) + // { + // case ACCompressorType.TwoStage: return "2-stage"; + // case ACCompressorType.ThreeStage: return "3-stage"; + // case ACCompressorType.FourStage: return "4-stage"; + // default: return type.ToString(); + // } + // } + + + // public static bool IsElectrical(this ACCompressorType type) + // { + // return type == ACCompressorType.Continuous; + // } + + // public static bool IsMechanical(this ACCompressorType type) + // { + // return type != ACCompressorType.Continuous; + // } + + // public static double COP(this ACCompressorType type, FloorType floortype) + // { + // var cop = 3.5; + + // switch (type) { + // case ACCompressorType.None: + // case ACCompressorType.Unknown: return 0; + // case ACCompressorType.TwoStage: return cop; + // case ACCompressorType.ThreeStage: + // case ACCompressorType.FourStage: return cop * 1.02; + // case ACCompressorType.Continuous: + // return floortype == FloorType.LowFloor + // ? cop * 1.04 + // : cop * 1.06; + // default: throw new ArgumentOutOfRangeException(); + // } + // } + //} public interface IAuxHeater { @@ -218,7 +219,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries private const string NON_R_744_4_STAGE = "non R-744 4-stage"; private const string NON_R_744_CONTINUOUS = "non R-744 continuous"; - public static HeatPumpType? Parse(string parse) + public static HeatPumpType Parse(string parse) { switch (parse) { @@ -228,12 +229,15 @@ namespace TUGraz.VectoCommon.BusAuxiliaries case NON_R_744_3_STAGE: return HeatPumpType.non_R_744_3_stage; case NON_R_744_4_STAGE: return HeatPumpType.non_R_744_4_stage; case NON_R_744_CONTINUOUS: return HeatPumpType.non_R_744_continuous; - default: return null; + default: throw new InvalidEnumArgumentException("HeatPumpType"); } } public static string GetLabel(this HeatPumpType? type) { + if (type == null) { + return "~null~"; + } switch (type) { case HeatPumpType.none: return NONE; case HeatPumpType.R_744: return R_744; @@ -244,7 +248,45 @@ namespace TUGraz.VectoCommon.BusAuxiliaries default: return null; } } - } + + public static string GetName(this HeatPumpType type) + { + return type.ToString(); + } + + public static bool IsElectrical(this HeatPumpType type) + { + return type == HeatPumpType.R_744 || type == HeatPumpType.non_R_744_continuous; + } + + public static bool IsMechanical(this HeatPumpType type) + { + return !type.IsElectrical(); + } + + public static double COP(this HeatPumpType type, FloorType floortype) + { + var cop = 3.5; + + switch (type) { + case HeatPumpType.none: + //case HeatPumpType.Unknown: + return 0; + case HeatPumpType.non_R_744_2_stage: + return cop; + case HeatPumpType.non_R_744_3_stage: + case HeatPumpType.non_R_744_4_stage: + return cop * 1.02; + case HeatPumpType.non_R_744_continuous: + case HeatPumpType.R_744: + return floortype == FloorType.LowFloor + ? cop * 1.04 + : cop * 1.06; + default: + throw new ArgumentOutOfRangeException(); + } + } + } public enum HeatPumpMode diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs index 42042eadfed1643a3062cfecb5db8e0fbed3f624..f9f099cae9e35775da7d86b2d219401c2564d610 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONSubComponent.cs @@ -652,8 +652,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON public virtual HeatPumpMode? HeatPumpModeDriverCompartment { get { return null; } } public virtual HeatPumpType? HeatPumpTypePassengerCompartment { get{ return null; } } public virtual HeatPumpMode? HeatPumpModePassengerCompartment { get { return null; } } - public virtual ACCompressorType CompressorTypeDriver { get { return ACCompressorType.Unknown; } } - public virtual ACCompressorType CompressorTypePassenger { get { return ACCompressorType.Unknown; } } public virtual Watt AuxHeaterPower { get { return null; } } public virtual bool? DoubleGlazing { get { return false; } } public virtual bool HeatPump { get { return false; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs index 7705334ecb59a98ab6120ae1dc1de4015f03293d..f32793ff001e5080766fa9df30e4802e8cb8bdf3 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs @@ -65,7 +65,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON genInput.GetEx<double>("EC_Solar").SI<WattPerSquareMeter>(), 1.0); //retVal.EnviromentalConditions_BatchFile = genInput.GetEx<string>("EC_EnviromentalConditions_BatchFile"); //retVal.BatchMode = genInput.GetEx<bool>("EC_EnviromentalConditions_BatchEnabled"); - retVal.HVACCompressorType = ACCompressorTypeExtensions.ParseEnum(genInput.GetEx<string>("AC_CompressorType")); + retVal.HVACCompressorType = HeatPumpTypeHelper.Parse(genInput.GetEx<string>("AC_CompressorType")); retVal.HVACMaxCoolingPower = genInput.GetEx<double>("AC_CompressorCapacitykW").SI(Unit.SI.Kilo.Watt).Cast<Watt>(); retVal.VentilationOnDuringHeating = genInput.GetEx<bool>("VEN_VentilationOnDuringHeating"); retVal.VentilationWhenBothHeatingAndACInactive = genInput.GetEx<bool>("VEN_VentilationWhenBothHeatingAndACInactive"); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs index c8474a585d283dcfef686bebff8ee44e563a4138..52d912753c7dc5bb2a2d77cc19aedaf48b11e4f1 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs @@ -185,16 +185,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider public virtual HeatPumpType? HeatPumpTypePassengerCompartment { get { return null; } } public virtual HeatPumpMode? HeatPumpModePassengerCompartment { get { return null; } } - public virtual ACCompressorType CompressorTypeDriver - { - get { return ACCompressorType.None; } - } - - public virtual ACCompressorType CompressorTypePassenger - { - get { return ACCompressorType.None; } - } - public virtual Watt AuxHeaterPower { get { return 0.SI<Watt>(); } @@ -300,16 +290,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return BusHVACSystemConfigurationHelper.Parse(GetString(XMLNames.Bus_SystemConfiguration)); } } - public override ACCompressorType CompressorTypeDriver - { - get { return ACCompressorTypeExtensions.ParseEnum(GetString(XMLNames.Bus_DriverAC)); } - } - - public override ACCompressorType CompressorTypePassenger - { - get { return ACCompressorTypeExtensions.ParseEnum(GetString(XMLNames.Bus_PassengerAC)); } - } - public override Watt AuxHeaterPower { get { return GetDouble(XMLNames.Bus_AuxiliaryHeaterPower).SI<Watt>(); } @@ -404,7 +384,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return ElementExists(XMLNames.Bus_HeatPumpTypeDriver) - ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeDriver)) : null; + ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypeDriver)) : (HeatPumpType?)null; } } @@ -425,7 +405,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider get { return ElementExists(XMLNames.Bus_HeatPumpTypePassenger) - ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypePassenger)) : null; + ? HeatPumpTypeHelper.Parse(GetString(XMLNames.Bus_HeatPumpTypePassenger)) : (HeatPumpType?)null; } } diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs index 7c3797cbea6d4695f31f9aceafe360e79a83e99b..d21580a183a424ae4c23fb6fd68c9653292387a3 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationPrimaryVehicleBusResultsInputDataProviderV01.cs @@ -48,7 +48,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider foreach (XmlNode resultNode in _resultsNode.ChildNodes) { - if (resultNode.Name == XMLNames.Report_Result_Result) + if (resultNode.LocalName == XMLNames.Report_Result_Result) results.Add(GetResult(resultNode)); } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs index 986dd1f35c9dc54352c02310bf08b75a3fad47a2..08e48c4cdf01e146325cffed488777e87b8b71c6 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs @@ -183,16 +183,53 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var hvacConfiguration = completedVehicle.Components.BusAuxiliaries.HVACAux.SystemConfiguration; var busAux = completedVehicle.Components.BusAuxiliaries.HVACAux; + if (hvacConfiguration.RequiresDriverAC() && (!busAux.HeatPumpTypeDriverCompartment.HasValue || busAux.HeatPumpTypeDriverCompartment == HeatPumpType.none)) { + throw new VectoException("HVAC System Configuration {0} requires DriverAC Technology", hvacConfiguration); + } + + if (hvacConfiguration.RequiresPassengerAC() && (!busAux.HeatPumpTypePassengerCompartment.HasValue || busAux.HeatPumpTypePassengerCompartment == HeatPumpType.none)) { + throw new VectoException("HVAC System Configuration {0} requires PassengerAC Technology", hvacConfiguration); + } + if (mission.BusParameter.SeparateAirDistributionDuctsHVACCfg.Contains(hvacConfiguration) && - !(bool)completedVehicle.Components.BusAuxiliaries.HVACAux.SeparateAirDistributionDucts) { + (busAux.SeparateAirDistributionDucts == null || !busAux.SeparateAirDistributionDucts.Value)) { throw new VectoException("Input parameter 'separate air distribution ducts' has to be set to 'true' for vehicle group '{0}' and HVAC configuration '{1}'", mission.BusParameter.BusGroup.GetClassNumber(), hvacConfiguration.GetName()); } + + if (completedVehicle.NumberOfPassengersLowerDeck == null) { + throw new VectoException("NumberOfPassengersLowerDeck input parameter is required"); + } + if (completedVehicle.NumberOfPassengersUpperDeck == null) { + throw new VectoException("NumberOfPassengersUpperDeck input parameter is required"); + } + if (busAux.HeatPumpTypeDriverCompartment == null) { + throw new VectoException("HeatPumpTypeDriverCompartment input parameter is required"); + } + if (busAux.HeatPumpTypePassengerCompartment == null) { + throw new VectoException("HeatPumpTypePassengerCompartment input parameter is required"); + } + if (busAux.HeatPumpModeDriverCompartment == null || busAux.HeatPumpModeDriverCompartment.Value == HeatPumpMode.N_A) { + throw new VectoException("HeatPumpTypeDriverCompartment input parameter is required"); + } + if (busAux.HeatPumpModePassengerCompartment == null || busAux.HeatPumpModePassengerCompartment.Value == HeatPumpMode.N_A) { + throw new VectoException("HeatPumpModePassengerCompartment input parameter is required"); + } + + var heatPumpTypeDriverCompartment = + busAux.HeatPumpModeDriverCompartment == HeatPumpMode.heating + ? HeatPumpType.none + : busAux.HeatPumpTypeDriverCompartment.Value; + var heatPumpTypePassengerCompartment = + busAux.HeatPumpModePassengerCompartment == HeatPumpMode.heating + ? HeatPumpType.none + : busAux.HeatPumpTypePassengerCompartment.Value; + var internalLength = hvacConfiguration == BusHVACSystemConfiguration.Configuration2 ? 2 * Constants.BusParameters.DriverCompartmentLength // OK : DeclarationData.BusAuxiliaries.CalculateInternalLength( completedVehicle.Length, completedVehicle.VehicleCode, - (int)completedVehicle.NumberOfPassengersLowerDeck); + completedVehicle.NumberOfPassengersLowerDeck.Value); var correctionLengthDrivetrainVolume = DeclarationData.BusAuxiliaries.CorrectionLengthDrivetrainVolume( completedVehicle.VehicleCode, completedVehicle.LowEntry, primaryVehicle.AxleConfiguration.NumAxles(), primaryVehicle.Articulated); @@ -219,12 +256,19 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter ssmInputs.UValue = DeclarationData.BusAuxiliaries.UValue(completedVehicle.VehicleCode.GetFloorType()); ssmInputs.NumberOfPassengers = GetNumberOfPassengers( mission, internalLength, correctedBusWidth, - (int)completedVehicle.NumberOfPassengersLowerDeck + (int)completedVehicle.NumberOfPassengersUpperDeck, loadingType) + 1; // add driver for 'heat input' + completedVehicle.NumberOfPassengersLowerDeck.Value + completedVehicle.NumberOfPassengersUpperDeck.Value, loadingType) + 1; // add driver for 'heat input' ssmInputs.VentilationRate = DeclarationData.BusAuxiliaries.VentilationRate(hvacConfiguration, false); ssmInputs.VentilationRateHeating = DeclarationData.BusAuxiliaries.VentilationRate(hvacConfiguration, true); ssmInputs.HVACMaxCoolingPower = coolingPower.Item1 + coolingPower.Item2; - + ssmInputs.HVACCompressorType = heatPumpTypePassengerCompartment; // use passenger compartment + ssmInputs.HVACTechnology = string.Format( + "{0} ({1})", busAux.SystemConfiguration.GetName(), + string.Join(", ", new[] { heatPumpTypePassengerCompartment.GetName(), heatPumpTypeDriverCompartment.GetName() })); + ; + ssmInputs.COP = DeclarationData.BusAuxiliaries.CalculateCOP( + coolingPower.Item1, heatPumpTypeDriverCompartment, coolingPower.Item2, heatPumpTypePassengerCompartment, + floorType); return ssmInputs; } diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs index c0f1e09b10b34de5d9f561133f56b5aa9b01c3d6..391ca8b5a2dc46c1f93ee00c450950e5504d2a33 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs @@ -350,11 +350,11 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter retVal.HVACCompressorType = busParams.HVACCompressorType; // use passenger compartment retVal.COP = DeclarationData.BusAuxiliaries.CalculateCOP( - coolingPower.Item1, ACCompressorType.None, coolingPower.Item2, busParams.HVACCompressorType, + coolingPower.Item1, HeatPumpType.none, coolingPower.Item2, busParams.HVACCompressorType, busParams.VehicleCode.GetFloorType()); retVal.HVACTechnology = string.Format( "{0} ({1})", busParams.HVACConfiguration.GetName(), - string.Join(", ", new[] { busParams.HVACCompressorType.GetName(), ACCompressorType.None.GetName() })); + string.Join(", ", new[] { busParams.HVACCompressorType.GetName(), HeatPumpType.none.GetName() })); //SetHVACParameters(retVal, vehicleData, mission); diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs b/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs index 800fa39358f383c6f9dd13777b8a6c07c75daebe..de6e03bde4c8c8f4948cb9ed05e904653931df92 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/CombinedBusAuxiliaries.cs @@ -79,8 +79,6 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl { public HeatPumpMode? HeatPumpModeDriverCompartment { get; } public HeatPumpType? HeatPumpTypePassengerCompartment { get; } public HeatPumpMode? HeatPumpModePassengerCompartment { get; } - public ACCompressorType CompressorTypeDriver { get; } - public ACCompressorType CompressorTypePassenger { get; } public Watt AuxHeaterPower { get; } public bool? DoubleGlazing { get; } public bool HeatPump { get; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs index ba6e4709caaa396de82b0aa0681afac29d884438..38eafb99f24746d57dc8fd1cac3b336bf0a812c2 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs @@ -120,13 +120,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // C53 - "Continous/2-stage/3-stage/4-stage - public ACCompressorType HVACCompressorType { get; set; } + public HeatPumpType HVACCompressorType { get; set; } - // mechanical/electrical - public string CompressorTypeDerived - { - get { return HVACCompressorType == ACCompressorType.Continuous ? "Electrical" : "Mechanical"; } - } // C54 - ( KW ) public Watt HVACMaxCoolingPower { get; set; } diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs index a801af87d507c511daf5c589066eada34bb9bfb0..be9390237ea999b7cb2ca16c1d5c41b9559d8141 100644 --- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs @@ -347,9 +347,9 @@ namespace TUGraz.VectoCore.Models.Declaration } } - public static double CalculateCOP(Watt coolingPwrDriver, ACCompressorType comprTypeDriver, Watt coolingPwrPass, ACCompressorType comprTypePass, FloorType floorType) + public static double CalculateCOP(Watt coolingPwrDriver, HeatPumpType comprTypeDriver, Watt coolingPwrPass, HeatPumpType comprTypePass, FloorType floorType) { - if (coolingPwrDriver.IsGreater(0) && comprTypeDriver == ACCompressorType.None) { + if (coolingPwrDriver.IsGreater(0) && comprTypeDriver == HeatPumpType.none) { comprTypeDriver = comprTypePass; } if (coolingPwrDriver.IsEqual(0) && coolingPwrPass.IsEqual(0)) { diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs index 59dee519577595953abf8ca77fa28b62a5f5e1f7..592ca44b1ed91bdd30216fa4c721a4d14d7d07c4 100644 --- a/VectoCore/VectoCore/Models/Declaration/Mission.cs +++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs @@ -123,7 +123,7 @@ namespace TUGraz.VectoCore.Models.Declaration public Watt HVACAuxHeaterPower { get; internal set; } - public ACCompressorType HVACCompressorType { get; internal set; } + public HeatPumpType HVACCompressorType { get; internal set; } public bool HVACDoubleGlasing { get; internal set; } diff --git a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs index c4761fa0d54af707900fd9206ac6773a0cdd70e0..a69f6935f75e86423de9d1ad844bcf80213f8f37 100644 --- a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs +++ b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs @@ -138,7 +138,7 @@ namespace TUGraz.VectoCore.Models.Declaration VehicleCode = row.Field<string>("vehiclecode").ParseEnum<VehicleCode>(), HVACConfiguration = BusHVACSystemConfigurationHelper.Parse(row.Field<string>("hvacsystemconfiguration")), HVACAuxHeaterPower = row.ParseDouble("hvacauxheater").SI(Unit.SI.Kilo.Watt).Cast<Watt>(), - HVACCompressorType = ACCompressorTypeExtensions.ParseEnum(row.Field<string>("hvaccompressortype")), + HVACCompressorType = HeatPumpTypeHelper.Parse(row.Field<string>("hvaccompressortype")), HVACDoubleGlasing = row.ParseBoolean("hvacdoubleglasing"), HVACHeatpump = row.ParseBoolean("hvacheatpump"), HVACAdjustableAuxHeater = row.ParseBoolean("hvacadjustableauxiliaryheater"), diff --git a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv index 68b9c7309f5a5f752321de38c10db5a638a81f9f..d5d16c78947c3b809e6ed844d630bc8d4bf3bd00 100644 --- a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv +++ b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv @@ -1,26 +1,26 @@ HDV group , Production Stage , Vehicle Category , HDV SuperGroup , Articulated , Num Axles , TPMLM_Min , TPMLM_Max , doubledecker , vehicle code , low entry , floor type , DesignSpeed , Body , .vacc file , Cross Wind Correction , CdxA Standard , AxlesWeights , Width , Length , Body Height , entrance height , CurbMass , PassengersLowerDeck , PassengersUpperDeck , Heavy Urban , Urban , Suburban , Interurban , Coach , ES_External displays , ES_Internal displays , ES_Fridge , ES_Kitchen Standard , HVAC System Configuration , HVAC Compressor type , HVAC Aux Heater , HVAC Double Glasing , HVAC Heatpump , HVAC Adjustable AuxiliaryHeater , HVAC SeparateAirDistributionDucts ## Heavy Bus Primary Vehicles -P31SD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 0 , CE , 0 , low floor , 100 , , Bus.vacc , CoachBus , 4.9 , 37.5/62.5 , 2.55 , 12 , 2.8 , 340 , 11975 , 80 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 2 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P31DD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 1 , CF , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.2 , 37.5/62.5 , 2.55 , 10.5 , 3.8 , 340 , 12350 , 60 , 40 , 3.7 , 3.7 , 3.7 , , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P32SD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 0 , CA , - , high floor , 100 , , Bus.vacc , CoachBus , 3.45 , 37.5/62.5 , 2.55 , 12 , 3.15 , 340 , 13150 , 45 , 0 , , , , 2.2/1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P32DD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 1 , CB , - , high floor , 100 , , Bus.vacc , CoachBus , 3.9 , 37.5/62.5 , 2.55 , 10.5 , 3.7 , 340 , 13400 , 25 , 35 , , , , 3/2.5 , 2 , 1 , 2 , 1 , 1 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P31SD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 0 , CE , 0 , low floor , 100 , , Bus.vacc , CoachBus , 4.9 , 37.5/62.5 , 2.55 , 12 , 2.8 , 340 , 11975 , 80 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 2 , 0 , 0 , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P31DD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 1 , CF , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.2 , 37.5/62.5 , 2.55 , 10.5 , 3.8 , 340 , 12350 , 60 , 40 , 3.7 , 3.7 , 3.7 , , , 3 , 3 , 0 , 0 , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P32SD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 0 , CA , - , high floor , 100 , , Bus.vacc , CoachBus , 3.45 , 37.5/62.5 , 2.55 , 12 , 3.15 , 340 , 13150 , 45 , 0 , , , , 2.2/1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 +P32DD , 1 , HeavyBus , P31_32 , - , 2 , 7.4 , 999 , 1 , CB , - , high floor , 100 , , Bus.vacc , CoachBus , 3.9 , 37.5/62.5 , 2.55 , 10.5 , 3.7 , 340 , 13400 , 25 , 35 , , , , 3/2.5 , 2 , 1 , 2 , 1 , 1 , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 ## , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- -P33SD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 0 , CE , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.0 , 27.3/45.4/27.3 , 2.55 , 14.2 , 2.8 , 340 , 14175 , 104 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 2 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P33DD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 1 , CF , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.3 , 27.3/45.4/27.3 , 2.55 , 13.5 , 3.8 , 340 , 14725 , 78 , 52 , 3.7 , 3.7 , 3.7 , , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P34SD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 0 , CA , - , high floor , 100 , , Bus.vacc , CoachBus , 3.53 , 27.3/45.4/27.3 , 2.55 , 13.8 , 3.15 , 340 , 15213 , 59 , 0 , , , , 2.2/1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P34DD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 1 , CB , - , high floor , 100 , , Bus.vacc , CoachBus , 3.98 , 27.3/45.4/27.3 , 2.55 , 14 , 3.7 , 340 , 17850 , 33 , 46 , , , , 3/2.5 , 2 , 1 , 4 , 1 , 1.5 , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P33SD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 0 , CE , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.0 , 27.3/45.4/27.3 , 2.55 , 14.2 , 2.8 , 340 , 14175 , 104 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 2 , 0 , 0 , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P33DD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 1 , CF , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.3 , 27.3/45.4/27.3 , 2.55 , 13.5 , 3.8 , 340 , 14725 , 78 , 52 , 3.7 , 3.7 , 3.7 , , , 3 , 3 , 0 , 0 , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P34SD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 0 , CA , - , high floor , 100 , , Bus.vacc , CoachBus , 3.53 , 27.3/45.4/27.3 , 2.55 , 13.8 , 3.15 , 340 , 15213 , 59 , 0 , , , , 2.2/1.8 , 1.4 , 2 , 2 , 0.5 , 0.5 , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 +P34DD , 1 , HeavyBus , P33_34 , 0 , 3 , 7.4 , 999 , 1 , CB , - , high floor , 100 , , Bus.vacc , CoachBus , 3.98 , 27.3/45.4/27.3 , 2.55 , 14 , 3.7 , 340 , 17850 , 33 , 46 , , , , 3/2.5 , 2 , 1 , 4 , 1 , 1.5 , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 ## , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- -P35SD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 0 , CG , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.1 , 24.3/35.2/40.5 , 2.55 , 18.2 , 2.8 , 340 , 17800 , 104 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P35DD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 1 , CH , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.4 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.8 , 340 , 20250 , 78 , 52 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P36SD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 0 , CC , - , high floor , 100 , , Bus.vacc , CoachBus , 3.60 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.15 , 340 , 19267 , 59 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P36DD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 1 , CD , - , high floor , 100 , , Bus.vacc , CoachBus , 4.05 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.7 , 340 , 21375 , 33 , 46 , , , , 3/2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P35SD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 0 , CG , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.1 , 24.3/35.2/40.5 , 2.55 , 18.2 , 2.8 , 340 , 17800 , 104 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 3 , 0 , 0 , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P35DD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 1 , CH , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.4 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.8 , 340 , 20250 , 78 , 52 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P36SD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 0 , CC , - , high floor , 100 , , Bus.vacc , CoachBus , 3.60 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.15 , 340 , 19267 , 59 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 +P36DD , 1 , HeavyBus , P35_36 , 1 , 3 , 7.4 , 999 , 1 , CD , - , high floor , 100 , , Bus.vacc , CoachBus , 4.05 , 24.3/35.2/40.5 , 2.55 , 18.2 , 3.7 , 340 , 21375 , 33 , 46 , , , , 3/2.5 , 2 , , , , , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 ## , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- -P37SD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 0 , CE , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.1 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 2.8 , 340 , 15000 , 125 , 0 , 3 , 3 , 3 , 2.2/1.8 , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P37DD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 1 , CF , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.4 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.8 , 340 , 18700 , 94 , 62 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P38SD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 0 , CA , - , high floor , 100 , , Bus.vacc , CoachBus , 3.60 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.15 , 340 , 17500 , 70 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P38DD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 1 , CB , - , high floor , 100 , , Bus.vacc , CoachBus , 4.05 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.7 , 340 , 21200 , 39 , 55 , , , , 3/2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P37SD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 0 , CE , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.1 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 2.8 , 340 , 15000 , 125 , 0 , 3 , 3 , 3 , 2.2/1.8 , , , , , , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P37DD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 1 , CF , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.4 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.8 , 340 , 18700 , 94 , 62 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P38SD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 0 , CA , - , high floor , 100 , , Bus.vacc , CoachBus , 3.60 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.15 , 340 , 17500 , 70 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 +P38DD , 1 , HeavyBus , P37_38 , 0 , 4 , 7.4 , 999 , 1 , CB , - , high floor , 100 , , Bus.vacc , CoachBus , 4.05 , 21.4/21.4/35.8/21.4 , 2.55 , 15 , 3.7 , 340 , 21200 , 39 , 55 , , , , 3/2.5 , 2 , , , , , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 ## , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- , ----- -P39SD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 0 , CG , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.2 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 2.6 , 340 , 19600 , 125 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 3 , 0 , 0 , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P39DD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 1 , CH , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.5 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.8 , 340 , 24800 , 94 , 62 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , 2-stage , 15 , 0 , 0 , 0 , 0 -P40SD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 0 , CC , - , high floor , 100 , , Bus.vacc , CoachBus , 3.68 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.15 , 340 , 20950 , 70 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 -P40DD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 1 , CD , - , high floor , 100 , , Bus.vacc , CoachBus , 4.13 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.7 , 340 , 24600 , 39 , 55 , , , , 3/2.5 , 2 , , , , , 6 , 2-stage , 30 , 1 , 0 , 0 , 1 +P39SD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 0 , CG , 0 , low floor , 100 , , Bus.vacc , CoachBus , 5.2 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 2.6 , 340 , 19600 , 125 , 0 , 3 , 3 , 3 , 2.2/1.8 , , 3 , 3 , 0 , 0 , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P39DD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 1 , CH , 0 , low floor , 100 , , Bus.vacc , CoachBus , 6.5 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.8 , 340 , 24800 , 94 , 62 , 3.7 , 3.7 , 3.7 , , , , , , , 6 , non R-744 2-stage , 15 , 0 , 0 , 0 , 0 +P40SD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 0 , CC , - , high floor , 100 , , Bus.vacc , CoachBus , 3.68 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.15 , 340 , 20950 , 70 , 0 , , , , 2.2/1.8 , 1.4 , , , , , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 +P40DD , 1 , HeavyBus , P39_40 , 1 , 4 , 7.4 , 999 , 1 , CD , - , high floor , 100 , , Bus.vacc , CoachBus , 4.13 , 20.0/28.2/32.4/19.4 , 2.55 , 21 , 3.7 , 340 , 24600 , 39 , 55 , , , , 3/2.5 , 2 , , , , , 6 , non R-744 2-stage , 30 , 1 , 0 , 0 , 1 diff --git a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs index 5473b8561c1bf38cab145ccf471ba731eb3924dd..b17f338240e5d60bbd4607cd2d5386111e3bf7fd 100644 --- a/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs +++ b/VectoCore/VectoCoreTest/Integration/CompletedBus/CompletedBusSanityCheckTests.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using System; +using System.Collections.Generic; using System.IO; using System.Linq; using System.Xml; @@ -12,8 +13,10 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.OutputData.FileIO; +using TUGraz.VectoCore.Tests.Models.Simulation; using TUGraz.VectoCore.Tests.Utils; namespace TUGraz.VectoCore.Tests.Integration.CompletedBus @@ -23,9 +26,9 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus { private IXMLInputDataReader _xmlInputReader; public const string CompletedFile32 = @"TestData\Integration\Buses\FactorMethod\vecto_vehicle-completed_heavyBus_41.xml"; - public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\CompletedHeavyBus_33b1.RSLT_VIF.xml"; - //public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\vecto_vehicle-completed_heavyBus_42.xml"; - public const string PifFile_33_34 = @"TestData\Integration\Buses\FactorMethod\primary_heavyBus group42_SmartPS.RSLT_PIF.xml"; + //public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\CompletedHeavyBus_33b1.RSLT_VIF.xml"; + public const string CompletedFile33b1 = @"TestData\Integration\Buses\FactorMethod\vecto_vehicle-completed_heavyBus_42.xml"; + public const string PifFile_33_34 = @"TestData\Integration\Buses\FactorMethod\primary_heavyBus group42_SmartPS.RSLT_VIF.xml"; [OneTimeSetUp] public void RunBeforeAnyTests() @@ -52,13 +55,16 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus ] public void TestSeparateAirDistributionDuctsError(string completedJob, BusHVACSystemConfiguration hvacConfig, bool separateDucts) { - var modified = GetModifiedXML(completedJob, hvacConfig, separateDucts); + var modified = GetModifiedXML(PifFile_33_34, completedJob, hvacConfig, separateDucts); var writer = new FileOutputWriter("SanityCheckTest"); - //var inputData = new MockCompletedBusInputData(XmlReader.Create(PifFile_33_34), modified); - var inputData = _xmlInputReader.CreateDeclaration(modified); - var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) + //var vifDataProvider = _xmlInputReader.Create(modified); + //var inputData = new XMLDeclarationVIFInputData(modified as IMultistageBusInputDataProvider, null); + //var inputData = new MockCompletedBusInputData(XmlReader.Create(PifFile_33_34), modified); + //var inputData = _xmlInputReader.CreateDeclaration(modified); + + var factory = new SimulatorFactory(ExecutionMode.Declaration, new XMLDeclarationVIFInputData(modified, null), writer) { WriteModalResults = true, Validate = false @@ -102,13 +108,13 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus ] public void TestSeparateAirDistributionDuctsOk(string completedJob, BusHVACSystemConfiguration hvacConfig, bool separateDucts) { - var modified = GetModifiedXML(completedJob, hvacConfig, separateDucts); + var modified = GetModifiedXML(PifFile_33_34, completedJob, hvacConfig, separateDucts); var writer = new FileOutputWriter("SanityCheckTest"); //var inputData = new MockCompletedBusInputData(XmlReader.Create(PifFile_33_34), modified); - var inputData = new MockCompletedBusInputData(modified); + //var inputData = new MockCompletedBusInputData(modified); - var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer) + var factory = new SimulatorFactory(ExecutionMode.Declaration, new XMLDeclarationVIFInputData(modified, null), writer) { WriteModalResults = true, Validate = false @@ -119,8 +125,11 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus //}, messageContains: "Input parameter 'separate air distribution ducts' has to be set to 'true' for vehicle group "); } - private static XmlReader GetModifiedXML(string completedJob, BusHVACSystemConfiguration? hvacConfig, bool separateDucts) + private IMultistageBusInputDataProvider GetModifiedXML(string vifPrimary, string completedJob, BusHVACSystemConfiguration? hvacConfig, bool separateDucts) { + var vifDataProvider = _xmlInputReader.Create(XmlReader.Create(vifPrimary)); + //var completeDataProvider = _xmlInputReader.CreateDeclaration(comple); + var completedXML = new XmlDocument(); completedXML.Load(completedJob); @@ -130,7 +139,27 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus var airDuctsNode = completedXML.SelectSingleNode("//*[local-name()='SeparateAirDistributionDucts']"); airDuctsNode.InnerText = XmlConvert.ToString(separateDucts); var modified = XmlReader.Create(new StringReader(completedXML.OuterXml)); - return modified; + + var completeDataProvider = _xmlInputReader.CreateDeclaration(modified); + + var inputData = new XMLDeclarationVIFInputData(vifDataProvider as IMultistageBusInputDataProvider, completeDataProvider.JobInputData.Vehicle); + + var filename = Guid.NewGuid().ToString().Substring(0, 20); + var writer = new FileOutputVIFWriter(filename, 0); + + var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer); + var jobContainer = new JobContainer(new MockSumWriter()); + jobContainer.AddRuns(factory); + jobContainer.Execute(); + jobContainer.WaitFinished(); + + var completedVifXML = new XmlDocument(); + completedVifXML.Load(writer.XMLMultistageReportFileName); + + var completedVif = _xmlInputReader.CreateDeclaration(XmlReader.Create(new StringReader(completedVifXML.OuterXml))); + File.Delete(writer.XMLMultistageReportFileName); + + return completedVif as IMultistageBusInputDataProvider; } } diff --git a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs index 951dcad9c11a0a7acc9ed626791e584da49f05c2..1ca03f49f302e8e50a7f62de3ba65bf26f983565 100644 --- a/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs +++ b/VectoCore/VectoCoreTest/Integration/Multistage/MultistageVehicleTest.cs @@ -40,9 +40,9 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage protected IXMLInputDataReader xmlVIFInputReader; private IKernel _kernel; - private string _generatedVIFFilepath; + private string _generatedVIFFilepath; - [OneTimeSetUp] + [OneTimeSetUp] public void RunBeforeAnyTests() { Directory.SetCurrentDirectory(TestContext.CurrentContext.TestDirectory); @@ -63,7 +63,7 @@ namespace TUGraz.VectoCore.Tests.Integration.Multistage var vifReader = XmlReader.Create(vifFilename); var vifDataProvider = xmlInputReader.Create(vifReader) as IMultistageBusInputDataProvider; - var numberOfManufacturingStages = vifDataProvider.JobInputData.ManufacturingStages?.Count ?? 0; + var numberOfManufacturingStages = vifDataProvider?.JobInputData.ManufacturingStages?.Count ?? 0; var writer = new FileOutputVIFWriter(vifResult, numberOfManufacturingStages); _generatedVIFFilepath = writer.XMLMultistageReportFileName; diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml index f0e808811ad47fc03d748711543f277ff27d1da8..3e6193ac6e8b3ae4428c0cae358b0da6c54a4afd 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_41.xml @@ -1,29 +1,35 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoDeclarationJob.xsd"> - <v2.0:Vehicle id="VEH-1234567890" xsi:type="CompletedVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6"> +<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" +xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" +xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" +xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xmlns:di="http://www.w3.org/2000/09/xmldsig#" +xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType"> <Manufacturer>Some Manufacturer</Manufacturer> <ManufacturerAddress>Infinite Loop 1</ManufacturerAddress> - <Model>Sample Bus Model</Model> <VIN>VEH-1234567890</VIN> <Date>2020-01-09T11:00:00Z</Date> - <LegislativeClass>M3</LegislativeClass> - <ClassBus>II+III</ClassBus> - <VehicleCode>CA</VehicleCode> - <CurbMassChassis>8300</CurbMassChassis> + <Model>Sample Bus Model</Model> + <LegislativeCategory>M3</LegislativeCategory> + <CorrectedActualMass>8300</CorrectedActualMass> <TechnicalPermissibleMaximumLadenMass>18000</TechnicalPermissibleMaximumLadenMass> - <NgTankSystem>Compressed</NgTankSystem> - <RegisteredPassengers> - <LowerDeck>30</LowerDeck> - <UpperDeck>0</UpperDeck> - </RegisteredPassengers> + <AirdragModifiedMultistage>false</AirdragModifiedMultistage> + <ClassBus>II+III</ClassBus> + <NumberPassengersLowerDeck>30</NumberPassengersLowerDeck> + <NumberPassengersUpperDeck>0</NumberPassengersUpperDeck> + <BodyworkCode>CA</BodyworkCode> <LowEntry>true</LowEntry> - <HeightIntegratedBody>3.000</HeightIntegratedBody> - <VehicleLength>11.830</VehicleLength> - <VehicleWidth>2.550</VehicleWidth> - <EntranceHeight>0.120</EntranceHeight> + <HeightIntegratedBody>3000</HeightIntegratedBody> + <VehicleLength>11830</VehicleLength> + <VehicleWidth>2550</VehicleWidth> + <EntranceHeight>120</EntranceHeight> <DoorDriveTechnology>pneumatic</DoorDriveTechnology> + <VehicleDeclarationType>final</VehicleDeclarationType> <Components xsi:type="CompletedVehicleComponentsDeclarationType"> - <v2.6:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> + <v2.8:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Data id="CabinX23h" xsi:type="AirDragDataDeclarationType"> <Manufacturer>Generic Manufacturer</Manufacturer> <Model>Generic Model</Model> @@ -44,28 +50,26 @@ <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> </di:Reference> </Signature> - </v2.6:AirDrag> + </v2.8:AirDrag> <Auxiliaries> <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> <ElectricSystem> - <AlternatorTechnology>default</AlternatorTechnology> <LEDLights> + <Interiorlights>false</Interiorlights> <Dayrunninglights>false</Dayrunninglights> - <Headlights>false</Headlights> <Positionlights>false</Positionlights> <Brakelights>false</Brakelights> - <Interiorlights>false</Interiorlights> + <Headlights>false</Headlights> </LEDLights> </ElectricSystem> <HVAC> <SystemConfiguration>7</SystemConfiguration> - <CompressorType> - <DriverAC>2-stage</DriverAC> - <PassengerAC>4-stage</PassengerAC> - </CompressorType> + <HeatPumpTypeDriverCompartment>non R-744 2-stage</HeatPumpTypeDriverCompartment> + <HeatPumpModeDriverCompartment>cooling</HeatPumpModeDriverCompartment> + <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> + <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> <AuxiliaryHeaterPower>0</AuxiliaryHeaterPower> <DoubleGlazing>true</DoubleGlazing> - <HeatPump>false</HeatPump> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> <SeparateAirDistributionDucts>true</SeparateAirDistributionDucts> </HVAC> diff --git a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml index 5da70c06230dbff9081f27c947726958e9e754e3..102d148e65ba6cd3cae6feb7905a68470e9cae07 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml +++ b/VectoCore/VectoCoreTest/TestData/Integration/Buses/FactorMethod/vecto_vehicle-completed_heavyBus_42.xml @@ -1,28 +1,35 @@ <?xml version="1.0" encoding="UTF-8"?> -<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoDeclarationJob.xsd"> - <v2.0:Vehicle id="VEH-1234567890" xsi:type="CompletedVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6"> +<tns:VectoInputDeclaration schemaVersion="2.8" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" +xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" +xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" +xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" +xmlns:v2.8="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" +xmlns:di="http://www.w3.org/2000/09/xmldsig#" +xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob v:\VectoCore\VectoCore\Resources\XSD/VectoDeclarationJob.xsd"> + <v2.0:Vehicle id="VEH-1234567890" xsi:type="InterimStageInputType"> <Manufacturer>Some Manufacturer</Manufacturer> <ManufacturerAddress>Infinite Loop 1</ManufacturerAddress> - <Model>Sample Bus Model</Model> <VIN>VEH-1234567890</VIN> <Date>2020-01-09T11:00:00Z</Date> - <LegislativeClass>M3</LegislativeClass> - <ClassBus>I+II</ClassBus> - <VehicleCode>CE</VehicleCode> - <CurbMassChassis>8300</CurbMassChassis> + <Model>Sample Bus Model</Model> + <LegislativeCategory>M3</LegislativeCategory> + <CorrectedActualMass>8300</CorrectedActualMass> <TechnicalPermissibleMaximumLadenMass>18000</TechnicalPermissibleMaximumLadenMass> - <RegisteredPassengers> - <LowerDeck>30</LowerDeck> - <UpperDeck>0</UpperDeck> - </RegisteredPassengers> - <LowEntry>true</LowEntry> - <HeightIntegratedBody>3.000</HeightIntegratedBody> - <VehicleLength>11.830</VehicleLength> - <VehicleWidth>2.550</VehicleWidth> - <EntranceHeight>0.120</EntranceHeight> + <AirdragModifiedMultistage>false</AirdragModifiedMultistage> + <ClassBus>I+II</ClassBus> + <NumberPassengersLowerDeck>30</NumberPassengersLowerDeck> + <NumberPassengersUpperDeck>0</NumberPassengersUpperDeck> + <BodyworkCode>CE</BodyworkCode> + <LowEntry>true</LowEntry> + <HeightIntegratedBody>3000</HeightIntegratedBody> + <VehicleLength>11830</VehicleLength> + <VehicleWidth>2550</VehicleWidth> + <EntranceHeight>120</EntranceHeight> <DoorDriveTechnology>pneumatic</DoorDriveTechnology> + <VehicleDeclarationType>final</VehicleDeclarationType> <Components xsi:type="CompletedVehicleComponentsDeclarationType"> - <v2.6:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> + <v2.8:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0"> <Data id="CabinX23h" xsi:type="AirDragDataDeclarationType"> <Manufacturer>Generic Manufacturer</Manufacturer> <Model>Generic Model</Model> @@ -43,28 +50,26 @@ <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> </di:Reference> </Signature> - </v2.6:AirDrag> + </v2.8:AirDrag> <Auxiliaries> <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> <ElectricSystem> - <AlternatorTechnology>default</AlternatorTechnology> <LEDLights> + <Interiorlights>false</Interiorlights> <Dayrunninglights>false</Dayrunninglights> - <Headlights>false</Headlights> <Positionlights>false</Positionlights> <Brakelights>false</Brakelights> - <Interiorlights>false</Interiorlights> + <Headlights>false</Headlights> </LEDLights> </ElectricSystem> <HVAC> <SystemConfiguration>7</SystemConfiguration> - <CompressorType> - <DriverAC>2-stage</DriverAC> - <PassengerAC>4-stage</PassengerAC> - </CompressorType> + <HeatPumpTypeDriverCompartment>non R-744 2-stage</HeatPumpTypeDriverCompartment> + <HeatPumpModeDriverCompartment>cooling</HeatPumpModeDriverCompartment> + <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> + <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> <AuxiliaryHeaterPower>0</AuxiliaryHeaterPower> <DoubleGlazing>true</DoubleGlazing> - <HeatPump>false</HeatPump> <AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater> <SeparateAirDistributionDucts>true</SeparateAirDistributionDucts> </HVAC> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml index c6491ebfa32c1d3646fa4c1307b9eb32a669f28c..8db17d3e2dd72669113803a63500cc3c932560a2 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/SchemaVersion2.8/vecto_vehicle-stage_input_full-sample_group41.xml @@ -70,8 +70,8 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob E:\VECTO_DEV\fk_vecto </ElectricSystem> <HVAC> <SystemConfiguration>7</SystemConfiguration> - <HeatPumpTypeDriverCompartment>none</HeatPumpTypeDriverCompartment> - <HeatPumpModeDriverCompartment>heating</HeatPumpModeDriverCompartment> + <HeatPumpTypeDriverCompartment>non R-744 2-stage</HeatPumpTypeDriverCompartment> + <HeatPumpModeDriverCompartment>cooling</HeatPumpModeDriverCompartment> <HeatPumpTypePassengerCompartment>non R-744 2-stage</HeatPumpTypePassengerCompartment> <HeatPumpModePassengerCompartment>cooling</HeatPumpModePassengerCompartment> <AuxiliaryHeaterPower>0</AuxiliaryHeaterPower> diff --git a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml b/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml index dd9d6e16800bc1784adf69715867ad6f45d71237..8fafa032e99ffae2e46cab5f5c5e203cd505c775 100644 --- a/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml +++ b/VectoCore/VectoCoreTest/bin/Debug/TestData/Integration/Buses/FactorMethod/primary_heavyBus group42_SmartPS.RSLT_VIF.xml @@ -456,7 +456,7 @@ xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationOutput:VehicleInterimFile <Mission>Interurban</Mission> <SimulationParameters> <TotalVehicleMass unit="kg">16239.55</TotalVehicleMass> - <Payload unit="kg">1026.55</Payload> + <Payload unit="kg">1254.68</Payload> <PassengerCount>14.46</PassengerCount> <FuelMode>single fuel mode</FuelMode> </SimulationParameters>