From ade86fb959f342b1771b4fee946753277bb97963 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Thu, 10 Oct 2019 15:03:04 +0200 Subject: [PATCH] moving aaux to vectocore --- VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj | 219 ---------- .../Impl/Electrics/ElectricalConsumerList.cs | 168 -------- .../Impl/HVAC/BusEngineType.cs | 9 - .../DownstreamModules/Impl/HVAC/SSMTOOL.cs | 270 ------------ .../DownstreamModules/HVAC/Class1.cs | 8 - .../DownstreamModules/HVAC/ISSMGenInputs.cs | 74 ---- .../DownstreamModules/HVAC/ISSMRun.cs | 16 - .../DownstreamModules/IAbstractModule.cs | 6 - .../BusAuxiliaries/Properties/AssemblyInfo.cs | 35 -- VECTOAux/BusAuxiliaries/Resources/Blank.bmp | Bin 4150 -> 0 bytes VECTOAux/BusAuxiliaries/Resources/Image1.png | Bin 233 -> 0 bytes VECTOAux/BusAuxiliaries/Resources/Info.bmp | Bin 4150 -> 0 bytes .../BusAuxiliaries/Resources/Open-icon.png | Bin 786 -> 0 bytes VECTOAux/BusAuxiliaries/Resources/desktop.png | Bin 642 -> 0 bytes .../BusAuxiliaries/Resources/favorites.png | Bin 850 -> 0 bytes .../BusAuxiliaries/Resources/file-history.png | Bin 757 -> 0 bytes VECTOAux/BusAuxiliaries/Resources/new_dir.png | Bin 625 -> 0 bytes VECTOAux/BusAuxiliaries/packages.config | 5 - .../BusAuxiliaries/AdvancedAuxiliaries.cs | 50 ++- .../Models}/BusAuxiliaries/AuxiliaryConfig.cs | 295 +++++++++++-- .../DownstreamModules/Impl/AbstractModule.cs | 2 +- .../DownstreamModules/Impl/AlternatorMap.cs | 6 +- .../Impl/Electrics/Alternator.cs | 4 +- .../Impl/Electrics/CombinedAlternator.cs | 34 +- .../Electrics/CombinedAlternatorMapRow.cs | 4 +- .../Electrics/CombinedAlternatorSignals.cs | 4 +- .../Impl/Electrics/ElectricalConsumer.cs | 98 ++--- .../Impl/Electrics/ElectricalConsumerList.cs | 169 ++++++++ .../Electrics/ElectricsUserInputsConfig.cs | 11 +- .../Impl/Electrics/M00Impl.cs | 17 +- .../Impl/Electrics/M02Impl.cs | 7 +- .../Impl/Electrics/M05Impl.cs | 6 +- .../Impl/Electrics/M0_5Impl.cs | 7 +- .../Impl/Electrics/ResultCard.cs | 24 +- .../DownstreamModules/Impl/HVAC/Bus.cs | 2 +- .../Impl/HVAC/BusDatabase.cs | 10 +- .../Impl/HVAC/BusEngineType.cs | 9 + .../Impl/HVAC/EnvironmentalCondition.cs | 15 +- .../Impl/HVAC/EnvironmentalConditionsMap.cs | 14 +- .../Impl/HVAC/HVACConstants.cs | 4 +- .../Impl/HVAC/HVACSteadyStateModel.cs | 8 +- .../Impl/HVAC/HVACUserInputsConfig.cs | 2 +- .../DownstreamModules/Impl/HVAC/IBus.cs | 2 +- .../Impl/HVAC/IBusDatabase.cs | 2 +- .../DownstreamModules/Impl/HVAC/M01Impl.cs | 20 +- .../Impl/HVAC/SSMCalculate.cs | 165 +++++--- .../Impl/HVAC/SSMGenInputs.cs | 254 ++++++----- .../DownstreamModules/Impl/HVAC/SSMRun.cs | 73 ++-- .../DownstreamModules/Impl/HVAC/SSMTOOL.cs | 399 ++++++++++++++++++ .../Impl/HVAC/SSMTechList.cs | 22 +- .../Impl/HVAC/TechListBenefitLine.cs | 120 ++++-- .../DownstreamModules/Impl/M06Impl.cs | 7 +- .../DownstreamModules/Impl/M07Impl.cs | 7 +- .../DownstreamModules/Impl/M08Impl.cs | 7 +- .../DownstreamModules/Impl/M09Impl.cs | 8 +- .../DownstreamModules/Impl/M10Impl.cs | 7 +- .../DownstreamModules/Impl/M11Impl.cs | 6 +- .../DownstreamModules/Impl/M12Impl.cs | 7 +- .../DownstreamModules/Impl/M13Impl.cs | 7 +- .../DownstreamModules/Impl/M14Impl.cs | 11 +- .../Impl/Pneumatics/CompressorMap.cs | 12 +- .../Impl/Pneumatics/M03Impl.cs | 7 +- .../Impl/Pneumatics/M04Impl.cs | 8 +- .../Impl/Pneumatics/PneumaticActuationsMap.cs | 4 +- .../Pneumatics/PneumaticUserInputsConfig.cs | 2 +- .../PneumaticsAuxilliariesConfig.cs | 2 +- .../Electrics/AltUserInput.cs | 2 +- .../Electrics/AlternatorMapValues.cs | 2 +- .../Electrics/ElectricConstants.cs | 2 +- .../Electrics/IAlternator.cs | 2 +- .../Electrics/IAlternatorMap.cs | 5 +- .../Electrics/ICombinedAlternator.cs | 2 +- .../Electrics/ICombinedAlternatorMapRow.cs | 2 +- .../Electrics/ICombinedAlternatorSignals.cs | 2 +- .../DownstreamModules/HVAC/Class1.cs | 8 + .../HVAC/IEnvironmentalCondition.cs | 7 +- .../HVAC/IEnvironmentalConditionsMap.cs | 2 +- .../DownstreamModules/HVAC/IHVACConstants.cs | 4 +- .../HVAC/IHVACSteadyStateModel.cs | 2 +- .../DownstreamModules/HVAC/ISSMCalculate.cs | 40 +- .../DownstreamModules/HVAC/ISSMGenInputs.cs | 77 ++++ .../DownstreamModules/HVAC/ISSMRun.cs | 18 + .../DownstreamModules/HVAC/ISSMTOOL.cs | 20 +- .../DownstreamModules/HVAC/ISSMTechList.cs | 2 +- .../HVAC/ITechListBenefitLine.cs | 2 +- .../DownstreamModules/IAbstractModule.cs | 6 + .../IM0_5_SmartAlternatorSetEfficiency.cs | 2 +- .../IM0_NonSmart_AlternatorsSetEfficiency.cs | 2 +- .../Interfaces/DownstreamModules/IM10.cs | 2 +- .../Interfaces/DownstreamModules/IM11.cs | 2 +- .../Interfaces/DownstreamModules/IM13.cs | 2 +- .../Interfaces/DownstreamModules/IM14.cs | 2 +- .../IM1_AverageHVACLoadDemand.cs | 4 +- .../IM2_AverageElectrialLoadDemand.cs | 2 +- .../IM3_AveragePneumaticLoadDemand.cs | 2 +- .../DownstreamModules/IM4_AirCompressor.cs | 2 +- .../IM5_SmartAlternatorSetGeneration.cs | 2 +- .../Interfaces/DownstreamModules/IM6.cs | 2 +- .../Interfaces/DownstreamModules/IM7.cs | 2 +- .../Interfaces/DownstreamModules/IM8.cs | 2 +- .../Interfaces/DownstreamModules/IM9.cs | 4 +- .../PneumaticSystem/ActuationsKey.cs | 2 +- .../PneumaticSystem/ICompressorMap.cs | 4 +- .../IPneumaticActuationsMAP.cs | 2 +- .../BusAuxiliaries/Interfaces/Enumerations.cs | 2 +- .../Interfaces/IAdvancedAuxiliaries.cs | 17 +- .../Interfaces/IAuxiliaryEvent.cs | 2 +- .../Models}/BusAuxiliaries/Interfaces/IM12.cs | 4 +- .../BusAuxiliaries/Interfaces/ISignals.cs | 2 +- .../BusAuxiliaries/Interfaces/Signals.cs | 2 +- .../BusAuxiliaries/Interfaces/VectoInputs.cs | 3 +- .../BusAuxiliaries/Legacy/cDelaunayMap.cs | 4 +- .../Models}/BusAuxiliaries/Legacy/cFile_V3.cs | 8 +- .../Models/BusAuxiliaries/Legacy/cMAP.cs | 42 +- .../BusAuxiliaries/Util/FilePathUtils.cs | 2 +- .../VectoCore/Models/Declaration/FloorType.cs | 9 + 116 files changed, 1684 insertions(+), 1433 deletions(-) delete mode 100644 VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj delete mode 100644 VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs delete mode 100644 VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs delete mode 100644 VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs delete mode 100644 VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs delete mode 100644 VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Blank.bmp delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Image1.png delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Info.bmp delete mode 100644 VECTOAux/BusAuxiliaries/Resources/Open-icon.png delete mode 100644 VECTOAux/BusAuxiliaries/Resources/desktop.png delete mode 100644 VECTOAux/BusAuxiliaries/Resources/favorites.png delete mode 100644 VECTOAux/BusAuxiliaries/Resources/file-history.png delete mode 100644 VECTOAux/BusAuxiliaries/Resources/new_dir.png delete mode 100644 VECTOAux/BusAuxiliaries/packages.config rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/AdvancedAuxiliaries.cs (88%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/AuxiliaryConfig.cs (58%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs (83%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs (97%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs (98%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs (94%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs (87%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs (69%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs (64%) create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs (85%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs (78%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs (87%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs (87%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs (92%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs (98%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs (94%) create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs (53%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs (70%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs (90%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs (80%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs (78%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs (79%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs (77%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs (53%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs (69%) create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs (97%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs (64%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs (96%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs (92%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs (95%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs (88%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs (78%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs (95%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs (95%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs (88%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs (94%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs (95%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs (96%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs (87%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs (71%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs (88%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs (90%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs (87%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs (71%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs (75%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs (72%) create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs (51%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs (68%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs (77%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs (54%) create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs (57%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs (90%) create mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs (95%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs (97%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs (67%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs (90%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs (96%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs (94%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs (97%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs (95%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs (94%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs (93%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs (91%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs (87%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/Enumerations.cs (60%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs (92%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs (92%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/IM12.cs (90%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/ISignals.cs (98%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/Signals.cs (96%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Interfaces/VectoInputs.cs (95%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Legacy/cDelaunayMap.cs (99%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Legacy/cFile_V3.cs (95%) rename VECTOAux/BusAuxiliaries/Legacy/Class1.cs => VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs (82%) rename {VECTOAux => VectoCore/VectoCore/Models}/BusAuxiliaries/Util/FilePathUtils.cs (98%) create mode 100644 VectoCore/VectoCore/Models/Declaration/FloorType.cs diff --git a/VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj b/VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj deleted file mode 100644 index b4cdb4b1be..0000000000 --- a/VECTOAux/BusAuxiliaries/BusAuxiliaries.csproj +++ /dev/null @@ -1,219 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> - <PropertyGroup> - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> - <ProjectGuid>{550D99D4-25F7-48D9-B0F0-E5DD6CB3485D}</ProjectGuid> - <OutputType>Library</OutputType> - <AppDesignerFolder>Properties</AppDesignerFolder> - <RootNamespace>TUGraz.VectoCore.BusAuxiliaries</RootNamespace> - <AssemblyName>BusAuxiliaries</AssemblyName> - <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> - <FileAlignment>512</FileAlignment> - <TargetFrameworkProfile /> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> - <DebugSymbols>true</DebugSymbols> - <DebugType>full</DebugType> - <Optimize>false</Optimize> - <OutputPath>bin\Debug\</OutputPath> - <DefineConstants>DEBUG;TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> - <DebugType>pdbonly</DebugType> - <Optimize>true</Optimize> - <OutputPath>bin\Release\</OutputPath> - <DefineConstants>TRACE</DefineConstants> - <ErrorReport>prompt</ErrorReport> - <WarningLevel>4</WarningLevel> - </PropertyGroup> - <ItemGroup> - <Reference Include="Microsoft.VisualBasic" /> - <Reference Include="Newtonsoft.Json, Version=8.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> - <HintPath>..\..\packages\Newtonsoft.Json.8.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> - <Private>True</Private> - </Reference> - <Reference Include="Omu.ValueInjecter, Version=3.1.1.0, Culture=neutral, PublicKeyToken=c7694541b0ac80e4, processorArchitecture=MSIL"> - <HintPath>..\..\packages\ValueInjecter.3.1.1.5\lib\net40\Omu.ValueInjecter.dll</HintPath> - <Private>True</Private> - </Reference> - <Reference Include="System" /> - <Reference Include="System.Core" /> - <Reference Include="System.Drawing" /> - <Reference Include="System.Windows.Forms" /> - <Reference Include="System.Xml.Linq" /> - <Reference Include="System.Data.DataSetExtensions" /> - <Reference Include="Microsoft.CSharp" /> - <Reference Include="System.Data" /> - <Reference Include="System.Net.Http" /> - <Reference Include="System.Xml" /> - </ItemGroup> - <ItemGroup> - <Compile Include="AuxiliaryConfig.cs" /> - <Compile Include="AdvancedAuxiliaries.cs" /> - <Compile Include="IAuxiliaryConfig.cs" /> - <Compile Include="DownstreamModules\Impl\AbstractModule.cs" /> - <Compile Include="DownstreamModules\Impl\AlternatorMap.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\Alternator.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\ElectricsUserInputsConfig.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\ResultCard.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\ElectricalConsumer.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\ElectricalConsumerList.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\CombinedAlternatorSignals.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\CombinedAlternatorMapRow.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\CombinedAlternator.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\M00Impl.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\M02Impl.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\Bus.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\BusDatabase.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\BusEngineType.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\SSMTOOL.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\SSMTechList.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\SSMRun.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\SSMGenInputs.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\SSMCalculate.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\HVACUserInputsConfig.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\HVACSteadyStateModel.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\HVACConstants.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\EnvironmentalConditionsMap.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\EnvironmentalCondition.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\DeleteCell.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\DeleteColumn.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\IBusDatabase.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\IBus.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\TechListBenefitLine.cs" /> - <Compile Include="DownstreamModules\Impl\Pneumatics\PneumaticUserInputsConfig.cs" /> - <Compile Include="DownstreamModules\Impl\Pneumatics\PneumaticsAuxilliariesConfig.cs" /> - <Compile Include="DownstreamModules\Impl\Pneumatics\PneumaticActuationsMap.cs" /> - <Compile Include="DownstreamModules\Impl\Pneumatics\CompressorMap.cs" /> - <Compile Include="DownstreamModules\Impl\Pneumatics\M03Impl.cs" /> - <Compile Include="DownstreamModules\Impl\Pneumatics\M04Impl.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\M05Impl.cs" /> - <Compile Include="DownstreamModules\Impl\Electrics\M0_5Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M10Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M11Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M12Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M13Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M14Impl.cs" /> - <Compile Include="DownstreamModules\Impl\HVAC\M01Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M06Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M07Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M08Impl.cs" /> - <Compile Include="DownstreamModules\Impl\M09Impl.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\SmartResult.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\IResultCard.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\IElectricsUserInputsConfig.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\IElectricalConsumerList.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\IElectricalConsumer.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\ICombinedAlternatorSignals.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\ICombinedAlternatorMapRow.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\AlternatorMapValues.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\AltUserInput.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\ElectricConstants.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\IAlternator.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\IAlternatorMap.cs" /> - <Compile Include="Interfaces\DownstreamModules\Electrics\ICombinedAlternator.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\Class1.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMTOOL.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMTechList.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMRun.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMGenInputs.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\ISSMCalculate.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\IHVACUserInputsConfig.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\IHVACSteadyStateModel.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\IHVACConstants.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\IEnvironmentalConditionsMap.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\IEnvironmentalCondition.cs" /> - <Compile Include="Interfaces\DownstreamModules\HVAC\ITechListBenefitLine.cs" /> - <Compile Include="Interfaces\DownstreamModules\IAbstractModule.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM0_5_SmartAlternatorSetEfficiency.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM0_NonSmart_AlternatorsSetEfficiency.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM10.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM11.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM13.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM14.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM1_AverageHVACLoadDemand.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM2_AverageElectrialLoadDemand.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM3_AveragePneumaticLoadDemand.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM4_AirCompressor.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM5_SmartAlternatorSetGeneration.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM6.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM7.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM8.cs" /> - <Compile Include="Interfaces\DownstreamModules\IM9.cs" /> - <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\ActuationsKey.cs" /> - <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\IPneumaticUserInputsConfig.cs" /> - <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\IPneumaticsAuxilliariesConfig.cs" /> - <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\IPneumaticActuationsMAP.cs" /> - <Compile Include="Interfaces\DownstreamModules\PneumaticSystem\ICompressorMap.cs" /> - <Compile Include="Interfaces\Enumerations.cs" /> - <Compile Include="Interfaces\IAdvancedAuxiliaries.cs" /> - <Compile Include="Interfaces\IAuxiliaryEvent.cs" /> - <Compile Include="Interfaces\IFuelConsumptionMap.cs" /> - <Compile Include="Interfaces\IM12.cs" /> - <Compile Include="Interfaces\ISignals.cs" /> - <Compile Include="Interfaces\IVectoInputs.cs" /> - <Compile Include="Interfaces\Signals.cs" /> - <Compile Include="Interfaces\VectoInputs.cs" /> - <Compile Include="Legacy\cDelaunayMap.cs" /> - <Compile Include="Legacy\cFile_V3.cs" /> - <Compile Include="Legacy\Class1.cs" /> - <Compile Include="Properties\AssemblyInfo.cs" /> - <Compile Include="Util\FilePathUtils.cs" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\..\VectoCommon\VectoCommon\VectoCommon.csproj"> - <Project>{79A066AD-69A9-4223-90F6-6ED5D2D084F4}</Project> - <Name>VectoCommon</Name> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <None Include="packages.config" /> - </ItemGroup> - <ItemGroup> - <None Include="Images\application-export-icon-small.png" /> - </ItemGroup> - <ItemGroup> - <Resource Include="Images\Delete.png"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </Resource> - </ItemGroup> - <ItemGroup> - <None Include="Images\Delete1.png" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\Blank.bmp" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\desktop.png" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\favorites.png" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\file-history.png" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\Image1.png" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\Info.bmp" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\new_dir.png" /> - </ItemGroup> - <ItemGroup> - <None Include="Resources\Open-icon.png" /> - </ItemGroup> - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> - <!-- To modify your build process, add your task inside one of the targets below and uncomment it. - Other similar extension points exist, see Microsoft.Common.targets. - <Target Name="BeforeBuild"> - </Target> - <Target Name="AfterBuild"> - </Target> - --> -</Project> \ No newline at end of file diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs b/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs deleted file mode 100644 index f535ce8707..0000000000 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs +++ /dev/null @@ -1,168 +0,0 @@ -// Copyright 2017 European Union. -// Licensed under the EUPL (the 'Licence'); -// -// * You may not use this work except in compliance with the Licence. -// * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl -// * Unless required by applicable law or agreed to in writing, -// software distributed under the Licence is distributed on an "AS IS" basis, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// -// See the LICENSE.txt for the specific language governing permissions and limitations. - - -using System; -using System.Collections.Generic; -using System.Linq; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics -{ - public class ElectricalConsumerList : IElectricalConsumerList - { - private List<IElectricalConsumer> _items = new List<IElectricalConsumer>(); - private double _powernetVoltage; - private double _doorDutyCycleZeroToOne; - - - // Constructor - public ElectricalConsumerList(double powernetVoltage, double doorDutyCycle_ZeroToOne, bool createDefaultList = false) - { - _powernetVoltage = powernetVoltage; - - if (createDefaultList) - _items = GetDefaultConsumerList(); - - - _doorDutyCycleZeroToOne = doorDutyCycle_ZeroToOne; - } - - // Transfers the Info comments from a default set of consumables to a live set. - // This way makes the comments not dependent on saved data. - public void MergeInfoData() - { - if (_items.Count != GetDefaultConsumerList().Count) - return; - - var dflt = GetDefaultConsumerList(); - - for (var idx = 0; idx <= _items.Count - 1; idx++) - - _items[idx].Info = dflt[idx].Info; - } - - // Initialise default set of consumers - public List<IElectricalConsumer> GetDefaultConsumerList() - { - - // This populates the default settings as per engineering spreadsheet. - // Vehicle Basic Equipment' category can be added or remove by customers. - // At some time in the future, this may be removed and replace with file based consumer lists. - - var items = new List<IElectricalConsumer>(); - - IElectricalConsumer c1, c2, c3, c4, c5, c6, c7, c8, c9, c10, c11, c12, c13, c14, c15, c16, c17, c18, c19, c20; - - c1 = (IElectricalConsumer)new ElectricalConsumer(false, "Doors", "Doors per Door", 3.0, 0.096339, _powernetVoltage, 3, ""); - c2 = (IElectricalConsumer)new ElectricalConsumer(true, "Veh Electronics &Engine", "Controllers,Valves etc", 25.0, 1.0, _powernetVoltage, 1, ""); - c3 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Radio City", 2.0, 0.8, _powernetVoltage, 1, ""); - c4 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Radio Intercity", 5.0, 0.8, _powernetVoltage, 0, ""); - c5 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Radio/Audio Tourism", 9.0, 0.8, _powernetVoltage, 0, ""); - c6 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Fridge", 4.0, 0.5, _powernetVoltage, 0, ""); - c7 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Kitchen Standard", 67.0, 0.05, _powernetVoltage, 0, ""); - c8 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Interior lights City/ Intercity + Doorlights [Should be 1/m]", 1.0, 0.7, _powernetVoltage, 12, "1 Per metre length of bus"); - c9 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "LED Interior lights ceiling city/Intercity + door [Should be 1/m]", 0.6, 0.7, _powernetVoltage, 0, "1 Per metre length of bus"); - c10 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "Interior lights Tourism + reading [1/m]", 1.1, 0.7, _powernetVoltage, 0, "1 Per metre length of bus"); - c11 = (IElectricalConsumer)new ElectricalConsumer(false, "Vehicle basic equipment", "LED Interior lights ceiling Tourism + LED reading [Should be 1/m]", 0.66, 0.7, _powernetVoltage, 0, "1 Per metre length of bus"); - c12 = (IElectricalConsumer)new ElectricalConsumer(false, "Customer Specific Equipment", "External Displays Font/Side/Rear", 2.65017667844523, 1.0, _powernetVoltage, 4, ""); - c13 = (IElectricalConsumer)new ElectricalConsumer(false, "Customer Specific Equipment", "Internal display per unit ( front side rear)", 1.06007067137809, 1.0, _powernetVoltage, 1, ""); - c14 = (IElectricalConsumer)new ElectricalConsumer(false, "Customer Specific Equipment", "CityBus Ref EBSF Table4 Devices ITS No Displays", 9.3, 1.0, _powernetVoltage, 1, ""); - c15 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Exterior Lights BULB", 7.4, 1.0, _powernetVoltage, 1, ""); - c16 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Day running lights LED bonus", -0.723, 1.0, _powernetVoltage, 1, ""); - c17 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Antifog rear lights LED bonus", -0.17, 1.0, _powernetVoltage, 1, ""); - c18 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Position lights LED bonus", -1.2, 1.0, _powernetVoltage, 1, ""); - c19 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Direction lights LED bonus", -0.3, 1.0, _powernetVoltage, 1, ""); - c20 = (IElectricalConsumer)new ElectricalConsumer(false, "Lights", "Brake Lights LED bonus", -1.2, 1.0, _powernetVoltage, 1, ""); - - items.Add(c1); - items.Add(c2); - items.Add(c3); - items.Add(c4); - items.Add(c5); - items.Add(c6); - items.Add(c7); - items.Add(c8); - items.Add(c9); - items.Add(c10); - items.Add(c11); - items.Add(c12); - items.Add(c13); - items.Add(c14); - items.Add(c15); - items.Add(c16); - items.Add(c17); - items.Add(c18); - items.Add(c19); - items.Add(c20); - - return items; - } - - - // Interface implementation - public double DoorDutyCycleFraction - { - get { - return _doorDutyCycleZeroToOne; - } - set { - _doorDutyCycleZeroToOne = value; - } - } - - public List<IElectricalConsumer> Items - { - get { - return _items; - } - } - - public void AddConsumer(IElectricalConsumer consumer) - { - if (!_items.Contains(consumer)) - _items.Add(consumer); - else - throw new ArgumentException("Consumer Already Present in the list"); - } - - public void RemoveConsumer(IElectricalConsumer consumer) - { - if (_items.Contains(consumer)) - _items.Remove(consumer); - else - throw new ArgumentException("Consumer Not In List"); - } - - - public Ampere GetTotalAverageDemandAmps(bool excludeOnBase) - { - Ampere Amps; - - if (excludeOnBase) - - Amps = Items.Where(x => x.BaseVehicle == false) - .Sum(consumer => consumer.TotalAvgConumptionAmps(DoorDutyCycleFraction)); - - // Aggregate item In Items Where item.BaseVehicle = False Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction)) - - - else - - Amps = Items.Sum(x => x.TotalAvgConumptionAmps(DoorDutyCycleFraction)); - //Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction)) - - - return Amps; - } - } -} diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs b/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs deleted file mode 100644 index 5bee1d3394..0000000000 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public enum BusEngineType - { - Diesal = 1, - Gas = 2, - Hybrid = 3 - } -} diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs b/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs deleted file mode 100644 index 94c9ce57fd..0000000000 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs +++ /dev/null @@ -1,270 +0,0 @@ -using System; -using System.IO; -using System.Linq; -using System.Text; -using Newtonsoft.Json; -using Omu.ValueInjecter; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -using TUGraz.VectoCore.BusAuxiliaries.Util; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - // Used by frmHVACTool - // Replaces Spreadsheet model which does the same calculation - // Version of which appears on the form title. - public class SSMTOOL : ISSMTOOL - { - private string filePath; - public ISSMGenInputs GenInputs { get; set; } - public ISSMTechList TechList { get; set; } - public ISSMCalculate Calculate { get; set; } - public bool SSMDisabled { get; set; } - public IHVACConstants HVACConstants { get; set; } - - // Repeat Warning Flags - private bool CompressorCapacityInsufficientWarned; - private bool FuelFiredHeaterInsufficientWarned; - - // Base Values - public double ElectricalWBase - { - get { - return SSMDisabled ? 0 : Calculate.ElectricalWBase; // .SI(Of Watt)() - } - } - - public double MechanicalWBase - { - get { - return SSMDisabled ? 0 : Calculate.MechanicalWBase; // .SI(Of Watt)() - } - } - - public double FuelPerHBase - { - get { - return SSMDisabled ? 0 : Calculate.FuelPerHBase; // .SI(Of LiterPerHour)() - } - } - - // Adjusted Values - public double ElectricalWAdjusted - { - get { - return SSMDisabled ? 0 : Calculate.ElectricalWAdjusted; // .SI(Of Watt)() - } - } - - public double MechanicalWBaseAdjusted - { - get { - var mechAdjusted = SSMDisabled ? 0 : Calculate.MechanicalWBaseAdjusted; - - if (CompressorCapacityInsufficientWarned == false && (mechAdjusted) / (1000 * GenInputs.AC_COP) > GenInputs.AC_CompressorCapacitykW) { - OnMessage(this, "HVAC SSM :AC-Compressor Capacity unable to service cooling, run continues as if capacity was sufficient.", AdvancedAuxiliaryMessageType.Warning); - CompressorCapacityInsufficientWarned = true; - } - - - return mechAdjusted; // .SI(Of Watt)() - } - } - - public double FuelPerHBaseAdjusted - { - get { - return SSMDisabled ? 0 : Calculate.FuelPerHBaseAdjusted; // .SI(Of LiterPerHour)() - } - } - - // Constructors - public SSMTOOL(string filePath, HVACConstants hvacConstants, bool isDisabled = false, bool useTestValues = false) - { - this.filePath = filePath; - this.SSMDisabled = isDisabled; - this.HVACConstants = hvacConstants; - - GenInputs = new SSMGenInputs(useTestValues, FilePathUtils.fPATH(filePath)); - TechList = new SSMTechList(filePath, GenInputs, useTestValues); - - Calculate = new SSMCalculate(this); - } - - // Clone values from another object of same type - public void Clone(ISSMTOOL from) - { - var feedback = string.Empty; - - GenInputs.InjectFrom(((SSMTOOL)from).GenInputs); - - TechList.Clear(); - - foreach (var line in from.TechList.TechLines) { - var newLine = new TechListBenefitLine(this.GenInputs); - // newLine.InjectFrom() - newLine.InjectFrom(line); - TechList.Add(newLine, ref feedback); - } - } - - // Persistance Functions - public bool Save(string filePath) - { - var returnValue = true; - var settings = new JsonSerializerSettings(); - settings.TypeNameHandling = TypeNameHandling.Objects; - - // JSON METHOD - try { - var output = JsonConvert.SerializeObject(this, Formatting.Indented, settings); - - File.WriteAllText(filePath, output); - } catch (Exception ex) { - - // Nothing to do except return false. - returnValue = false; - } - - return returnValue; - } - - public bool Load(string filePath) - { - var returnValue = true; - var settings = new JsonSerializerSettings(); - SSMTOOL tmpAux; // = New SSMTOOL(filePath, HVACConstants) - - settings.TypeNameHandling = TypeNameHandling.Objects; - - // JSON METHOD - try { - var output = File.ReadAllText(filePath); - - - tmpAux = JsonConvert.DeserializeObject<SSMTOOL>(output, settings); - - tmpAux.TechList.SetSSMGeneralInputs(tmpAux.GenInputs); - - foreach (TechListBenefitLine tll in tmpAux.TechList.TechLines) - - tll.inputSheet = tmpAux.GenInputs; - - - // This is where we Assume values of loaded( Deserialized ) object. - Clone(tmpAux); - } catch (Exception ex) { - - // Nothing to do except return false. - - returnValue = false; - } - - return returnValue; - } - - // Comparison - public bool IsEqualTo(ISSMTOOL source) - { - - // In this methods we only want to compare the non Static , non readonly public properties of - // The class's General, User Inputs and Tech Benefit members. - - return compareGenUserInputs(source) && compareTechListBenefitLines(source); - } - - private bool compareGenUserInputs(ISSMTOOL source) - { - var src = (SSMTOOL)source; - - var returnValue = true; - - var properties = this.GenInputs.GetType().GetProperties(); - - foreach (var prop in properties) { - - // If Not prop.GetAccessors.IsReadOnly Then - if (prop.CanWrite) { - if (!prop.GetValue(this.GenInputs, null/* TODO Change to default(_) if this is not a reference type */).Equals(prop.GetValue(src.GenInputs, null/* TODO Change to default(_) if this is not a reference type */))) - returnValue = false; - } - } - - return returnValue; - } - - private bool compareTechListBenefitLines(ISSMTOOL source) - { - var src = (SSMTOOL)source; - - // Equal numbers of lines check - if (this.TechList.TechLines.Count != src.TechList.TechLines.Count) - return false; - - foreach (var tl in this.TechList.TechLines.OrderBy(o => o.Category).ThenBy(n => n.BenefitName)) { - - // First Check line exists in other - if (src.TechList.TechLines.Where(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category).Count() != 1) - return false; - else { - - // check are equal - - var testLine = src.TechList.TechLines.First(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category); - - if (!testLine.IsEqualTo(tl)) - return false; - } - } - - // All Looks OK - return true; - } - - // Overrides - public override string ToString() - { - var sb = new StringBuilder(); - - sb.AppendLine(Calculate.ToString()); - - - return sb.ToString(); - } - - // Dynamicly Get Fuel having re-adjusted Engine Heat Waste, this was originally supposed to be Solid State. Late adjustment request 24/3/2015 - public double FuelPerHBaseAsjusted(double AverageUseableEngineWasteHeatKW) - { - if (SSMDisabled) - return 0; - - // Set Engine Waste Heat - GenInputs.AH_EngineWasteHeatkW = AverageUseableEngineWasteHeatKW; - var fba = FuelPerHBaseAdjusted; - - // Dim FuelFiredWarning As Boolean = fba * GenInputs.BC_AuxHeaterEfficiency * HVACConstants.FuelDensity * GenInputs.BC_GCVDieselOrHeatingOil * 1000 > (AverageUseableEngineWasteHeatKW + GenInputs.AH_FuelFiredHeaterkW) - - // If Not FuelFiredHeaterInsufficientWarned AndAlso FuelFiredWarning Then - - // FuelFiredHeaterInsufficientWarned = True - - // OnMessage(Me, " HVAC SSM : Fuel fired heater insufficient for heating requirements, run continues assuming it was sufficient.", AdvancedAuxiliaryMessageType.Warning) - - // End If - - return fba; - } - - // Events - public event MessageEventHandler Message; - - // Raise Message Event. - private void OnMessage(object sender, string message, AdvancedAuxiliaryMessageType messageType) - { - if (message != null) { - object ssmtool = this; - Message?.Invoke(ref ssmtool, message: message, messageType: messageType); - } - } - } -} diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs deleted file mode 100644 index 2ad245a613..0000000000 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC -{ - public enum TechLineType - { - Normal, - HVCActiveSelection - } -} diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs deleted file mode 100644 index 1200f23926..0000000000 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs +++ /dev/null @@ -1,74 +0,0 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC -{ - public interface ISSMGenInputs - { - - // Bus Parameterisation - string BP_BusModel { get; set; } - double BP_NumberOfPassengers { get; set; } - string BP_BusFloorType { get; set; } - bool BP_DoubleDecker { get; set; } - double BP_BusLength { get; set; } - double BP_BusWidth { get; set; } - double BP_BusHeight { get; set; } - - double BP_BusFloorSurfaceArea { get; } - double BP_BusWindowSurface { get; } - double BP_BusSurfaceAreaM2 { get; } - double BP_BusVolume { get; } - - // Boundary Conditions: - double BC_GFactor { get; set; } - double BC_SolarClouding { get; } - double BC_HeatPerPassengerIntoCabinW { get; } - double BC_PassengerBoundaryTemperature { get; set; } - double BC_PassengerDensityLowFloor { get; } - double BC_PassengerDensitySemiLowFloor { get; } - double BC_PassengerDensityRaisedFloor { get; } - double BC_CalculatedPassengerNumber { get; } - double BC_UValues { get; } - double BC_HeatingBoundaryTemperature { get; set; } - double BC_CoolingBoundaryTemperature { get; set; } - double BC_TemperatureCoolingTurnsOff { get; } - double BC_HighVentilation { get; set; } - double BC_lowVentilation { get; set; } - double BC_High { get; } - double BC_Low { get; } - double BC_HighVentPowerW { get; } - double BC_LowVentPowerW { get; } - double BC_SpecificVentilationPower { get; set; } - double BC_AuxHeaterEfficiency { get; set; } - double BC_GCVDieselOrHeatingOil { get; set; } - double BC_WindowAreaPerUnitBusLength { get; } - double BC_FrontRearWindowArea { get; } - double BC_MaxTemperatureDeltaForLowFloorBusses { get; set; } - double BC_MaxPossibleBenefitFromTechnologyList { get; set; } - - // EnviromentalConditions - double EC_EnviromentalTemperature { get; set; } - double EC_Solar { get; set; } - IEnvironmentalConditionsMap EC_EnvironmentalConditionsMap { get; } - string EC_EnviromentalConditions_BatchFile { get; set; } - bool EC_EnviromentalConditions_BatchEnabled { get; set; } - - // AC-system - string AC_CompressorType { get; set; } - string AC_CompressorTypeDerived { get; } - double AC_CompressorCapacitykW { get; set; } - double AC_COP { get; } - - // Ventilation - bool VEN_VentilationOnDuringHeating { get; set; } - bool VEN_VentilationWhenBothHeatingAndACInactive { get; set; } - bool VEN_VentilationDuringAC { get; set; } - string VEN_VentilationFlowSettingWhenHeatingAndACInactive { get; set; } - string VEN_VentilationDuringHeating { get; set; } - string VEN_VentilationDuringCooling { get; set; } - - // Aux. Heater - double AH_EngineWasteHeatkW { get; set; } - double AH_FuelFiredHeaterkW { get; set; } - double AH_FuelEnergyToHeatToCoolant { get; set; } - double AH_CoolantHeatTransferredToAirCabinHeater { get; set; } - } -} diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs deleted file mode 100644 index 08fbfa00e8..0000000000 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC -{ - public interface ISSMRun - { - double HVACOperation { get; } - double TCalc { get; } - double TemperatureDelta { get; } - double QWall { get; } - double WattsPerPass { get; } - double Solar { get; } - double TotalW { get; } - double TotalKW { get; } - double FuelW { get; } - double TechListAmendedFuelW { get; } - } -} diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs b/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs deleted file mode 100644 index 850bc73eda..0000000000 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs +++ /dev/null @@ -1,6 +0,0 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules { - public interface IAbstractModule - { - void ResetCalculations(); - } -} diff --git a/VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs b/VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs deleted file mode 100644 index 902014cc5b..0000000000 --- a/VECTOAux/BusAuxiliaries/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("BusAuxiliaries")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("BusAuxiliaries")] -[assembly: AssemblyCopyright("Copyright © 2019")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("550d99d4-25f7-48d9-b0f0-e5dd6cb3485d")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/VECTOAux/BusAuxiliaries/Resources/Blank.bmp b/VECTOAux/BusAuxiliaries/Resources/Blank.bmp deleted file mode 100644 index 3356cb1a16ef78415ac26ff4ddfe2ec06e7f5e1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4150 zcmeIuK@9*P3`5ajfFOY*3MPO%uJHxUh6?hVbXl)&E^iib-J$l^5}$^$Yc`kJAqXIV V00IagfB*srAb<b@2q5sizy)IH^cnyF diff --git a/VECTOAux/BusAuxiliaries/Resources/Image1.png b/VECTOAux/BusAuxiliaries/Resources/Image1.png deleted file mode 100644 index 3e9d6ed41b4901ee2e3811ef6e85df0978acf1d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1SD@H<Xr$#jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijSl0AZa85pY67#JE_7#My5g&JNkFq8sKd6mGxU^Rn*LA+qju0R{0M7pPo zV@QPi+e;e-85DU~3}5We_#b?58J|m4r~8|^GdI8b%f7ZM{i^Bv-7+FfEn0$3EnW-C wcm=f@Z<)HRV9B~Juuy14tTTSW>!x2AA6$+S6}hN-9%v<lr>mdKI;Vst04O9%8~^|S diff --git a/VECTOAux/BusAuxiliaries/Resources/Info.bmp b/VECTOAux/BusAuxiliaries/Resources/Info.bmp deleted file mode 100644 index c87470c216723cf67cf853cec686934aee6c9c66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4150 zcmZ?rH4|U}12Z700mKSW%m`)yIY4lP4}u{)28REmU^E0qLtw~+!0T^3|8Ze@cmkK* zAaQztQTs>ZA6FU}O@Fix0bF4}n*T@3Kia3h|2XTuk&^!C5yperj=@m=U<)65roVx< PA6Fb;bJwWY;0^%*r<-Z| diff --git a/VECTOAux/BusAuxiliaries/Resources/Open-icon.png b/VECTOAux/BusAuxiliaries/Resources/Open-icon.png deleted file mode 100644 index 5b25c5b924bd2a400e3b1a24887bad98d10b5ad2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 786 zcmV+t1MU2YP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008nNkl<Zc-oDV zO-vI(6vzMDZNUJgB@iJR`4Ef9H$frsK*V57{7BGvlY@k-Mo2K4s0WSVf+iZHC;2#u za4}M2q6tC~1H=d=<ug>I<x2$G?Uq8j%g#ET7A*1NOI~K?&3nK3znNWbsIz(mK#`W$ zK&z$BbKp1*k*3kGwV)_!eeQ*pw#Yq>0@Tv;1z25hLHH%Yy&@vvU?!5%a@e?IesK-< zz78S(Vr#-bfaB-#0W}oZmK6vTGG|*r>4`#`5zaKE!)$5CZC@X@{p9IPt*d?)P;xep z<){o2A`O2UM^V;(1X~NYfOk`NG<Yr8BHQ3auGd-TsbGNO%3NBe?y3lywR-}2hm*il zKy(z(Vk6TlxboXvv8j=JB&t;B<{vOXVa2iV=^+8Zsm(HpqiKoIX*oDmFK#&o!EFKN z>TxdRS=?KXK2WvK$qNjSU!F|?Dk4RU_fI3^fDsNNqG4qKH%~vpE6YoKxNPB)8)JLK z6zLT2;6ithb2961vC5jk)Zh#@4GLZ;3%FW#1HJR_(e<?po9^v4C6-+C8Dwzw@FixK znV15Vgn9^y>HcoT8@&tH%kQIO@;OFVMzB1)0a>F!idV29%OI0#2w*D7q{ZPDs0X$J zsC9hAoik17oOlAedj?)9fDK97b>D^zWtj9bKxSbEJ3Xl4=hz&B+|$@_<WLG$15R2j z?E!c<sgFv6B9hQEX5^)V5S6KLPC2peA#f-nUK1N)(zQ@^U;sh%V|{)Lq9ZV;_{k-? znOGShH9M6R2O*301uU=0@JlLUj5;(4{UB*{FN$Dh$c6fZ65Or-!bN_{?)XH5G0vc8 zkmb2WO#WDh*C!!4F&5E!9uJoWpqK!s&4W(U#p24EPHQB<NXJ%Pl&(sjV1(!r&~6^9 zd))HPOyje`q`0~$qau-3C7=pYvr@C?XWE%iP*o5_-8f)fDyVDxY{P%pA3>9tEbk%O QBLDyZ07*qoM6N<$g6<?}N&o-= diff --git a/VECTOAux/BusAuxiliaries/Resources/desktop.png b/VECTOAux/BusAuxiliaries/Resources/desktop.png deleted file mode 100644 index 59c84dc6b7c229730f174dd03f2987f674fc6e20..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 642 zcmV-|0)737P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006>Nkl<Zc-qC& zTS(Jk9L8~PgFw29pqqla@WKwXF`YIohm%s$wK6*(R$3_@n{&AgNz(;sU^7pcR-zDs zXkuye?{T<1&oZ5dbkjA2iV6z4`L;%BvkNb}=!J*(;^q1LZho(q*MC2cTKZU@x>gfS z#zBk&6AVpQnVwr@amj&w*~#pJgV8rOguxk_x+if1n+_DPS)#|=|2A6>7qdOIm>ow; z*d1xWM^(z6m@@p%R}m0jP0*DZ<jJ+f<ka)T_-YM^(sZD@*2&47E{^L2j%fvsWC?_3 z8VOMwQMlg1bX`Q`cB8!2M{Hgr_3f75Kp{%a3nDe0u3``2+CCJTenMP1l-W<P>ki8? z6OlKFQa?;|(I^-6t<*gm{{@KjgkN<{Nf%J4O~}<|S8<pi%@_x>#t7C~h$x&wdB@7B zl3C7`z2)*<!4r@tw<AjukfjX}kTHV4`Zdz5DFU;t$ZyUORct5P;NWb9len4{k_;wK zK$_5o=wc`0L^GmP3!?OCB-(joHx>ykSVDDgh0_)9iGA>q_`1)eR1A3nK2eqIimb&q zegNOZ3HGMV;+JhBD0dl!-pPs551gs`MBKwKTx$4AYUPM0kW~JhjOOo%3L&AomwoF1 z)nCBq8eq6z?k<0md80AycO!ZE`5R^x$kgiGrESfCHHMujJ&48P4YLYJrBVW~H@J&i zl=b)&^&*i-HjEp1{Is9Oj+eBX#xajiGdZ)sf_)jg!^ynu9TuyNo{>3PdMDkR_p|h8 c{`oWh09p_ty(6?-mH+?%07*qoM6N<$f(mUfGynhq diff --git a/VECTOAux/BusAuxiliaries/Resources/favorites.png b/VECTOAux/BusAuxiliaries/Resources/favorites.png deleted file mode 100644 index 12d6fc99713d7cfe23191a759747818531d77731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 850 zcmV-Y1FigtP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0009SNkl<Zc-no_ zTTByH7{GC|ERF}wo`w&)EK#->QPXTO#5s(JGudKfF`03qCXndlVQvc9)Dlq{=;j6I z#<T`6Lt%i(u;PXaUQ$5Y(w5%16k2S7mR@LqmePXz@6ZQh)$Al+a?VM<-*>JF38MLQ zB~G8V*zN8(!iee+t|wB4+xIirnvea_cRYRY4YuZ7`tR<vTAFh56JBltAm}K^XE=^W z^aC~-Rzn%l$rhePA3cw$F*&_|@36iWm=52HMc7}1&r&*D4U_s8#yoPKO`DmC8i@w~ zp}R4Q{{^C<2Bs!%U}?&xv;73dC#9mgm6=FC;Xngj@-43cw8ccjaw4I>L~<RIfoghg zZ%3yn!O(h&kZc=)vMfUGYD^7Zz6y9XMMQ%2gvYNl>Hm|U_bOetwxW4hguYn-g~@pH z78118i23cW0v>Vt;jvmm{wgNC6^ywqV!F9mtU!jgQp$9-gvmcr8CPG%XOq);ePdZ1 zFrq3XG+N1o=ZZ)!$3J)uWBn$S^(C}R*8)E?GqN9V`4>!B1yHe$-pn_bnLeE(i2*KU z0psq=1e_Nbb(G;9ID@_}6UCkn&{S;@Kof-W2;W)7=<lhxN*7}LdLH`pIdw6>`S>7# zVHrNhZ+L8_j97j`SGxg&Di^b+09+z00&=g1rz;t+e2>1Yxp#DFZ+#pChT49>Xa5zC z^%O44afZ8!&{ls&+tKA18#6?b*oO5({xzoHzqAbfk16p7IjG3P-G35S?=gnVM{pPl z=%`xHL#YJw?T^4I5nGTDQ7lGxbO-8d8S%jEdw2E}Gh{l9T`y%o^F8Xybv!<?2y^{X z9QkkKJv|?~mS8@dit55A@xbh788jAR?>xXjM?O~Nx2UeBqd4>~E&JZ5??wi_vX$7S z3$P!YkE$SLI1aG2<kHu&i=O5jx|_4<zMqY<Vhy!9$uyo_jq2Lk7^pnI3jLO(h<am^ zx-~iRjpsoBy<P8gH*Q-k?tZtn=JWHaE9uJiOKDTZUnOTA+p{9+#bRws64ONTUd5us cxwGT{0I=j};`IYJq5uE@07*qoM6N<$g2Anq_y7O^ diff --git a/VECTOAux/BusAuxiliaries/Resources/file-history.png b/VECTOAux/BusAuxiliaries/Resources/file-history.png deleted file mode 100644 index 8dbe20e0272030574f39f5c471d48a20744f7c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 757 zcmV<R0t)?!P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0008KNkl<Zc-pm- zT}+Zu7{|G)3omSa+_buJ-L%!Z?aHhcEpz466iv(NYE7GjGn<VvT$r}ya;Z5#rl~Ah z%t$7p6riPOkS_=b@#4!@@FGHfq^a{9o&cAdecsgBp3C3w{Lgcqhr#$CN9L5oHrXEM zJfg~<+#(947o|y7ZY%d`Q*&D$`v!Z*A7QEc<>@k0!4&6X4qR1aK$)xr21f``Y9>K3 zMu4zK>|t{_Nxy`9riCZ(TW_x2c3y!3c@DIwTQNPmfGX;rf!*svLs~tKh-3;SW)~M{ zY=IL5NB0&Hmz`yF9%L)dK$VJ*J^o;{A_9xuiH$Z2zaxzJEn$KlN#9aoQPF`-!37nw zl1-;W{tOe?L-`>(Fo)f~*^tBQ3q=IeE;qJN4s0YTELTs2ljxy>&wscn$R!iWl0_D< zed+LEoELKY{n$m%gxp?#RA3~hk=|-U1{;Npb|=!BZP3=$MKI2b;x(Kl)_Un&Hk1al z;kq*oE*Vcj>QFp%4~wu;t&2WkP_4zPa1TawMyv~`7&BQxA{+EEw(s1wD@)FFa@TX= znk^Yvx?{kUAAwHgb4=(dRNEnfh~UT4TkY_wuWun5KlX6Up0xf1Pv%qt9G4x0hS!bQ zWbz>Oq!H=K4T<OTJeprwMQb5IApm4^d7(ofux$2V-?`m!C&Y)GcYDi$ARK5k3~Njl zWOlgGr@$NvE`3F-2!Dt12Qvx$>Z<lFUs>BwS2z4#4=U{>9@TH$PSG<c@MRgTu49C8 z2tioj^#?&D7Oy0yq{RI+OoDFVfJ#Han{gfJtQ7W!qX!n3qafv`v4i$Que2X$WU^9! zJI>WLHN}#FfrT-H1$3kX3|0r2?Jh8oc6cEc)9G1R%)c(w9UgB#_a3jXw!U82-q|_P n*xb@zQCZ1KOgbC$PdE1)>J$2kMUY_>00000NkvXXu0mjfH-B3T diff --git a/VECTOAux/BusAuxiliaries/Resources/new_dir.png b/VECTOAux/BusAuxiliaries/Resources/new_dir.png deleted file mode 100644 index 1035fe49b199854810d1e6d33e91dfe338d3366f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 625 zcmV-%0*?KOP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0006wNkl<Zc-rlf zT}YF06vmgt#G8n`HjIL>C@M(1Nur<<32A5w>I`FB)2!JN8^u^CRF)viT7GQlD9lKR z7JV>-V#Z9w*8FJbHrw1s+q-vrUHhu`?&)uWxQl|i?!dV?hx2<l=izWT|KpEg(o46; z-TghuuvxP}*&eEUo3H+M7#No0$CLXB-@U<aUeypwDW3)`m)(oA^$1Q@BV;-Oc=_17 zCs&jXG7nD1oJuWaRi;ArcF?n}2w1PdZ&AQEeF>hA7vM3SVd+T$;6Dd~6r>3R=k6%t z9u>m#HxT?pAagUmjGu*TR0!w08aUooU~aey)bwd+jXY%T%o3yt*x%o*N(MBDEZim{ z?JR9+fq&{E>zk0kJyyrMMr+|V)UrkcA4kUy;rOEiae}Q|5qLe=v>%KX2~Rho&Q37) z<xMEEiT6Vz=<#~Qi~^Y62q3UmpnTv6L$I|g0_wKv9EAGu-P?nNyNiu}Rw86;V*@jC zgr{U|x1NV$eIYBF;GreZz+PvhDXERmi04aV1mC=DWO4u?XQZfJ#NBrhaddzoMn)}H zaLZ5*k*gB&m>9B94J33Kgj5MiJ%vk#9{wfJ)ggX9@}kv2Sv654bpZPq_^JlzPMAl| z<CLTTeAzBECMr`!L-~=64V=EroQyt#Ze8ssmt^)*lgs56?bw#vP*#$!R5TrXsZ$GP zUg?A(zONYjRC$YJChPCtat$Z%;IrM>SeH$cYW=@{_a>5CRyTeEg)&%nu0G8K00000 LNkvXXu0mjf^Clv6 diff --git a/VECTOAux/BusAuxiliaries/packages.config b/VECTOAux/BusAuxiliaries/packages.config deleted file mode 100644 index 5abf7ccb21..0000000000 --- a/VECTOAux/BusAuxiliaries/packages.config +++ /dev/null @@ -1,5 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<packages> - <package id="Newtonsoft.Json" version="8.0.3" targetFramework="net45" /> - <package id="ValueInjecter" version="3.1.1.5" targetFramework="net45" /> -</packages> \ No newline at end of file diff --git a/VECTOAux/BusAuxiliaries/AdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs similarity index 88% rename from VECTOAux/BusAuxiliaries/AdvancedAuxiliaries.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs index 617b274618..753b0c6626 100644 --- a/VECTOAux/BusAuxiliaries/AdvancedAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs @@ -13,17 +13,18 @@ using System; using System.Collections.Generic; using System.Windows.Forms; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl; -using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics; -using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC; -using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -using TUGraz.VectoCore.BusAuxiliaries.Util; - -namespace TUGraz.VectoCore.BusAuxiliaries { +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; +using TUGraz.VectoCore.Models.BusAuxiliaries.Util; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries { /// <summary> /// ''' Main entry point for the advanced auxiliary module. @@ -80,6 +81,13 @@ namespace TUGraz.VectoCore.BusAuxiliaries { // End If // End Sub + public void VectoEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType) + { + if (Signals.AuxiliaryEventReportingLevel <= messageType) { + AuxiliaryEvent?.Invoke(ref sender, message, messageType); + } + } + // Constructor public AdvancedAuxiliaries() { @@ -140,22 +148,22 @@ namespace TUGraz.VectoCore.BusAuxiliaries { throw new Exception(string.Format("Unable to load the ssmTOOL with file {0}", ssmPath)); - M0 = new M00Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, alternatorMap, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), Signals, ssmTool); + M0 = new M00Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, alternatorMap, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, Signals, ssmTool); IM0_5_SmartAlternatorSetEfficiency M05tmp = new M0_5Impl(M0, auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, alternatorMap, auxConfig.ElectricalUserInputsConfig.ResultCardIdle, auxConfig.ElectricalUserInputsConfig.ResultCardTraction, auxConfig.ElectricalUserInputsConfig.ResultCardOverrun, Signals); M05 = M05tmp; - M1 = new M01Impl(M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), Signals, ssmTool); + M1 = new M01Impl(M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, Signals, ssmTool); - M2 = new M02Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), Signals); + M2 = new M02Impl(auxConfig.ElectricalUserInputsConfig.ElectricalConsumers, M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, Signals); M3 = new M03Impl(auxConfig.PneumaticUserInputsConfig, auxConfig.PneumaticAuxillariesConfig, actuationsMap, compressorMap, VectoInputs.VehicleWeightKG, VectoInputs.Cycle, Signals); M4 = new M04Impl(compressorMap, auxConfig.PneumaticUserInputsConfig.CompressorGearRatio, auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, Signals); - M5 = new M05Impl(M05tmp, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage.SI<Volt>(), auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency); + M5 = new M05Impl(M05tmp, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency); M6 = new M06Impl(M1, M2, M3, M4, M5, Signals); M7 = new M07Impl(M5, M6, Signals); M8 = new M08Impl(M1, M6, M7, Signals); @@ -165,15 +173,20 @@ namespace TUGraz.VectoCore.BusAuxiliaries { M12 = new M12Impl(M10, M11, Signals); M13 = new M13Impl(M10, M11, M12, Signals); M14 = new M14Impl(M13, ssmToolModule14, hvacConstants, Signals); + + //compressorMap.AuxiliaryEvent += VectoEventHandler; + alternatorMap.AuxiliaryEvent += VectoEventHandler; + ssmTool.Message += VectoEventHandler; + ssmToolModule14.Message += VectoEventHandler; } public ISignals Signals { get; set; } public IVectoInputs VectoInputs { get; set; } - public event TUGraz.VectoCore.BusAuxiliaries.Interfaces.AuxiliaryEventEventHandler AuxiliaryEvent; + public event AuxiliaryEventEventHandler AuxiliaryEvent; - public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType); + //public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType); //public bool Configure(string filePath, string vectoFilePath) //{ @@ -220,7 +233,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries { { try { Initialise(auxFilePath, vectoFilePath); - } catch (Exception ex) { + } catch (Exception ) { return false; } @@ -437,5 +450,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries { return M9.TotalCycleFuelConsumptionCompressorOnContinuously; } } - } + + } } diff --git a/VECTOAux/BusAuxiliaries/AuxiliaryConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs similarity index 58% rename from VECTOAux/BusAuxiliaries/AuxiliaryConfig.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs index 428ff7b874..c2eba5353e 100644 --- a/VECTOAux/BusAuxiliaries/AuxiliaryConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs @@ -14,17 +14,22 @@ using System.Collections.Generic; using System.IO; using System.Windows.Forms; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics; -using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC; -using TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; +using TUGraz.VectoCore.BusAuxiliaries; using TUGraz.VectoCore.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -using TUGraz.VectoCore.BusAuxiliaries.Legacy; - -namespace TUGraz.VectoCore.BusAuxiliaries { +using TUGraz.VectoCore.InputData.FileIO.JSON; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; +using TUGraz.VectoCore.Models.BusAuxiliaries.Legacy; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries { [Serializable()] public class AuxiliaryConfig : IAuxiliaryConfig { @@ -53,8 +58,8 @@ namespace TUGraz.VectoCore.BusAuxiliaries { { // Special Condition if (auxConfigFile == "EMPTY") { - ElectricalUserInputsConfig = new ElectricsUserInputsConfig() { PowerNetVoltage = 28.3 }; - ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3, 0.096, false); + ElectricalUserInputsConfig = new ElectricsUserInputsConfig() { PowerNetVoltage = 28.3.SI<Volt>() }; + ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3.SI<Volt>(), 0.096, false); ElectricalUserInputsConfig.ResultCardIdle = new ResultCard(new List<SmartResult>()); ElectricalUserInputsConfig.ResultCardOverrun = new ResultCard(new List<SmartResult>()); ElectricalUserInputsConfig.ResultCardTraction = new ResultCard(new List<SmartResult>()); @@ -92,7 +97,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries { // Electrical set deault values ElectricalUserInputsConfig = new ElectricsUserInputsConfig(true, tmp); - ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3, 0.096, true); + ElectricalUserInputsConfig.ElectricalConsumers = new ElectricalConsumerList(28.3.SI<Volt>(), 0.096, true); // HVAC set deault values HvacUserInputsConfig = new HVACUserInputsConfig(string.Empty, string.Empty, false); @@ -112,7 +117,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries { } - private bool CompareElectricalConfiguration(AuxiliaryConfig other) + private bool CompareElectricalConfiguration(IAuxiliaryConfig other) { // AlternatorGearEfficiency if (ElectricalUserInputsConfig.AlternatorGearEfficiency != other.ElectricalUserInputsConfig.AlternatorGearEfficiency) @@ -198,7 +203,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries { return true; } - private bool ComparePneumaticAuxiliariesConfig(AuxiliaryConfig other) + private bool ComparePneumaticAuxiliariesConfig(IAuxiliaryConfig other) { if (PneumaticAuxillariesConfig.AdBlueNIperMinute != other.PneumaticAuxillariesConfig.AdBlueNIperMinute) return false; @@ -236,7 +241,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries { return true; } - private bool ComparePneumaticUserConfig(AuxiliaryConfig other) + private bool ComparePneumaticUserConfig(IAuxiliaryConfig other) { if (PneumaticUserInputsConfig.ActuationsMap != other.PneumaticUserInputsConfig.ActuationsMap) return false; @@ -264,7 +269,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries { return true; } - private bool CompareHVACConfig(AuxiliaryConfig other) + private bool CompareHVACConfig(IAuxiliaryConfig other) { if (HvacUserInputsConfig.SSMFilePath != other.HvacUserInputsConfig.SSMFilePath) return false; @@ -276,7 +281,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries { return true; } - public bool ConfigValuesAreTheSameAs(AuxiliaryConfig other) + public bool ConfigValuesAreTheSameAs(IAuxiliaryConfig other) { if (!CompareElectricalConfiguration(other)) return false; @@ -295,55 +300,257 @@ namespace TUGraz.VectoCore.BusAuxiliaries { public bool Save(string auxFile) { var returnValue = true; - var settings = new JsonSerializerSettings(); - settings.TypeNameHandling = TypeNameHandling.Objects; // JSON METHOD try { - var output = JsonConvert.SerializeObject(this, Formatting.Indented, settings); - - File.WriteAllText(auxFile, output); - } catch (Exception ex) { + var body = new Dictionary<string, object>(); + + body["ElectricalUserInputsConfig"] = SaveElectricalConfig(); + body["PneumaticAuxillariesConfig"] = SavePneumaticAuxconfig(); + body["PneumaticUserInputsConfig"] = SavePneumaticUserConfig(); + body["HvacUserInputsConfig"] = SaveHVACUserConfig(); + + JSONInputDataFactory.WriteFile(JToken.FromObject(new Dictionary<string, object>(){ { "Header","AAUX"}, {"Body", body }}), auxFile); + } catch (Exception ) { returnValue = false; } return returnValue; } - public bool Load(string auxFile) + protected Dictionary<string, object> SaveElectricalConfig() { - var returnValue = true; - var settings = new JsonSerializerSettings(); - AuxiliaryConfig tmpAux; + var elData = new Dictionary<string, object>(); + // AlternatorGearEfficiency + elData["AlternatorGearEfficiency"] = ElectricalUserInputsConfig.AlternatorGearEfficiency; + + // AlternatorMap + elData["AlternatorMap"] = ElectricalUserInputsConfig.AlternatorMap; - settings.TypeNameHandling = TypeNameHandling.Objects; + // DoorActuationTimeSecond + elData["DoorActuationTimeSecond"] = ElectricalUserInputsConfig.DoorActuationTimeSecond; - // JSON METHOD + // Electrical Consumer list + + var elConsumers = new List<object>(); + foreach (var entry in ElectricalUserInputsConfig.ElectricalConsumers.Items) { + var newConsumer = new Dictionary<string, object>(); + + newConsumer["BaseVehicle"] = entry.BaseVehicle; + newConsumer["Category"] = entry.Category; + newConsumer["ConsumerName"] = entry.ConsumerName; + newConsumer["NominalConsumptionAmps"] = entry.NominalConsumptionAmps.Value(); + newConsumer["PhaseIdle_TractionOn"] = entry.PhaseIdle_TractionOn; + newConsumer["PowerNetVoltage"] = entry.PowerNetVoltage.Value(); + newConsumer["NumberInActualVehicle"] = entry.NumberInActualVehicle; + newConsumer["Info"] = entry.Info; + + elConsumers.Add(newConsumer); + } + + elData["ElectricalConsumers"] = elConsumers; + + // PowerNetVoltage + elData["PowerNetVoltage"] = ElectricalUserInputsConfig.PowerNetVoltage.Value(); + + // ResultCardIdle + var resultCard = new List<object>(); + foreach (var result in ElectricalUserInputsConfig.ResultCardIdle.Results) { + resultCard.Add(new Dictionary<string, object>() { + { "Amps", result.Amps.Value()}, + {"SmartAmps",result.SmartAmps.Value() } + }); + } + + elData["ResultCardIdle"] = resultCard; + + + // ResultCardOverrun + resultCard.Clear(); + foreach (var result in ElectricalUserInputsConfig.ResultCardOverrun.Results) { + resultCard.Add(new Dictionary<string, object>() { + { "Amps", result.Amps.Value()}, + {"SmartAmps",result.SmartAmps.Value() } + }); + } + + elData["ResultCardOverrun"] = resultCard; + + // ResultCardTraction + resultCard.Clear(); + foreach (var result in ElectricalUserInputsConfig.ResultCardTraction.Results) { + resultCard.Add(new Dictionary<string, object>() { + { "Amps", result.Amps.Value()}, + {"SmartAmps",result.SmartAmps.Value() } + }); + } + + elData["ResultCardTraction"] = resultCard; + + // SmartElectrical + elData["SmartElectrical"] = ElectricalUserInputsConfig.SmartElectrical; + + return elData; + } + + + private Dictionary<string,object > SaveHVACUserConfig() + { + var hvac = new Dictionary<string, object>(); + + hvac["SSMFilePath"] = HvacUserInputsConfig.SSMFilePath; + hvac["BusDatabasePath"] = HvacUserInputsConfig.BusDatabasePath; + hvac["SSMDisabled"] = HvacUserInputsConfig.SSMDisabled; + + return hvac; + } + + private Dictionary<string, object> SavePneumaticUserConfig() + { + var puData = new Dictionary<string, object>(); + + puData["ActuationsMap"] = PneumaticUserInputsConfig.ActuationsMap; + puData["AdBlueDosing"] = PneumaticUserInputsConfig.AdBlueDosing; + puData["AirSuspensionControl"] = PneumaticUserInputsConfig.AirSuspensionControl; + puData["CompressorGearEfficiency"] = PneumaticUserInputsConfig.CompressorGearEfficiency; + puData["CompressorGearRatio"] = PneumaticUserInputsConfig.CompressorGearRatio; + puData["CompressorMap"] = PneumaticUserInputsConfig.CompressorMap; + puData["Doors"] = PneumaticUserInputsConfig.Doors; + puData["KneelingHeightMillimeters"] = PneumaticUserInputsConfig.KneelingHeightMillimeters; + puData["RetarderBrake"] = PneumaticUserInputsConfig.RetarderBrake; + puData["SmartAirCompression"] = PneumaticUserInputsConfig.SmartAirCompression; + puData["SmartRegeneration"] = PneumaticUserInputsConfig.SmartRegeneration; + + return puData; + } + + protected Dictionary<string, object> SavePneumaticAuxconfig() + { + var paData = new Dictionary<string, object>(); + + paData["AdBlueNIperMinute"] = PneumaticAuxillariesConfig.AdBlueNIperMinute; + paData["AirControlledSuspensionNIperMinute"] = PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute; + paData["BrakingNoRetarderNIperKG"] = PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG; + paData["BrakingWithRetarderNIperKG"] = PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG; + paData["BreakingPerKneelingNIperKGinMM"] = PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM ; + paData["DeadVolBlowOutsPerLitresperHour"] = PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour; + paData["DeadVolumeLitres"] = PneumaticAuxillariesConfig.DeadVolumeLitres; + paData["NonSmartRegenFractionTotalAirDemand"] = PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand; + paData["PerDoorOpeningNI"] = PneumaticAuxillariesConfig.PerDoorOpeningNI; + paData["PerStopBrakeActuationNIperKG"] = PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG; + paData["SmartRegenFractionTotalAirDemand"] = PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand; + paData["OverrunUtilisationForCompressionFraction"] = + PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction; + + return paData; + } + + public bool Load(string auxFile) + { + var returnValue = true; + try { - var output = File.ReadAllText(auxFile); - - tmpAux = JsonConvert.DeserializeObject<AuxiliaryConfig>(output, settings); - - // This is where we Assume values of loaded( Deserialized ) object. - AssumeValuesOfOther(tmpAux); - if (tmpAux.VectoInputs.FuelMapFile != null) { - var tmp = new cMAP(); - tmp.FilePath = Path.Combine(Path.GetDirectoryName(auxFile), tmpAux.VectoInputs.FuelMapFile); - if (!tmp.ReadFile()) { - MessageBox.Show("Unable to read fuel map, aborting."); - return false; - } - - tmp.Triangulate(); - VectoInputs.FuelMap = tmp; - } - } catch (Exception ex) { + var json = JSONInputDataFactory.ReadFile(auxFile); + LoadValues((JObject)json["Body"]); + + } catch (Exception ) { returnValue = false; } return returnValue; } + protected void LoadValues(JObject data) + { + LoadElectricalConfig((JObject)data["ElectricalUserInputsConfig"]); + LoadPneumaticsAuxConfig((JObject)data["PneumaticAuxillariesConfig"]); + LoadPneumaticUserConfig((JObject)data["PneumaticUserInputsConfig"]); + LoadHVAC((JObject)data["HvacUserInputsConfig"]); + } + + protected void LoadElectricalConfig(JObject elData) + { + // AlternatorGearEfficiency + ElectricalUserInputsConfig.AlternatorGearEfficiency = elData.GetEx<double>("AlternatorGearEfficiency"); + + // AlternatorMap + ElectricalUserInputsConfig.AlternatorMap = elData.GetEx("AlternatorMap").Value<string>(); + + // DoorActuationTimeSecond + ElectricalUserInputsConfig.DoorActuationTimeSecond = elData.GetEx<double>("DoorActuationTimeSecond"); + + // Electrical Consumer list + ElectricalUserInputsConfig.ElectricalConsumers.Items.Clear(); + foreach (var consumer in elData["ElectricalConsumers"]) { + var newConsumer = new ElectricalConsumer( + consumer.GetEx<bool>("BaseVehicle"), consumer.GetEx<string>("Category"), consumer.GetEx<string>("ConsumerName"), consumer.GetEx<double>("NominalConsumptionAmps").SI<Ampere>(), + consumer.GetEx<double>("PhaseIdle_TractionOn"), consumer.GetEx<double>("PowerNetVoltage").SI<Volt>(), consumer.GetEx<int>("NumberInActualVehicle"), + consumer.GetEx<string>("Info")); + + ElectricalUserInputsConfig.ElectricalConsumers.Items.Add(newConsumer); + } + + // PowerNetVoltage + ElectricalUserInputsConfig.PowerNetVoltage = elData.GetEx<double>("PowerNetVoltage").SI<Volt>(); + + // ResultCardIdle + ElectricalUserInputsConfig.ResultCardIdle.Results.Clear(); + foreach (var result in elData["ResultCardIdle"]) + ElectricalUserInputsConfig.ResultCardIdle.Results.Add(new SmartResult(result.GetEx<double>("Amps").SI<Ampere>(), result.GetEx<double>("SmartAmps").SI<Ampere>())); + + // ResultCardOverrun + ElectricalUserInputsConfig.ResultCardOverrun.Results.Clear(); + foreach (var result in elData["ResultCardOverrun"]) + ElectricalUserInputsConfig.ResultCardOverrun.Results.Add(new SmartResult(result.GetEx<double>("Amps").SI<Ampere>(), result.GetEx<double>("SmartAmps").SI<Ampere>())); + + // ResultCardTraction + ElectricalUserInputsConfig.ResultCardTraction.Results.Clear(); + foreach (var result in elData["ResultCardTraction"]) + ElectricalUserInputsConfig.ResultCardTraction.Results.Add(new SmartResult(result.GetEx<double>("Amps").SI<Ampere>(), result.GetEx<double>("SmartAmps").SI<Ampere>())); + + // SmartElectrical + ElectricalUserInputsConfig.SmartElectrical = elData.GetEx<bool>("SmartElectrical"); + } + + protected void LoadPneumaticsAuxConfig(JObject paData) + { + PneumaticAuxillariesConfig.AdBlueNIperMinute = paData.GetEx<double>("AdBlueNIperMinute"); + PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute = paData.GetEx<double>("AirControlledSuspensionNIperMinute"); + PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG = paData.GetEx<double>("BrakingNoRetarderNIperKG"); + PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG = paData.GetEx<double>("BrakingWithRetarderNIperKG"); + PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM = paData.GetEx<double>("BreakingPerKneelingNIperKGinMM"); + PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour = paData.GetEx<double>("DeadVolBlowOutsPerLitresperHour"); + PneumaticAuxillariesConfig.DeadVolumeLitres = paData.GetEx<double>("DeadVolumeLitres"); + PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand = paData.GetEx<double>("NonSmartRegenFractionTotalAirDemand"); + PneumaticAuxillariesConfig.PerDoorOpeningNI = paData.GetEx<double>("PerDoorOpeningNI"); + PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG = paData.GetEx<double>("PerStopBrakeActuationNIperKG"); + PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand = paData.GetEx<double>("SmartRegenFractionTotalAirDemand"); + PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction = paData.GetEx<double>("OverrunUtilisationForCompressionFraction"); + } + + protected void LoadPneumaticUserConfig(JObject puData) + { + PneumaticUserInputsConfig.ActuationsMap = puData.GetEx<string>("ActuationsMap"); + PneumaticUserInputsConfig.AdBlueDosing = puData.GetEx<string>("AdBlueDosing"); + PneumaticUserInputsConfig.AirSuspensionControl = puData.GetEx<string>("AirSuspensionControl"); + PneumaticUserInputsConfig.CompressorGearEfficiency = puData.GetEx<double>("CompressorGearEfficiency"); + PneumaticUserInputsConfig.CompressorGearRatio = puData.GetEx<double>("CompressorGearRatio"); + PneumaticUserInputsConfig.CompressorMap = puData.GetEx<string>("CompressorMap"); + PneumaticUserInputsConfig.Doors = puData.GetEx<string>("Doors"); + PneumaticUserInputsConfig.KneelingHeightMillimeters = puData.GetEx<double>("KneelingHeightMillimeters"); + PneumaticUserInputsConfig.RetarderBrake = puData.GetEx<bool>("RetarderBrake"); + PneumaticUserInputsConfig.SmartAirCompression = puData.GetEx<bool>("SmartAirCompression"); + PneumaticUserInputsConfig.SmartRegeneration = puData.GetEx<bool>("SmartRegeneration"); + } + + protected void LoadHVAC(JObject hvac) + { + HvacUserInputsConfig.SSMFilePath = hvac.GetEx<string>("SSMFilePath"); + HvacUserInputsConfig.BusDatabasePath = hvac.GetEx<string>("BusDatabasePath"); + HvacUserInputsConfig.SSMDisabled = hvac.GetEx<bool>("SSMDisabled"); + } + + // Persistance Helpers public void AssumeValuesOfOther(AuxiliaryConfig other) { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs similarity index 83% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs index 8eb867e312..b2cf6b1b0e 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AbstractModule.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public abstract class AbstractModule { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs similarity index 97% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs index 264d84c505..f9dc38a48e 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/AlternatorMap.cs @@ -16,10 +16,10 @@ using System.IO; using System.Linq; using System.Text; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class AlternatorMap : IAlternatorMap { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs similarity index 98% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs index d231fad269..5e209c1153 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Linq; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { // Model based on CombinedALTS_V02_Editable.xlsx public class Alternator : IAlternator diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs similarity index 94% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs index 668ec47a10..a94c080aef 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs @@ -5,11 +5,11 @@ using System.IO; using System.Linq; using System.Text; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -using TUGraz.VectoCore.BusAuxiliaries.Util; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Util; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { public class CombinedAlternator : IAlternatorMap, ICombinedAlternator { @@ -110,14 +110,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics AverageAlternatorsEfficiency = new AlternatorMapValues(efficiencyAverage / 100); } - event TUGraz.VectoCore.BusAuxiliaries.Interfaces.AuxiliaryEventEventHandler IAuxiliaryEvent.AuxiliaryEvent + event Interfaces.AuxiliaryEventEventHandler IAuxiliaryEvent.AuxiliaryEvent { add { - throw new NotImplementedException(); + //throw new NotImplementedException(); } remove { - throw new NotImplementedException(); + //throw new NotImplementedException(); } } @@ -267,8 +267,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics // Initialises the map, only valid when loadingUI for first time in edit mode or always in operational mode. private bool InitialiseMap(string filePath) { - var returnValue = false; - string[] elements; + //var returnValue = false; if (File.Exists(filePath)) { using (var sr = new StreamReader(filePath)) { @@ -276,8 +275,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics var lines = sr.ReadToEnd().Split(new[] { Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries); // Must have at least 2 entries in map to make it usable [dont forget the header row] - if ((lines.Count() < 10)) + if (lines.Count() < 10) { throw new ArgumentException("Insufficient rows in csv to build a usable map"); + } map = new List<ICombinedAlternatorMapRow>(); @@ -291,26 +291,28 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics break; // split the line - elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + var elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); // 3 entries per line required if ((elements.Length != 5)) throw new ArgumentException("Incorrect number of values in csv file"); // add values to map map.Add(new CombinedAlternatorMapRow(elements[0], float.Parse(elements[1], CultureInfo.InvariantCulture), float.Parse(elements[2], CultureInfo.InvariantCulture), float.Parse(elements[3], CultureInfo.InvariantCulture), float.Parse(elements[4], CultureInfo.InvariantCulture))); - } else + } else { firstline = false; + } } } return true; - } else - throw new ArgumentException("Supplied input file does not exist"); + } + + throw new ArgumentException("Supplied input file does not exist"); - return returnValue; + //return returnValue; } // Can be used to send messages to Vecto. - public event AuxiliaryEventEventHandler AuxiliaryEvent; + //public event AuxiliaryEventEventHandler AuxiliaryEvent; public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType); diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs similarity index 87% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs index 4b76ce4afe..b5c6b1e3f1 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs @@ -1,7 +1,7 @@ using System; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { // This class is reflective of the stored entries for the combined alternator // And is used by the Combined Alternator Form and any related classes. diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs similarity index 69% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs index 180ea9a3b8..201a8eaabb 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs @@ -1,7 +1,7 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { // Used by the CombinedAlternator class and any other related classes. public class CombinedAlternatorSignals : ICombinedAlternatorSignals diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs similarity index 64% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs index 1beaaeb277..f138dd016c 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumer.cs @@ -2,6 +2,7 @@ using System.ComponentModel; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; // Copyright 2017 European Union. // Licensed under the EUPL (the 'Licence'); @@ -14,7 +15,7 @@ using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; // // See the LICENSE.txt for the specific language governing permissions and limitations. -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { /// <summary> /// ''' Described a consumer of Alternator electrical power @@ -22,26 +23,24 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics /// ''' <remarks></remarks> public class ElectricalConsumer : IElectricalConsumer { - // Fields private bool _BaseVehicle; + private string _Category; private string _ConsumerName; - private double _NominalConsumptionAmps; + private Ampere _NominalConsumptionAmps; private int _NumberInActualVehicle; private double _PhaseIdle_TractionOn; - private double _PowerNetVoltage; + private Volt _PowerNetVoltage; private string _Info; // Calculated - public double AvgConsumptionAmps { get; set; } + public Ampere AvgConsumptionAmps { get; set; } // Properties public bool BaseVehicle { - get { - return _BaseVehicle; - } + get { return _BaseVehicle; } set { _BaseVehicle = value; NotifyPropertyChanged("BaseVehicle"); @@ -50,9 +49,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics public string Category { - get { - return _Category; - } + get { return _Category; } set { _Category = value; NotifyPropertyChanged("Category"); @@ -61,20 +58,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics public string ConsumerName { - get { - return _ConsumerName; - } + get { return _ConsumerName; } set { _ConsumerName = value; NotifyPropertyChanged("ConsumerName"); } } - public double NominalConsumptionAmps + public Ampere NominalConsumptionAmps { - get { - return _NominalConsumptionAmps; - } + get { return _NominalConsumptionAmps; } set { _NominalConsumptionAmps = value; NotifyPropertyChanged("NominalConsumptionAmps"); @@ -83,9 +76,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics public int NumberInActualVehicle { - get { - return _NumberInActualVehicle; - } + get { return _NumberInActualVehicle; } set { _NumberInActualVehicle = value; NotifyPropertyChanged("NumberInActualVehicle"); @@ -94,20 +85,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics public double PhaseIdle_TractionOn { - get { - return _PhaseIdle_TractionOn; - } + get { return _PhaseIdle_TractionOn; } set { _PhaseIdle_TractionOn = value; NotifyPropertyChanged("PhaseIdle_TractionOn"); } } - public double PowerNetVoltage + public Volt PowerNetVoltage { - get { - return _PowerNetVoltage; - } + get { return _PowerNetVoltage; } set { _PowerNetVoltage = value; NotifyPropertyChanged("PowerNetVoltage"); @@ -116,9 +103,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics public string Info { - get { - return _Info; - } + get { return _Info; } set { _Info = value; NotifyPropertyChanged("Info"); @@ -129,56 +114,61 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics // Public class outputs public Ampere TotalAvgConumptionAmps(double PhaseIdle_TractionOnBasedOnCycle = default(Double)) { - if (ConsumerName == "Doors per Door") - return NominalConsumptionAmps.SI<Ampere>() * (NumberInActualVehicle * PhaseIdle_TractionOnBasedOnCycle); - else - return NominalConsumptionAmps.SI<Ampere>() * (NumberInActualVehicle * PhaseIdle_TractionOn); + if (ConsumerName == "Doors per Door") { + return NominalConsumptionAmps * (NumberInActualVehicle * PhaseIdle_TractionOnBasedOnCycle); + } + + return NominalConsumptionAmps* (NumberInActualVehicle * PhaseIdle_TractionOn); } public Watt TotalAvgConsumptionInWatts(double PhaseIdle_TractionOnBasedOnCycle = 0.0) { - return TotalAvgConumptionAmps(PhaseIdle_TractionOnBasedOnCycle) * PowerNetVoltage.SI<Volt>(); + return TotalAvgConumptionAmps(PhaseIdle_TractionOnBasedOnCycle) * PowerNetVoltage; } // Constructor - public ElectricalConsumer(bool BaseVehicle, string Category, string ConsumerName, double NominalConsumptionAmps, double PhaseIdle_TractionOn, double PowerNetVoltage, int numberInVehicle, string info) + public ElectricalConsumer( + bool baseVehicle, string category, string consumerName, Ampere nominalConsumptionAmps, double phaseIdleTractionOn, + Volt powerNetVoltage, int numberInVehicle, string info) { - // Illegal Value Check. - if (Category.Trim().Length == 0) + if (category.Trim().Length == 0) throw new ArgumentException("Category Name cannot be empty"); - if (ConsumerName.Trim().Length == 0) + if (consumerName.Trim().Length == 0) throw new ArgumentException("ConsumerName Name cannot be empty"); - if (PhaseIdle_TractionOn < ElectricConstants.PhaseIdleTractionOnMin | PhaseIdle_TractionOn > ElectricConstants.PhaseIdleTractionMax) + if (phaseIdleTractionOn < ElectricConstants.PhaseIdleTractionOnMin | + phaseIdleTractionOn > ElectricConstants.PhaseIdleTractionMax) throw new ArgumentException("PhaseIdle_TractionOn must have a value between 0 and 1"); - if (NominalConsumptionAmps < ElectricConstants.NonminalConsumerConsumptionAmpsMin | NominalConsumptionAmps > ElectricConstants.NominalConsumptionAmpsMax) + if (nominalConsumptionAmps < ElectricConstants.NonminalConsumerConsumptionAmpsMin | + nominalConsumptionAmps > ElectricConstants.NominalConsumptionAmpsMax) throw new ArgumentException("NominalConsumptionAmps must have a value between 0 and 100"); - if (PowerNetVoltage < ElectricConstants.PowenetVoltageMin | PowerNetVoltage > ElectricConstants.PowenetVoltageMax) + if (powerNetVoltage < ElectricConstants.PowenetVoltageMin | powerNetVoltage > ElectricConstants.PowenetVoltageMax) throw new ArgumentException("PowerNetVoltage must have a value between 6 and 48"); if (numberInVehicle < 0) throw new ArgumentException("Cannot have less than 0 consumers in the vehicle"); // Good, now assign. - this.BaseVehicle = BaseVehicle; - this.Category = Category; - this.ConsumerName = ConsumerName; - this.NominalConsumptionAmps = NominalConsumptionAmps; - this.PhaseIdle_TractionOn = PhaseIdle_TractionOn; - this.PowerNetVoltage = PowerNetVoltage; - this.NumberInActualVehicle = numberInVehicle; - this.Info = info; + BaseVehicle = baseVehicle; + Category = category; + ConsumerName = consumerName; + NominalConsumptionAmps = nominalConsumptionAmps; + PhaseIdle_TractionOn = phaseIdleTractionOn; + PowerNetVoltage = powerNetVoltage; + NumberInActualVehicle = numberInVehicle; + Info = info; + AvgConsumptionAmps = 0.SI<Ampere>(); } // Comparison Overrides public override bool Equals(object obj) { - if (obj == null || GetType() != obj.GetType()) + if (obj == null || GetType() != obj.GetType()) { return false; + } var other = (IElectricalConsumer)obj; - - return this.ConsumerName == other.ConsumerName; + return ConsumerName == other.ConsumerName; } [System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs new file mode 100644 index 0000000000..4d42a46243 --- /dev/null +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs @@ -0,0 +1,169 @@ +// Copyright 2017 European Union. +// Licensed under the EUPL (the 'Licence'); +// +// * You may not use this work except in compliance with the Licence. +// * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl +// * Unless required by applicable law or agreed to in writing, +// software distributed under the Licence is distributed on an "AS IS" basis, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// +// See the LICENSE.txt for the specific language governing permissions and limitations. + + +using System; +using System.Collections.Generic; +using System.Linq; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics +{ + public class ElectricalConsumerList : IElectricalConsumerList + { + private List<IElectricalConsumer> _items = new List<IElectricalConsumer>(); + private Volt _powernetVoltage; + private double _doorDutyCycleZeroToOne; + + + // Constructor + public ElectricalConsumerList(Volt powernetVoltage, double doorDutyCycle_ZeroToOne, bool createDefaultList = false) + { + _powernetVoltage = powernetVoltage; + + if (createDefaultList) + _items = GetDefaultConsumerList(); + + + _doorDutyCycleZeroToOne = doorDutyCycle_ZeroToOne; + } + + // Transfers the Info comments from a default set of consumables to a live set. + // This way makes the comments not dependent on saved data. + public void MergeInfoData() + { + if (_items.Count != GetDefaultConsumerList().Count) + return; + + var dflt = GetDefaultConsumerList(); + + for (var idx = 0; idx <= _items.Count - 1; idx++) + + _items[idx].Info = dflt[idx].Info; + } + + // Initialise default set of consumers + public List<IElectricalConsumer> GetDefaultConsumerList() + { + + // This populates the default settings as per engineering spreadsheet. + // Vehicle Basic Equipment' category can be added or remove by customers. + // At some time in the future, this may be removed and replace with file based consumer lists. + + var items = new List<IElectricalConsumer> { + new ElectricalConsumer(false, "Doors", "Doors per Door", 3.0.SI<Ampere>(), 0.096339, _powernetVoltage, 3, ""), + new ElectricalConsumer( + true, "Veh Electronics &Engine", "Controllers,Valves etc", 25.0.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""), + new ElectricalConsumer( + false, "Vehicle basic equipment", "Radio City", 2.0.SI<Ampere>(), 0.8, _powernetVoltage, 1, ""), + new ElectricalConsumer( + false, "Vehicle basic equipment", "Radio Intercity", 5.0.SI<Ampere>(), 0.8, _powernetVoltage, 0, ""), + new ElectricalConsumer( + false, "Vehicle basic equipment", "Radio/Audio Tourism", 9.0.SI<Ampere>(), 0.8, _powernetVoltage, 0, ""), + new ElectricalConsumer(false, "Vehicle basic equipment", "Fridge", 4.0.SI<Ampere>(), 0.5, _powernetVoltage, 0, ""), + new ElectricalConsumer( + false, "Vehicle basic equipment", "Kitchen Standard", 67.0.SI<Ampere>(), 0.05, _powernetVoltage, 0, ""), + new ElectricalConsumer( + false, "Vehicle basic equipment", "Interior lights City/ Intercity + Doorlights [Should be 1/m]", 1.0.SI<Ampere>(), + 0.7, _powernetVoltage, 12, "1 Per metre length of bus"), + new ElectricalConsumer( + false, "Vehicle basic equipment", "LED Interior lights ceiling city/Intercity + door [Should be 1/m]", + 0.6.SI<Ampere>(), 0.7, _powernetVoltage, 0, "1 Per metre length of bus"), + new ElectricalConsumer( + false, "Vehicle basic equipment", "Interior lights Tourism + reading [1/m]", 1.1.SI<Ampere>(), 0.7, + _powernetVoltage, 0, "1 Per metre length of bus"), + new ElectricalConsumer( + false, "Vehicle basic equipment", "LED Interior lights ceiling Tourism + LED reading [Should be 1/m]", + 0.66.SI<Ampere>(), 0.7, _powernetVoltage, 0, "1 Per metre length of bus"), + new ElectricalConsumer( + false, "Customer Specific Equipment", "External Displays Font/Side/Rear", 2.65017667844523.SI<Ampere>(), 1.0, + _powernetVoltage, 4, ""), + new ElectricalConsumer( + false, "Customer Specific Equipment", "Internal display per unit ( front side rear)", + 1.06007067137809.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""), + new ElectricalConsumer( + false, "Customer Specific Equipment", "CityBus Ref EBSF Table4 Devices ITS No Displays", 9.3.SI<Ampere>(), 1.0, + _powernetVoltage, 1, ""), + new ElectricalConsumer(false, "Lights", "Exterior Lights BULB", 7.4.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""), + new ElectricalConsumer( + false, "Lights", "Day running lights LED bonus", -0.723.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""), + new ElectricalConsumer( + false, "Lights", "Antifog rear lights LED bonus", -0.17.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""), + new ElectricalConsumer( + false, "Lights", "Position lights LED bonus", -1.2.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""), + new ElectricalConsumer( + false, "Lights", "Direction lights LED bonus", -0.3.SI<Ampere>(), 1.0, _powernetVoltage, 1, ""), + new ElectricalConsumer(false, "Lights", "Brake Lights LED bonus", -1.2.SI<Ampere>(), 1.0, _powernetVoltage, 1, "") + }; + + + return items; + } + + + // Interface implementation + public double DoorDutyCycleFraction + { + get { + return _doorDutyCycleZeroToOne; + } + set { + _doorDutyCycleZeroToOne = value; + } + } + + public List<IElectricalConsumer> Items + { + get { + return _items; + } + } + + public void AddConsumer(IElectricalConsumer consumer) + { + if (!_items.Contains(consumer)) + _items.Add(consumer); + else + throw new ArgumentException("Consumer Already Present in the list"); + } + + public void RemoveConsumer(IElectricalConsumer consumer) + { + if (_items.Contains(consumer)) + _items.Remove(consumer); + else + throw new ArgumentException("Consumer Not In List"); + } + + + public Ampere GetTotalAverageDemandAmps(bool excludeOnBase) + { + Ampere Amps; + + if (excludeOnBase) + + Amps = Items.Where(x => x.BaseVehicle == false) + .Sum(consumer => consumer.TotalAvgConumptionAmps(DoorDutyCycleFraction)); + + // Aggregate item In Items Where item.BaseVehicle = False Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction)) + + + else + + Amps = Items.Sum(x => x.TotalAvgConumptionAmps(DoorDutyCycleFraction)); + //Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction)) + + + return Amps; + } + } +} diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs similarity index 85% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs index 1d068acb5e..b8ba3f0292 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs @@ -10,20 +10,21 @@ // See the LICENSE.txt for the specific language governing permissions and limitations. using System.Collections.Generic; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; +using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { public class ElectricsUserInputsConfig : IElectricsUserInputsConfig { - public double PowerNetVoltage { get; set; } + public Volt PowerNetVoltage { get; set; } public string AlternatorMap { get; set; } public double AlternatorGearEfficiency { get; set; } public IElectricalConsumerList ElectricalConsumers { get; set; } - public int DoorActuationTimeSecond { get; set; } + public double DoorActuationTimeSecond { get; set; } public double StoredEnergyEfficiency { get; set; } public IResultCard ResultCardIdle { get; set; } @@ -43,7 +44,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics DoorActuationTimeSecond = 4; StoredEnergyEfficiency = 0.935; AlternatorGearEfficiency = 0.92; - PowerNetVoltage = vectoInputs.PowerNetVoltage.Value(); + PowerNetVoltage = vectoInputs.PowerNetVoltage; ResultCardIdle = new ResultCard(new List<SmartResult>()); ResultCardOverrun = new ResultCard(new List<SmartResult>()); ResultCardTraction = new ResultCard(new List<SmartResult>()); diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs similarity index 78% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs index ac99ecf368..a9f300e304 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs @@ -1,11 +1,12 @@ using System; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { public class M00Impl : AbstractModule, IM0_NonSmart_AlternatorsSetEfficiency { @@ -18,7 +19,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics protected ISSMTOOL _steadyStateModelHVAC; protected Watt _ElectricalPowerW; protected Watt _MechanicalPowerW; - protected LiterPerSecond _FuelingLPerH; + protected KilogramPerSecond _FuelingLPerH; public M00Impl( IElectricalConsumerList electricalConsumers, IAlternatorMap alternatorEfficiencyMap, Volt powernetVoltage, @@ -50,11 +51,11 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics _steadyStateModelHVAC = ssmHvac; - _ElectricalPowerW = ssmHvac.ElectricalWAdjusted.SI<Watt>(); + _ElectricalPowerW = ssmHvac.ElectricalWAdjusted; - _MechanicalPowerW = ssmHvac.MechanicalWBaseAdjusted.SI<Watt>(); + _MechanicalPowerW = ssmHvac.MechanicalWBaseAdjusted; - _FuelingLPerH = ssmHvac.FuelPerHBaseAdjusted.SI<LiterPerSecond>(); + _FuelingLPerH = ssmHvac.FuelPerHBaseAdjusted; } #region Implementation of IM0_NonSmart_AlternatorsSetEfficiency diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs similarity index 87% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs index e334c8db64..4f2f547dc4 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs @@ -1,10 +1,11 @@ using System; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { public class M02Impl : AbstractModule, IM2_AverageElectricalLoadDemand { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs similarity index 87% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs index 23d608d681..87e2ab116e 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M05Impl.cs @@ -1,9 +1,9 @@ using System; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { public class M05Impl : AbstractModule, IM5_SmartAlternatorSetGeneration { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs similarity index 92% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs index 10318e37c5..048fa2dac1 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs @@ -1,10 +1,11 @@ using System; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { public class M0_5Impl : AbstractModule, IM0_5_SmartAlternatorSetEfficiency { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs index 99fe0342dc..b3206969cc 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs @@ -15,7 +15,7 @@ using System.Linq; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { public class ResultCard : IResultCard { @@ -42,7 +42,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics if (_results.Count < 2) return 10.SI<Ampere>(); - return GetOrInterpolate(Amps.Value()).SI<Ampere>(); + return GetOrInterpolate(Amps); } @@ -53,21 +53,19 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Electrics /// ''' <param name="amps"></param> /// ''' <returns></returns> /// ''' <remarks></remarks> - private double GetOrInterpolate(double amps) + private Ampere GetOrInterpolate(Ampere amps) { - double pre; - double post; - double dAmps; - double dSmartAmps; + Ampere pre; + Ampere post; + Ampere dAmps; + Ampere dSmartAmps; double smartAmpsSlope; - double smartAmps; - double maxKey; - double minKey; + Ampere smartAmps; - maxKey = _results.Max().Amps; - minKey = _results.Min().Amps; + var maxKey = _results.Max().Amps; + var minKey = _results.Min().Amps; - var compareKey = new SmartResult(amps, 0); + var compareKey = new SmartResult(amps, 0.SI<Ampere>()); // Is on boundary check if (_results.Contains(compareKey)) diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs similarity index 98% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs index 7dbb8d12aa..a4c4491311 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs @@ -1,6 +1,6 @@ using System; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class Bus : IBus { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs similarity index 94% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs index 95cce08dda..b1275fb68c 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs @@ -5,7 +5,7 @@ using System.IO; using System.Linq; using System.Text; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class BusDatabase : IBusDatabase { @@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC try { buses.Add(bus); - } catch (Exception ex) { + } catch (Exception ) { result = false; } @@ -69,7 +69,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC var bus = new Bus(id, elements[0], elements[1], elements[2], double.Parse(elements[3], CultureInfo.InvariantCulture), double.Parse(elements[4], CultureInfo.InvariantCulture), double.Parse(elements[5], CultureInfo.InvariantCulture), int.Parse(elements[6], CultureInfo.InvariantCulture), elements.Length == 8 ? bool.Parse(elements[7]) : false); buses.Add(bus); - } catch (Exception ex) { + } catch (Exception ) { // Indicate problems returnStatus = false; @@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC existingBus.WidthInMetres = bus.WidthInMetres; existingBus.HeightInMetres = bus.HeightInMetres; existingBus.IsDoubleDecker = bus.IsDoubleDecker; - } catch (Exception ex) { + } catch (Exception ) { result = false; } @@ -126,7 +126,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC output.AppendLine(bus.ToString()); File.WriteAllText(filepath, output.ToString()); - } catch (Exception ex) { + } catch (Exception ) { result = false; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs new file mode 100644 index 0000000000..3ba51da9fe --- /dev/null +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs @@ -0,0 +1,9 @@ +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC +{ + public enum BusEngineType + { + Diesal = 1, + Gas = 2, + Hybrid = 3 + } +} diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs similarity index 53% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs index 2b0d49eaee..1d64301e41 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalCondition.cs @@ -1,28 +1,29 @@ using System.Collections.Generic; using System.Linq; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class EnvironmentalCondition : IEnvironmentalCondition { - private double _temperature; - private double _solar; + private Kelvin _temperature; + private WattPerSquareMeter _solar; private double _weight; - public EnvironmentalCondition(double temperature, double solar, double weight) + public EnvironmentalCondition(Kelvin temperature, WattPerSquareMeter solar, double weight) { _temperature = temperature; _solar = solar; _weight = weight; } - public double GetTemperature() + public Kelvin GetTemperature() { return _temperature; } - public double GetSolar() + public WattPerSquareMeter GetSolar() { return _solar; } diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs similarity index 70% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs index 97dffa47d2..88ee30a847 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs @@ -3,10 +3,11 @@ using System.Collections.Generic; using System.Globalization; using System.IO; using System.Linq; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -using TUGraz.VectoCore.BusAuxiliaries.Util; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Util; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class EnvironmentalConditionsMap : IEnvironmentalConditionsMap { @@ -44,14 +45,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC if (!firstline) { // split the line - var elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + var elements = line.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); // 3 entries per line required if ((elements.Length != 4)) return false; // Add environment condition - var newCondition = new EnvironmentalCondition(double.Parse(elements[1], CultureInfo.InvariantCulture), double.Parse(elements[2], CultureInfo.InvariantCulture), double.Parse(elements[3], CultureInfo.InvariantCulture)); + var newCondition = new EnvironmentalCondition( + double.Parse(elements[1], CultureInfo.InvariantCulture).DegCelsiusToKelvin(), + double.Parse(elements[2], CultureInfo.InvariantCulture).SI<WattPerSquareMeter>(), + double.Parse(elements[3], CultureInfo.InvariantCulture)); _map.Add(newCondition); } else diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs similarity index 90% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs index 7951d34b9d..e90f1ba13d 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs @@ -11,9 +11,9 @@ using Newtonsoft.Json; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class HVACConstants : IHVACConstants { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs index 656ffc9ecf..cbcd941b80 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACSteadyStateModel.cs @@ -12,9 +12,9 @@ using System; using System.IO; using System.Linq; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class HVACSteadyStateModel : IHVACSteadyStateModel { @@ -45,7 +45,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Check map file can be found. try { myData = System.IO.File.ReadAllText(filePath, System.Text.Encoding.UTF8); - } catch (FileNotFoundException ex) { + } catch (FileNotFoundException ) { message = "HVAC Steady State Model : The map file was not found"; return false; } @@ -84,7 +84,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC HVACElectricalLoadPowerWatts = float.Parse(values[0]); HVACMechanicalLoadPowerWatts = float.Parse(values[1]); HVACFuellingLitresPerHour = float.Parse(values[2]); - } catch (Exception ex) { + } catch (Exception ) { // Restore in the event of failure to fully assign HVACElectricalLoadPowerWatts = out1; diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs index ef2bc763dc..35a8ad8516 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class HVACUserInputsConfig : IHVACUserInputsConfig { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs similarity index 80% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs index 452e9f583e..2d8e8154b3 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public interface IBus { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs similarity index 78% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs index 32cf843ba2..61839df27a 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public interface IBusDatabase { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs similarity index 79% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs index b5cc278a90..ff11e3ef39 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs @@ -1,11 +1,11 @@ using System; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public class M01Impl : AbstractModule, IM1_AverageHVACLoadDemand { @@ -18,7 +18,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC protected Watt _ElectricalPowerW; protected Watt _MechanicalPowerW; - protected LiterPerSecond _FuelingLPerH; + protected KilogramPerSecond _FuelingLPerH; public M01Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, double altGearEfficiency, double compressorGearEfficiency, Volt powernetVoltage, ISignals signals, ISSMTOOL ssm) { @@ -65,9 +65,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC _steadyStateModel = ssm; - _ElectricalPowerW = ssm.ElectricalWAdjusted.SI<Watt>(); - _MechanicalPowerW = ssm.MechanicalWBaseAdjusted.SI<Watt>(); - _FuelingLPerH = ssm.FuelPerHBaseAdjusted.SI(Unit.SI.Liter.Per.Hour).Cast<LiterPerSecond>(); // ' SI(Of LiterPerHour)() + _ElectricalPowerW = ssm.ElectricalWAdjusted; + _MechanicalPowerW = ssm.MechanicalWBaseAdjusted; + _FuelingLPerH = ssm.FuelPerHBaseAdjusted; // ' SI(Of LiterPerHour)() } @@ -88,7 +88,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return _ElectricalPowerW * (1 / _m0.AlternatorsEfficiency / _alternatorGearEfficiency); } - public LiterPerSecond HVACFuelingLitresPerHour() + public KilogramPerSecond HVACFuelingLitresPerHour() { return _FuelingLPerH; } diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs similarity index 77% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs index 5e96572d75..92089c327b 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs @@ -1,8 +1,9 @@ using System; using System.Text; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { // Modeling SSHVAC V07 public class SSMCalculate : ISSMCalculate @@ -22,10 +23,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // BASE RESULTS - public double ElectricalWBase + public Watt ElectricalWBase { get { - var ElectricalWBaseWeightedAverage = 0.0; + var ElectricalWBaseWeightedAverage = 0.SI<Watt>(); var gen = ssmTOOL.GenInputs; var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature; var EC_SolarBefore = gen.EC_Solar; @@ -45,10 +46,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - public double MechanicalWBase + public Watt MechanicalWBase { get { - var MechanicalWBaseWeightedAverage = 0.0; + var MechanicalWBaseWeightedAverage = 0.SI<Watt>(); var gen = ssmTOOL.GenInputs; var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature; var EC_SolarBefore = gen.EC_Solar; @@ -68,10 +69,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - public double FuelPerHBase + public KilogramPerSecond FuelPerHBase { get { - var FuelLPerHBaseWeightedAverage = 0.0; + var FuelLPerHBaseWeightedAverage = 0.0.SI<KilogramPerSecond>(); var gen = ssmTOOL.GenInputs; var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature; var EC_SolarBefore = gen.EC_Solar; @@ -92,10 +93,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } // ADJUSTED RESULTS - public double ElectricalWAdjusted + public Watt ElectricalWAdjusted { get { - var ElectricalWAdjustedAverage = 0.0; + var ElectricalWAdjustedAverage = 0.0.SI<Watt>(); var gen = ssmTOOL.GenInputs; var tl = ssmTOOL.TechList; var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature; @@ -116,10 +117,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - public double MechanicalWBaseAdjusted + public Watt MechanicalWBaseAdjusted { get { - var MechanicalWBaseAdjustedAverage = 0.0; + var MechanicalWBaseAdjustedAverage = 0.0.SI<Watt>(); var gen = ssmTOOL.GenInputs; var tl = ssmTOOL.TechList; var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature; @@ -140,10 +141,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - public double FuelPerHBaseAdjusted + public KilogramPerSecond FuelPerHBaseAdjusted { get { - var FuelLPerHBaseAdjustedAverage = 0.0; + var FuelLPerHBaseAdjustedAverage = 0.0.SI<KilogramPerSecond>(); var gen = ssmTOOL.GenInputs; var tl = ssmTOOL.TechList; var EC_EnviromentalTemperatureBefore = gen.EC_EnviromentalTemperature; @@ -168,21 +169,21 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Base Values - public double BaseHeatingW_Mechanical + public Watt BaseHeatingW_Mechanical { get { - return default(Double); + return 0.SI<Watt>(); } } - public double BaseHeatingW_ElectricalCoolingHeating + public Watt BaseHeatingW_ElectricalCoolingHeating { get { - return default(Double); + return 0.SI<Watt>(); } } - public double BaseHeatingW_ElectricalVentilation + public Watt BaseHeatingW_ElectricalVentilation { get { // =IF(AND(M89<0,M90<0),IF(AND(C62="yes",C66="high"),C33,IF(AND(C62="yes",C66="low"),C34,0)),0) @@ -196,16 +197,20 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim M89 = Me.Run1.TotalW // Dim M90 = Me.Run2.TotalW - double res; - - res = Run1.TotalW < 0 && Run2.TotalW < 0 ? gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "high" ? gen.BC_HighVentPowerW : gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "low" ? gen.BC_LowVentPowerW : 0 : 0; + var res = Run1.TotalW < 0 && Run2.TotalW < 0 + ? gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "high" + ? gen.BC_HighVentPowerW + : gen.VEN_VentilationOnDuringHeating && gen.VEN_VentilationDuringHeating.ToLower() == "low" + ? gen.BC_LowVentPowerW + : 0.SI<Watt>() + : 0.SI<Watt>(); return res; } } - public double BaseHeatingW_FuelFiredHeating + public Watt BaseHeatingW_FuelFiredHeating { get { // =IF(AND(M89<0,M90<0),VLOOKUP(MAX(M89:M90),M89:O90,3),0) @@ -215,14 +220,15 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // VLOOKUP(MAX(M89:M90),M89:O90 => VLOOKUP ( lookupValue, tableArray, colIndex, rangeLookup ) // If both Run TotalW values are >=0 then return FuelW from Run with largest TotalW value, else return 0 - if ((Run1.TotalW < 0 && Run2.TotalW < 0)) + if ((Run1.TotalW < 0 && Run2.TotalW < 0)) { return Run1.TotalW > Run2.TotalW ? Run1.FuelW : Run2.FuelW; - else - return 0; + } + + return 0.SI<Watt>(); } } - public double BaseCoolingW_Mechanical + public Watt BaseCoolingW_Mechanical { get { // =IF(C46<C28,0,IF(C53="electrical", 0, IF(AND(M89>0,M90>0),MIN(M89:M90),0))) @@ -235,11 +241,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim M89 = Run1.TotalW // Dim M90 = Run2.TotalW - return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff ? 0 : gen.AC_CompressorTypeDerived.ToLower() == "electrical" ? 0 : Run1.TotalW > 0 && Run2.TotalW > 0 ? Math.Min(Run1.TotalW, Run2.TotalW) : 0; + return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff + ? 0.SI<Watt>() + : gen.AC_CompressorTypeDerived.ToLower() == "electrical" + ? 0.SI<Watt>() + : Run1.TotalW > 0 && Run2.TotalW > 0 + ? VectoMath.Min(Run1.TotalW, Run2.TotalW) + : 0.SI<Watt>(); } } - public double BaseCoolingW_ElectricalCoolingHeating + public Watt BaseCoolingW_ElectricalCoolingHeating { get { // =IF(C46<C28,0,IF(C53="electrical",IF(AND(M89>0,M90>0),MIN(M89:M90),0),0)) @@ -252,11 +264,18 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim M89 = Run1.TotalW // Dim M90 = Run2.TotalW - return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff ? 0 : gen.AC_CompressorTypeDerived.ToLower() == "electrical" ? Run1.TotalW > 0 && Run2.TotalW > 0 ? Math.Min(Run1.TotalW, Run2.TotalW) : 0 : 0; + return gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff + ? 0.SI<Watt>() + : gen.AC_CompressorTypeDerived.ToLower() == "electrical" + ? Run1.TotalW > 0 && Run2.TotalW > 0 + ? VectoMath.Min(Run1.TotalW, Run2.TotalW) + : 0.SI<Watt>() + : 0.SI<Watt>(); + } } - public double BaseCoolingW_ElectricalVentilation + public Watt BaseCoolingW_ElectricalVentilation { get { // =IF(AND(C46>=C28,M89>0,M90>0),IF(AND(C64="yes",C67="high"),C33,IF(AND(C64="yes",C67="low"),C34,0)),0) @@ -272,32 +291,38 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim C33 = gen.BC_HighVentPowerW // Dim C34 = gen.BC_LowVentPowerW - return gen.EC_EnviromentalTemperature >= gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0 ? gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "high" ? gen.BC_HighVentPowerW : gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "low" ? gen.BC_LowVentPowerW : 0 : 0; + return gen.EC_EnviromentalTemperature >= gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0 + ? gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "high" + ? gen.BC_HighVentPowerW + : gen.VEN_VentilationDuringAC && gen.VEN_VentilationDuringCooling.ToLower() == "low" + ? gen.BC_LowVentPowerW + : 0.SI<Watt>() + : 0.SI<Watt>(); } } - public double BaseCoolingW_FuelFiredHeating + public Watt BaseCoolingW_FuelFiredHeating { get { - return 0; + return 0.SI<Watt>(); } } - public double BaseVentilationW_Mechanical + public Watt BaseVentilationW_Mechanical { get { - return default(Double); + return 0.SI<Watt>(); } } - public double BaseVentilationW_ElectricalCoolingHeating + public Watt BaseVentilationW_ElectricalCoolingHeating { get { - return default(Double); + return 0.SI<Watt>(); } } - public double BaseVentilationW_ElectricalVentilation + public Watt BaseVentilationW_ElectricalVentilation { get { // =IF(OR(AND(C46<C28,M89>0,M90>0),AND(M89>0,M90<0)),IF(AND(C63="yes",C65="high"),C33,IF(AND(C63="yes",C65="low"),C34,0)),0) @@ -313,14 +338,23 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim C33 = gen.BC_HighVentPowerW // Dim C34 = gen.BC_LowVentPowerW - return (gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0) || (Run1.TotalW > 0 && Run2.TotalW < 0) ? gen.VEN_VentilationWhenBothHeatingAndACInactive && gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "high" ? gen.BC_HighVentPowerW : gen.VEN_VentilationWhenBothHeatingAndACInactive && gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "low" ? gen.BC_LowVentPowerW : 0 : 0; + return (gen.EC_EnviromentalTemperature < gen.BC_TemperatureCoolingTurnsOff && Run1.TotalW > 0 && Run2.TotalW > 0) || + (Run1.TotalW > 0 && Run2.TotalW < 0) + ? gen.VEN_VentilationWhenBothHeatingAndACInactive && + gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "high" + ? gen.BC_HighVentPowerW + : gen.VEN_VentilationWhenBothHeatingAndACInactive && + gen.VEN_VentilationFlowSettingWhenHeatingAndACInactive.ToLower() == "low" + ? gen.BC_LowVentPowerW + : 0.SI<Watt>() + : 0.SI<Watt>(); } } - public double BaseVentilationW_FuelFiredHeating + public Watt BaseVentilationW_FuelFiredHeating { get { - return 0; + return 0.SI<Watt>(); } } @@ -368,7 +402,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim TLN92 As Double = tl.HValueVariation - return tl.HValueVariation > 0 ? Math.Min(tl.HValueVariation, gen.BC_MaxPossibleBenefitFromTechnologyList) : Math.Max(tl.HValueVariation, -gen.BC_MaxPossibleBenefitFromTechnologyList); + return tl.HValueVariation > 0 + ? Math.Min(tl.HValueVariation, gen.BC_MaxPossibleBenefitFromTechnologyList) + : Math.Max(tl.HValueVariation, -gen.BC_MaxPossibleBenefitFromTechnologyList); } } @@ -544,9 +580,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC sb.AppendLine("*******************"); sb.AppendLine(vbTab + vbTab + vbTab + "Mechanical" + vbTab + "Elec Cool/Heat" + vbTab + "Elec Vent" + vbTab + "Fuel Fired Heating"); - sb.AppendLine(string.Format("Heating {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseHeatingW_Mechanical.ToString("0.00"), BaseHeatingW_ElectricalCoolingHeating.ToString("0.00"), BaseHeatingW_ElectricalVentilation.ToString("0.00"), BaseHeatingW_FuelFiredHeating.ToString("0.00"))); - sb.AppendLine(string.Format("Cooling {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseCoolingW_Mechanical.ToString("0.00"), BaseCoolingW_ElectricalCoolingHeating.ToString("0.00"), BaseCoolingW_ElectricalVentilation.ToString("0.00"), BaseCoolingW_FuelFiredHeating.ToString("0.00"))); - sb.AppendLine(string.Format("Ventilate {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseVentilationW_Mechanical.ToString("0.00"), BaseVentilationW_ElectricalCoolingHeating.ToString("0.00"), BaseVentilationW_ElectricalVentilation.ToString("0.00"), BaseVentilationW_FuelFiredHeating.ToString("0.00"))); + sb.AppendLine(string.Format("Heating {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseHeatingW_Mechanical.Value().ToString("0.00"), BaseHeatingW_ElectricalCoolingHeating.Value().ToString("0.00"), BaseHeatingW_ElectricalVentilation.Value().ToString("0.00"), BaseHeatingW_FuelFiredHeating.Value().ToString("0.00"))); + sb.AppendLine(string.Format("Cooling {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseCoolingW_Mechanical.Value().ToString("0.00"), BaseCoolingW_ElectricalCoolingHeating.Value().ToString("0.00"), BaseCoolingW_ElectricalVentilation.Value().ToString("0.00"), BaseCoolingW_FuelFiredHeating.Value().ToString("0.00"))); + sb.AppendLine(string.Format("Ventilate {0}{1}{0}{2}{0}{3}{0}{4}", vbTab + vbTab, BaseVentilationW_Mechanical.Value().ToString("0.00"), BaseVentilationW_ElectricalCoolingHeating.Value().ToString("0.00"), BaseVentilationW_ElectricalVentilation.Value().ToString("0.00"), BaseVentilationW_FuelFiredHeating.Value().ToString("0.00"))); sb.AppendLine(""); sb.AppendLine("Staging Adjusted Values"); @@ -560,7 +596,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return sb.ToString(); } - private double CalculateElectricalWBase(ISSMGenInputs genInputs, double EnviromentalTemperature, double Solar, double Weight) + private Watt CalculateElectricalWBase(ISSMGenInputs genInputs, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight) { // MIN(SUM(H94),C54*1000)/C59+SUM(I93:I95) @@ -575,12 +611,15 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim I94 = BaseCoolingW_ElectricalVentilation // Dim I95 = BaseVentilationW_ElectricalVentilation - var ElectricalWBaseCurrentResult = Math.Min(BaseCoolingW_ElectricalCoolingHeating, genInputs.AC_CompressorCapacitykW * 1000) / (double)genInputs.AC_COP + BaseHeatingW_ElectricalVentilation + BaseCoolingW_ElectricalVentilation + BaseVentilationW_ElectricalVentilation; + var ElectricalWBaseCurrentResult = + VectoMath.Min(BaseCoolingW_ElectricalCoolingHeating, genInputs.AC_CompressorCapacitykW) / + genInputs.AC_COP + BaseHeatingW_ElectricalVentilation + BaseCoolingW_ElectricalVentilation + + BaseVentilationW_ElectricalVentilation; return ElectricalWBaseCurrentResult * Weight; } - private double CalculateMechanicalWBase(ISSMGenInputs genInputs, double EnviromentalTemperature, double Solar, double Weight) + private Watt CalculateMechanicalWBase(ISSMGenInputs genInputs, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight) { // =MIN(F94,C54*1000)/C59 @@ -592,12 +631,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim C54 = genInputs.AC_CompressorCapacitykW // Dim C59 = genInputs.AC_COP - var MechanicalWBaseCurrentResult = Math.Min(BaseCoolingW_Mechanical, genInputs.AC_CompressorCapacitykW * 1000) / (double)genInputs.AC_COP; + var MechanicalWBaseCurrentResult = VectoMath.Min(BaseCoolingW_Mechanical, genInputs.AC_CompressorCapacitykW) / genInputs.AC_COP; return MechanicalWBaseCurrentResult * Weight; } - private double CalculateFuelLPerHBase(ISSMGenInputs genInputs, double EnviromentalTemperature, double Solar, double Weight) + private KilogramPerSecond CalculateFuelLPerHBase(ISSMGenInputs genInputs, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight) { // =(MIN(ABS(J93/1000),C71)/C37)*(1/(C39*C38)) @@ -611,12 +650,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim C39 = ssmTOOL.HVACConstants.FuelDensity // Dim C38 = genInputs.BC_GCVDieselOrHeatingOil - var FuelLPerHBaseCurrentResult = (Math.Min(Math.Abs(BaseHeatingW_FuelFiredHeating / 1000), genInputs.AH_FuelFiredHeaterkW) / (double)genInputs.BC_AuxHeaterEfficiency) * (1 / (double)(genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensityAsGramPerLiter)); + var FuelLPerHBaseCurrentResult = + VectoMath.Min(VectoMath.Abs(BaseHeatingW_FuelFiredHeating).Value().SI<Watt>(), genInputs.AH_FuelFiredHeaterkW) / + genInputs.BC_AuxHeaterEfficiency / (genInputs.BC_GCVDieselOrHeatingOil /* * ssmTOOL.HVACConstants.FuelDensity */); return FuelLPerHBaseCurrentResult * Weight; } - private double CalculateElectricalWAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, double EnviromentalTemperature, double Solar, double Weight) + private Watt CalculateElectricalWAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight) { // =(MIN((H94*(1-H100)),C54*1000)/C59)+(I93*(1-I99))+(I94*(1-I100))+(I95*(1-I101)) @@ -636,12 +677,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC var I100 = TechListAdjustedCoolingW_ElectricalVentilation; var I101 = TechListAdjustedVentilationW_ElectricalVentilation; - var ElectricalWAdjusted = (Math.Min((H94 * (1 - H100)), C54 * 1000) / C59) + (I93 * (1 - I99)) + (I94 * (1 - I100)) + (I95 * (1 - I101)); + var ElectricalWAdjusted = (VectoMath.Min((H94 * (1 - H100)), C54) / C59) + (I93 * (1 - I99)) + (I94 * (1 - I100)) + (I95 * (1 - I101)); return ElectricalWAdjusted * Weight; } - private double CalculateMechanicalWBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, double EnviromentalTemperature, double Solar, double Weight) + private Watt CalculateMechanicalWBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight) { // =(MIN((F94*(1-F100)),C54*1000)/C59) @@ -654,12 +695,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC var C54 = genInputs.AC_CompressorCapacitykW; var C59 = genInputs.AC_COP; - var MechanicalWBaseAdjusted = (Math.Min((F94 * (1 - F100)), C54 * 1000) / C59); + var MechanicalWBaseAdjusted = (VectoMath.Min((F94 * (1 - F100)), C54 * 1000) / C59); return MechanicalWBaseAdjusted * Weight; } - private double CalculateFuelLPerHBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, double EnviromentalTemperature, double Solar, double Weight) + private KilogramPerSecond CalculateFuelLPerHBaseAdjusted(ISSMGenInputs genInputs, ISSMTechList tecList, Kelvin EnviromentalTemperature, WattPerSquareMeter Solar, double Weight) { // =MIN(ABS(IF(AND(M89<0,M90<0),VLOOKUP(MAX(M89:M90),M89:P90,4),0)/1000),C71)/C37*(1/(C39*C38)) @@ -674,12 +715,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim C38 = genInputs.BC_GCVDieselOrHeatingOil // Dim C39 = ssmTOOL.HVACConstants.FuelDensity - double result = 0; + var result = 0.SI<Watt>(); - if (Run1.TotalW < 0 && Run2.TotalW < 0) - result = Math.Abs(Run1.TotalW > Run2.TotalW ? Run1.TechListAmendedFuelW : Run2.TechListAmendedFuelW / (double)1000); + if (Run1.TotalW < 0 && Run2.TotalW < 0) { + result = VectoMath.Abs(Run1.TotalW > Run2.TotalW ? Run1.TechListAmendedFuelW : Run2.TechListAmendedFuelW).Value().SI<Watt>(); + } - var FuelLPerHBaseAdjusted = Math.Min(result, genInputs.AH_FuelFiredHeaterkW) / (double)genInputs.BC_AuxHeaterEfficiency * (1 / (double)(genInputs.BC_GCVDieselOrHeatingOil * ssmTOOL.HVACConstants.FuelDensityAsGramPerLiter)); + var FuelLPerHBaseAdjusted = VectoMath.Min(result, genInputs.AH_FuelFiredHeaterkW) / + genInputs.BC_AuxHeaterEfficiency / (genInputs.BC_GCVDieselOrHeatingOil /* * ssmTOOL.HVACConstants.FuelDensity*/) ; return FuelLPerHBaseAdjusted * Weight; } diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs similarity index 53% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs index 90bb2fe732..fb312e96bf 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMGenInputs.cs @@ -1,56 +1,94 @@ using System; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.Declaration; +using TUGraz.VectoCore.Models.SimulationComponent.Data; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { // Used by SSMHVAC Class public class SSMGenInputs : ISSMGenInputs { private string _EC_EnviromentalConditions_BatchFile; private IEnvironmentalConditionsMap _EC_EnvironmentalConditionsMap; + + protected internal VehicleData _vehicle; + private string _vectoDir; - public SSMGenInputs(bool initialiseDefaults = false, string vectoDir = "") + //public SSMGenInputs(bool initialiseDefaults = false, string vectoDir = "") + //{ + // _vectoDir = vectoDir; + // BP_BusModel = ""; + // BP_BusFloorType = ""; + // EC_EnviromentalConditions_BatchFile = ""; + // AC_CompressorType = ""; + // VEN_VentilationDuringCooling = ""; + // VEN_VentilationDuringHeating = ""; + // VEN_VentilationFlowSettingWhenHeatingAndACInactive = ""; + // if (initialiseDefaults) + // SetDefaults(); + //} + + public SSMGenInputs(string vectoDir = "") { _vectoDir = vectoDir; - BP_BusModel = ""; - BP_BusFloorType = ""; - EC_EnviromentalConditions_BatchFile = ""; - AC_CompressorType = ""; - VEN_VentilationDuringCooling = ""; - VEN_VentilationDuringHeating = ""; - VEN_VentilationFlowSettingWhenHeatingAndACInactive = ""; - if (initialiseDefaults) - SetDefaults(); + SetDefaults(); } + public SSMGenInputs(VehicleData vehicle) + { + _vehicle = vehicle; + } // C4/D4 - public string BP_BusModel { get; set; } + public string BP_BusModel + { + get { return _vehicle.ModelName; } + } // C5/D5 - public double BP_NumberOfPassengers { get; set; } + public double BP_NumberOfPassengers + { + get { return _vehicle.PassengerCount; } + } // C6/D6 - public string BP_BusFloorType { get; set; } + public FloorType BP_BusFloorType + { + get { return _vehicle.FloorType; } + } + + // C10/D10 + public bool BP_DoubleDecker { get { return _vehicle.DoubleDecker; } } + + // D12/C12 - ( M ) + public Meter BP_BusLength { get { return _vehicle.Length; } } + + // D13/C13 - ( M ) + public Meter BP_BusWidth { get { return _vehicle.Width; } } + + // D14/C14 - ( M ) + public Meter BP_BusHeight { get { return _vehicle.Height; } } + // D7/C7 - ( M/2 ) - public double BP_BusFloorSurfaceArea + public SquareMeter BP_BusFloorSurfaceArea { get { - // =IF(AND(C6="low floor",C13<=2.55,C13>=2.5),(2.55*(C12-1.2)),((C12-1.2)*C13)) - if (BP_BusFloorType == "low floor" && BP_BusWidth <= 2.55 && BP_BusWidth >= 2.5) - return Math.Round((2.55 * (BP_BusLength - 1.2)), 6); - else - return Math.Round(((BP_BusLength - 1.2) * BP_BusWidth), 6); + if (BP_BusFloorType == FloorType.LowFloor && BP_BusWidth <= 2.55 && BP_BusWidth >= 2.5) { + return 2.55.SI<Meter>() * (BP_BusLength - 1.2.SI<Meter>()); + } + + return ((BP_BusLength - 1.2.SI<Meter>()) * BP_BusWidth); } } // D8/C8 - ( M/2 ) - public double BP_BusSurfaceAreaM2 + public SquareMeter BP_BusSurfaceAreaM2 { get { // 2 * (C12*C13 + C12*C14 + C13*C14) @@ -59,7 +97,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } // D9/C9 - ( M/2 ) - public double BP_BusWindowSurface + public SquareMeter BP_BusWindowSurface { get { // =(C40*C12)+C41 @@ -67,27 +105,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - // C10/D10 - public bool BP_DoubleDecker { get; set; } // D11/C11 - ( M/3 ) - public double BP_BusVolume + public CubicMeter BP_BusVolume { get { // =(C12*C13*C14) - return (BP_BusLength * BP_BusWidth * BP_BusHeight); + return BP_BusLength * BP_BusWidth * BP_BusHeight; } } - // D12/C12 - ( M ) - public double BP_BusLength { get; set; } - - // D13/C13 - ( M ) - public double BP_BusWidth { get; set; } - - // D14/C14 - ( M ) - public double BP_BusHeight { get; set; } - + // C17 @@ -103,41 +131,41 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } // C19 - ( W ) - public double BC_HeatPerPassengerIntoCabinW + public Watt BC_HeatPerPassengerIntoCabinW { get { // =IF(C46<17,50,80) - return EC_EnviromentalTemperature < 17 ? 50 : 80; + return (EC_EnviromentalTemperature < 17 ? 50 : 80).SI<Watt>(); } } // C20 - ( oC ) - public double BC_PassengerBoundaryTemperature { get; set; } + public Kelvin BC_PassengerBoundaryTemperature { get; set; } // C21 - ( Passenger/Metre Squared ) - public double BC_PassengerDensityLowFloor + public PerSquareMeter BC_PassengerDensityLowFloor { get { // =IF($C$10="No",3,3.7) - return BP_DoubleDecker ? 3.7 : 3; + return (BP_DoubleDecker ? 3.7 : 3).SI<PerSquareMeter>(); } } // C22 - ( Passenger/Metre Squared ) - public double BC_PassengerDensitySemiLowFloor + public PerSquareMeter BC_PassengerDensitySemiLowFloor { get { // =IF($C$10="No",2.2,3) - return BP_DoubleDecker ? 3 : 2.2; + return (BP_DoubleDecker ? 3 : 2.2).SI<PerSquareMeter>(); } } // C23 - ( Passenger/Metre Squared ) - public double BC_PassengerDensityRaisedFloor + public PerSquareMeter BC_PassengerDensityRaisedFloor { get { // =IF($C$10="No",1.4,2) - return BP_DoubleDecker ? 2 : 1.4; + return (BP_DoubleDecker ? 2 : 1.4).SI<PerSquareMeter>(); } } @@ -146,42 +174,44 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC { get { // =ROUND(IF($D$5<IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7,$D$5,IF(D6="low floor",C21,IF(D6="semi low floor",C22,C23))*D7),0) - var tmp = BP_BusFloorType == "low floor" ? BC_PassengerDensityLowFloor : BP_BusFloorType == "semi low floor" ? BC_PassengerDensitySemiLowFloor : BC_PassengerDensityRaisedFloor * BP_BusFloorSurfaceArea; - return Math.Round(BP_NumberOfPassengers < tmp ? BP_NumberOfPassengers : tmp, 0); + var tmp = (BP_BusFloorType == FloorType.LowFloor + ? BC_PassengerDensityLowFloor + : BP_BusFloorType == FloorType.SemiLowFloor + ? BC_PassengerDensitySemiLowFloor + : BC_PassengerDensityRaisedFloor) * BP_BusFloorSurfaceArea; + return Math.Round(BP_NumberOfPassengers < tmp ? BP_NumberOfPassengers : tmp.Value(), 0); } } // C25 - ( W/K/M3 ) - public double BC_UValues + public WattPerKelvinSquareMeter BC_UValues { get { // =IF(D6="low floor",4,IF(D6="semi low floor",3.5,3)) - return BP_BusFloorType == "low floor" ? 4 : BP_BusFloorType == "semi low floor" ? 3.5 : 3; + return (BP_BusFloorType ==FloorType.LowFloor ? 4 : BP_BusFloorType == FloorType.SemiLowFloor ? 3.5 : 3).SI<WattPerKelvinSquareMeter>(); } } // C26 - ( oC ) - public double BC_HeatingBoundaryTemperature { get; set; } + public Kelvin BC_HeatingBoundaryTemperature { get; set; } // C27 - ( oC ) - public double BC_CoolingBoundaryTemperature { get; set; } + public Kelvin BC_CoolingBoundaryTemperature { get; set; } // C28 - ( oC ) - public double BC_TemperatureCoolingTurnsOff + public Kelvin BC_TemperatureCoolingTurnsOff { - get { - return 17; - } + get { return 17.0.DegCelsiusToKelvin(); } } - // C29 - ( L/H ) - public double BC_HighVentilation { get; set; } + // C29 - ( L/H ) --- !! 1/h + public PerSecond BC_HighVentilation { get; set; } - // C30 - ( L/H ) - public double BC_lowVentilation { get; set; } + // C30 - ( L/H ) --- !! 1/h + public PerSecond BC_lowVentilation { get; set; } // C31 - ( M3/H ) - public double BC_High + public CubicMeterPerSecond BC_High { get { // =D11*C29 @@ -190,7 +220,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } // C32 - ( M3/H ) - public double BC_Low + public CubicMeterPerSecond BC_Low { get { // =C30*D11 @@ -199,7 +229,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } // C33 - ( W ) - public double BC_HighVentPowerW + public Watt BC_HighVentPowerW { get { // =C31*C35 @@ -208,7 +238,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } // C34 - ( W ) - public double BC_LowVentPowerW + public Watt BC_LowVentPowerW { get { // =C32*C35 @@ -217,59 +247,54 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } // C35 - ( Wh/M3 ) - public double BC_SpecificVentilationPower { get; set; } + public JoulePerCubicMeter BC_SpecificVentilationPower { get; set; } // C37 public double BC_AuxHeaterEfficiency { get; set; } // C38 - ( KW/HKG ) - public double BC_GCVDieselOrHeatingOil { get; set; } + public JoulePerKilogramm BC_GCVDieselOrHeatingOil { get; set; } // C40 - ( M2/M ) - public double BC_WindowAreaPerUnitBusLength + public SquareMeterPerMeter BC_WindowAreaPerUnitBusLength { get { // =IF($C$10="No",1.5,2.5) - return BP_DoubleDecker ? 2.5 : 1.5; + return (BP_DoubleDecker ? 2.5 : 1.5).SI<SquareMeterPerMeter>(); } } // C41 - ( M/2 ) - public double BC_FrontRearWindowArea + public SquareMeter BC_FrontRearWindowArea { get { // =IF($C$10="No",5,8) - return BP_DoubleDecker ? 8 : 5; + return (BP_DoubleDecker ? 8 : 5).SI<SquareMeter>(); } } // C42 - ( K ) - public double BC_MaxTemperatureDeltaForLowFloorBusses { get; set; } + public Kelvin BC_MaxTemperatureDeltaForLowFloorBusses { get; set; } // C43 - ( Fraction ) public double BC_MaxPossibleBenefitFromTechnologyList { get; set; } - // C46 - ( oC ) - public double EC_EnviromentalTemperature { get; set; } + public Kelvin EC_EnviromentalTemperature { get; set; } // C47 - ( W/M3 ) - public double EC_Solar { get; set; } + public WattPerSquareMeter EC_Solar { get; set; } // ( EC_EnviromentalTemperature and EC_Solar) (Batch Mode) public IEnvironmentalConditionsMap EC_EnvironmentalConditionsMap { - get { - return _EC_EnvironmentalConditionsMap; - } + get { return _EC_EnvironmentalConditionsMap; } } public string EC_EnviromentalConditions_BatchFile { - get { - return _EC_EnviromentalConditions_BatchFile; - } + get { return _EC_EnviromentalConditions_BatchFile; } set { _EC_EnvironmentalConditionsMap = new EnvironmentalConditionsMap(value, _vectoDir); _EC_EnviromentalConditions_BatchFile = value; @@ -279,20 +304,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC public bool EC_EnviromentalConditions_BatchEnabled { get; set; } - // C53 - "Continous/2-stage/3-stage/4-stage public string AC_CompressorType { get; set; } // mechanical/electrical public string AC_CompressorTypeDerived { - get { - return AC_CompressorType == "Continuous" ? "Electrical" : "Mechanical"; - } + get { return AC_CompressorType == "Continuous" ? "Electrical" : "Mechanical"; } } // C54 - ( KW ) - public double AC_CompressorCapacitykW { get; set; } + public Watt AC_CompressorCapacitykW { get; set; } // C59 public double AC_COP @@ -303,7 +325,11 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC if ((AC_CompressorType != null)) { cop = AC_CompressorType.ToLower() == "3-stage" ? cop * 1.02 : cop; cop = AC_CompressorType.ToLower() == "4-stage" ? cop * 1.02 : cop; - cop = AC_CompressorType.ToLower() == "continuous" ? BP_BusFloorType.ToLower() == "low floor" ? cop * 1.04 : cop * 1.06 : cop; + cop = AC_CompressorType.ToLower() == "continuous" + ? BP_BusFloorType == FloorType.LowFloor + ? cop * 1.04 + : cop * 1.06 + : cop; } return Math.Round(cop, 2); @@ -311,7 +337,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC } - // C62 - Boolean Yes/No public bool VEN_VentilationOnDuringHeating { get; set; } @@ -331,31 +356,31 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC public string VEN_VentilationDuringCooling { get; set; } - // C70 - ( KW ) - public double AH_EngineWasteHeatkW { get; set; } + public Watt AH_EngineWasteHeatkW { get; set; } // C71 - ( KW ) - public double AH_FuelFiredHeaterkW { get; set; } + public Watt AH_FuelFiredHeaterkW { get; set; } public double AH_FuelEnergyToHeatToCoolant { get; set; } public double AH_CoolantHeatTransferredToAirCabinHeater { get; set; } - private void SetDefaults() { - // BUS Parameterisation // ******************** - BP_BusModel = "DummyBus"; - BP_NumberOfPassengers = 47.0D; - BP_BusFloorType = "raised floor"; - BP_DoubleDecker = false; - BP_BusLength = 10.655D; - BP_BusWidth = 2.55D; - BP_BusHeight = 2.275D; + _vehicle = new VehicleData() { + ModelName = "DummyBus", + PassengerCount = 47.0, + FloorType = FloorType.HighFloor, // "raised floor", + DoubleDecker = false, + Length = 10.655.SI<Meter>(), + Width = 2.55.SI<Meter>(), + Height = 2.275.SI<Meter>(), + }; + // BP_BusFloorSurfaceArea : Calculated // BP_BusSurfaceAreaM2 : Calculated // BP_BusWindowSurface : Calculated @@ -365,44 +390,49 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // ****************** BC_GFactor = 0.95D; + // BC_SolarClouding As Double :Calculated // BC_HeatPerPassengerIntoCabinW :Calculated - BC_PassengerBoundaryTemperature = 12.0D; + BC_PassengerBoundaryTemperature = 12.0.DegCelsiusToKelvin(); + // BC_PassengerDensityLowFloor :Calculated // BC_PassengerDensitySemiLowFloor :Calculated // BC_PassengerDensityRaisedFloor :Calculated // BC_CalculatedPassengerNumber :Calculated // BC_UValues :Calculated - BC_HeatingBoundaryTemperature = 18.0D; - BC_CoolingBoundaryTemperature = 23.0D; + BC_HeatingBoundaryTemperature = 18.0.DegCelsiusToKelvin(); + BC_CoolingBoundaryTemperature = 23.0.DegCelsiusToKelvin(); + // BC_CoolingBoundaryTemperature : ReadOnly Static - BC_HighVentilation = 20.0D; - BC_lowVentilation = 7.0D; + BC_HighVentilation = 20.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>(); + BC_lowVentilation = 7.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>(); + // BC_High :Calculated // BC_Low :Calculated // BC_HighVentPowerW :Calculated // BC_LowVentPowerW :Calculated - BC_SpecificVentilationPower = 0.56D; + BC_SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast<JoulePerCubicMeter>(); + // BC_COP :Calculated BC_AuxHeaterEfficiency = 0.84D; - BC_GCVDieselOrHeatingOil = 11.8D; + BC_GCVDieselOrHeatingOil = 11.8.SI(Unit.SI.Kilo.Watt.Hour.Per.Kilo.Gramm).Cast<JoulePerKilogramm>(); + // BC_WindowAreaPerUnitBusLength :Calculated // BC_FrontRearWindowArea :Calculated - BC_MaxTemperatureDeltaForLowFloorBusses = 3.0D; + BC_MaxTemperatureDeltaForLowFloorBusses = 3.0.SI<Kelvin>(); BC_MaxPossibleBenefitFromTechnologyList = 0.5D; // Environmental Conditions // ************************ - EC_EnviromentalTemperature = 25.0D; - EC_Solar = 400.0D; + EC_EnviromentalTemperature = 25.0.DegCelsiusToKelvin(); + EC_Solar = 400.0.SI<WattPerSquareMeter>(); EC_EnviromentalConditions_BatchEnabled = true; EC_EnviromentalConditions_BatchFile = "DefaultClimatic.aenv"; // AC SYSTEM // ********* AC_CompressorType = "2-stage"; - AC_CompressorCapacitykW = 18.0D; - + AC_CompressorCapacitykW = 18.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>(); // VENTILATION // *********** @@ -413,12 +443,12 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC VEN_VentilationDuringHeating = "high"; VEN_VentilationDuringCooling = "high"; - // AUX HEATER // ********** - AH_FuelFiredHeaterkW = 30.0D; + AH_FuelFiredHeaterkW = 30.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>(); AH_FuelEnergyToHeatToCoolant = 0.2; AH_CoolantHeatTransferredToAirCabinHeater = 0.75; + AH_EngineWasteHeatkW = 0.SI<Watt>(); } } } diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs similarity index 69% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs index 76fca6a627..d5e63d2c96 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs @@ -1,8 +1,10 @@ using System; using System.Text; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.Declaration; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { // Used By SSMHVAC Class @@ -35,7 +37,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return gen.EC_EnviromentalTemperature > gen.BC_CoolingBoundaryTemperature ? 3 : gen.EC_EnviromentalTemperature < gen.BC_HeatingBoundaryTemperature ? 1 : 2; } } - public double TCalc + public Kelvin TCalc { get { @@ -46,18 +48,19 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // C39 = BC_FontAndRearWindowArea var gen = ssmTOOL.GenInputs; - double returnVal; - - if (runNumber == 1) - returnVal = gen.BC_HeatingBoundaryTemperature; - else - returnVal = gen.BP_BusFloorType == "low floor" ? (gen.EC_EnviromentalTemperature - gen.BC_CoolingBoundaryTemperature) < gen.BC_FrontRearWindowArea ? gen.BC_CoolingBoundaryTemperature : gen.EC_EnviromentalTemperature - 3 : gen.BC_CoolingBoundaryTemperature; - - - return returnVal; + + if (runNumber == 1) { + return gen.BC_HeatingBoundaryTemperature; + } + + return gen.BP_BusFloorType == FloorType.LowFloor + ? (gen.EC_EnviromentalTemperature - gen.BC_CoolingBoundaryTemperature) < gen.BC_MaxTemperatureDeltaForLowFloorBusses + ? gen.BC_CoolingBoundaryTemperature + : gen.EC_EnviromentalTemperature - 3.SI<Kelvin>() + : gen.BC_CoolingBoundaryTemperature; } } - public double TemperatureDelta + public Kelvin TemperatureDelta { get { // =C43-F79/F80 @@ -68,7 +71,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return gen.EC_EnviromentalTemperature - TCalc; } } - public double QWall + public Watt QWall { get { // =I79*D8*C23 or '=I80*D8*C23 @@ -84,7 +87,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return TemperatureDelta * gen.BP_BusSurfaceAreaM2 * gen.BC_UValues; } } - public double WattsPerPass + public Watt WattsPerPass { get { @@ -104,7 +107,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return Math.Min(gen.BP_NumberOfPassengers, gen.BC_CalculatedPassengerNumber) * gen.BC_HeatPerPassengerIntoCabinW; } } - public double Solar + public Watt Solar { get { // =C44*D9*C15*C16*0.25 @@ -122,7 +125,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return gen.EC_Solar * gen.BP_BusWindowSurface * gen.BC_GFactor * gen.BC_SolarClouding * 0.25; } } - public double TotalW + public Watt TotalW { get { @@ -133,15 +136,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return QWall + WattsPerPass + Solar; } } - public double TotalKW - { - get { - // =M79 or =M80 / (1000) + //public Watt TotalKW + //{ + // get { + // // =M79 or =M80 / (1000) - return TotalW / 1000; - } - } - public double FuelW + // return TotalW / 1000; + // } + //} + + public Watt FuelW { get { // =IF(AND(N79<0,N79<(C60*-1)),N79-(C60*-1),0)*1000 @@ -151,11 +155,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim N79 as Double = TotalKW // Dim C60 As Double = gen.AH_EngineWasteHeatkW - return (TotalKW < 0 && TotalKW < (gen.AH_EngineWasteHeatkW * -1)) ? TotalKW - (gen.AH_EngineWasteHeatkW * -1) : 0 - * 1000; + return (TotalW < 0 && TotalW < (gen.AH_EngineWasteHeatkW * -1)) ? TotalW - (gen.AH_EngineWasteHeatkW * -1) : 0.SI<Watt>(); } } - public double TechListAmendedFuelW + public Watt TechListAmendedFuelW { get { // =IF(IF(AND((N79*(1-$J$89))<0,(N79*(1-$J$89))<(C60*-1)),(N79*(1-$J$89))-(C60*-1),0)*1000<0,IF(AND((N79*(1-$J$89))<0,(N79*(1-$J$89))<(C60*-1)),(N79*(1-$J$89))-(C60*-1),0)*1000,0) @@ -164,8 +167,16 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC var TLFFH = ssmTOOL.Calculate.TechListAdjustedHeatingW_FuelFiredHeating; // Dim C60 As Double = gen.AH_EngineWasteHeatkW // Dim N79 As Double = Me.TotalKW - - return ((TotalKW * (1 - TLFFH)) < 0 && (TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)) ? (TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1) : 0 * 1000 < 0 ? ((TotalKW * (1 - TLFFH)) < 0 && (TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)) ? (TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1) : 0 * 1000 : 0; + //Return IF(IF(((TotalKW * (1 - TLFFH)) < 0 AndAlso(TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)), _ + // (TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1), 0)*1000 < 0, _ + //IF(((TotalKW * (1 - TLFFH)) < 0 AndAlso(TotalKW * (1 - TLFFH)) < (gen.AH_EngineWasteHeatkW * -1)),(TotalKW * (1 - TLFFH)) - (gen.AH_EngineWasteHeatkW * -1),0)*1000,0) + + return (TotalW * (1 - TLFFH) < 0 && TotalW * (1 - TLFFH) < gen.AH_EngineWasteHeatkW * -1? + TotalW * (1 - TLFFH) - gen.AH_EngineWasteHeatkW * -1: 0.SI<Watt>()) < 0 + ? (TotalW * (1 - TLFFH) < 0 && TotalW * (1 - TLFFH) < gen.AH_EngineWasteHeatkW * -1 + ? TotalW * (1 - TLFFH) - gen.AH_EngineWasteHeatkW * -1 + : 0.SI<Watt>()) + : 0.SI<Watt>(); } } @@ -185,7 +196,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC sb.AppendLine(string.Format("WattsPerPass " + vbTab + ": {0}", WattsPerPass)); sb.AppendLine(string.Format("Solar " + vbTab + ": {0}", Solar)); sb.AppendLine(string.Format("TotalW " + vbTab + ": {0}", TotalW)); - sb.AppendLine(string.Format("TotalKW " + vbTab + ": {0}", TotalKW)); + sb.AppendLine(string.Format("TotalKW " + vbTab + ": {0}", TotalW.Value() * 1000)); sb.AppendLine(string.Format("Fuel W " + vbTab + ": {0}", FuelW)); sb.AppendLine(string.Format("Fuel Tech Adj " + vbTab + ": {0}", TechListAmendedFuelW)); diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs new file mode 100644 index 0000000000..13467126d0 --- /dev/null +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs @@ -0,0 +1,399 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Omu.ValueInjecter; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.InputData.FileIO.JSON; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC +{ + // Used by frmHVACTool + // Replaces Spreadsheet model which does the same calculation + // Version of which appears on the form title. + public class SSMTOOL : ISSMTOOL + { + private string filePath; + public ISSMGenInputs GenInputs { get; set; } + public ISSMTechList TechList { get; set; } + public ISSMCalculate Calculate { get; set; } + public bool SSMDisabled { get; set; } + public IHVACConstants HVACConstants { get; set; } + + // Repeat Warning Flags + private bool CompressorCapacityInsufficientWarned; + //private bool FuelFiredHeaterInsufficientWarned; + + // Base Values + public Watt ElectricalWBase + { + get { + return SSMDisabled ? 0.SI<Watt>() : Calculate.ElectricalWBase; // .SI(Of Watt)() + } + } + + public Watt MechanicalWBase + { + get { + return SSMDisabled ? 0.SI<Watt>() : Calculate.MechanicalWBase; // .SI(Of Watt)() + } + } + + public KilogramPerSecond FuelPerHBase + { + get { + return SSMDisabled ? 0.SI<KilogramPerSecond>() : Calculate.FuelPerHBase; // .SI(Of LiterPerHour)() + } + } + + // Adjusted Values + public Watt ElectricalWAdjusted + { + get { + return SSMDisabled ? 0.SI<Watt>() : Calculate.ElectricalWAdjusted; // .SI(Of Watt)() + } + } + + public Watt MechanicalWBaseAdjusted + { + get { + var mechAdjusted = SSMDisabled ? 0.SI<Watt>() : Calculate.MechanicalWBaseAdjusted; + + if (CompressorCapacityInsufficientWarned == false && (mechAdjusted) / (1000 * GenInputs.AC_COP) > GenInputs.AC_CompressorCapacitykW) { + OnMessage(this, "HVAC SSM :AC-Compressor Capacity unable to service cooling, run continues as if capacity was sufficient.", AdvancedAuxiliaryMessageType.Warning); + CompressorCapacityInsufficientWarned = true; + } + + + return mechAdjusted; // .SI(Of Watt)() + } + } + + public KilogramPerSecond FuelPerHBaseAdjusted + { + get { + return SSMDisabled ? 0.SI<KilogramPerSecond>() : Calculate.FuelPerHBaseAdjusted; // .SI(Of LiterPerHour)() + } + } + + // Constructors + public SSMTOOL(string filePath, HVACConstants hvacConstants, bool isDisabled = false, bool useTestValues = false) + { + this.filePath = filePath; + this.SSMDisabled = isDisabled; + this.HVACConstants = hvacConstants; + + GenInputs = new SSMGenInputs(Path.GetDirectoryName(filePath)); + TechList = new SSMTechList(filePath, GenInputs, useTestValues); + + Calculate = new SSMCalculate(this); + } + + // Clone values from another object of same type + //public void Clone(ISSMTOOL from) + //{ + // var feedback = string.Empty; + + // GenInputs.InjectFrom(((SSMTOOL)from).GenInputs); + + // TechList.Clear(); + + // foreach (var line in from.TechList.TechLines) { + // var newLine = new TechListBenefitLine(this.GenInputs); + // // newLine.InjectFrom() + // newLine.InjectFrom(line); + // TechList.Add(newLine, ref feedback); + // } + //} + + // Persistance Functions + public bool Save(string filePath) + { + var returnValue = true; + //var settings = new JsonSerializerSettings(); + //settings.TypeNameHandling = TypeNameHandling.Objects; + + // JSON METHOD + try { + //var output = JsonConvert.SerializeObject(this, Formatting.Indented, settings); + + //File.WriteAllText(filePath, output); + + var body = new Dictionary<string, object>(); + body["SSMDisabled"] = SSMDisabled; + body["GenInputs"] = SaveGenInputs(); + body["TechList"] = SaveTechlist(); + + + JSONInputDataFactory.WriteFile(JToken.FromObject(new Dictionary<string, object>() { {"Header", "AHSM"}, { "Body",body } }), filePath); + + } catch (Exception ) { + + // Nothing to do except return false. + returnValue = false; + } + + return returnValue; + } + + private Dictionary<string, object> SaveGenInputs() + { + var retVal = new Dictionary<string, object>(); + + retVal["BC_GFactor"] = GenInputs.BC_GFactor; + retVal["BC_PassengerBoundaryTemperature"] = GenInputs.BC_PassengerBoundaryTemperature.AsDegCelsius; + retVal["BC_HeatingBoundaryTemperature"] = GenInputs.BC_HeatingBoundaryTemperature.AsDegCelsius; + retVal["BC_CoolingBoundaryTemperature"] = GenInputs.BC_CoolingBoundaryTemperature.AsDegCelsius; + retVal["BC_HighVentilation"] = GenInputs.BC_HighVentilation.ConvertToPerHour().Value; + retVal["BC_lowVentilation"] = GenInputs.BC_lowVentilation.ConvertToPerHour().Value; + retVal["BC_SpecificVentilationPower"] = GenInputs.BC_SpecificVentilationPower.ConvertToWattHourPerCubicMeter().Value; + retVal["BC_AuxHeaterEfficiency"] = GenInputs.BC_AuxHeaterEfficiency; + retVal["BC_GCVDieselOrHeatingOil"] = GenInputs.BC_GCVDieselOrHeatingOil.ConvertToKiloWattHourPerKilogramm().Value; + retVal["BC_MaxTemperatureDeltaForLowFloorBusses"] = GenInputs.BC_MaxTemperatureDeltaForLowFloorBusses.AsDegCelsius; + retVal["BC_MaxPossibleBenefitFromTechnologyList"] = GenInputs.BC_MaxPossibleBenefitFromTechnologyList; + retVal["EC_EnviromentalTemperature"] = GenInputs.EC_EnviromentalTemperature.AsDegCelsius; + retVal["EC_Solar"] = GenInputs.EC_Solar.Value(); + retVal["EC_EnviromentalConditions_BatchFile"] = GenInputs.EC_EnviromentalConditions_BatchFile; + retVal["EC_EnviromentalConditions_BatchEnabled"] = GenInputs.EC_EnviromentalConditions_BatchEnabled; + retVal["AC_CompressorType"] = GenInputs.AC_CompressorType; + retVal["AC_CompressorCapacitykW"] = GenInputs.AC_CompressorCapacitykW.ConvertToKiloWatt().Value; + retVal["VEN_VentilationOnDuringHeating"] = GenInputs.VEN_VentilationOnDuringHeating; + retVal["VEN_VentilationWhenBothHeatingAndACInactive"] = GenInputs.VEN_VentilationWhenBothHeatingAndACInactive; + retVal["VEN_VentilationDuringAC"] = GenInputs.VEN_VentilationDuringAC; + retVal["VEN_VentilationFlowSettingWhenHeatingAndACInactive"] = GenInputs.VEN_VentilationFlowSettingWhenHeatingAndACInactive; + retVal["VEN_VentilationDuringHeating"] = GenInputs.VEN_VentilationDuringHeating; + retVal["VEN_VentilationDuringCooling"] = GenInputs.VEN_VentilationDuringCooling; + retVal["AH_EngineWasteHeatkW"] = GenInputs.AH_EngineWasteHeatkW.ConvertToKiloWatt().Value; + retVal["AH_FuelFiredHeaterkW"] = GenInputs.AH_FuelFiredHeaterkW.ConvertToKiloWatt().Value; + retVal["AH_FuelEnergyToHeatToCoolant"] = GenInputs.AH_FuelEnergyToHeatToCoolant; + retVal["AH_CoolantHeatTransferredToAirCabinHeater"] = GenInputs.AH_CoolantHeatTransferredToAirCabinHeater; + + return retVal; + } + + private List<object> SaveTechlist() + { + var retVal = new List<object>(); + + foreach (var line in TechList.TechLines) { + var tmp = new Dictionary<string, object>(); + tmp["Units"] = line.Units; + tmp["Category"] = line.Category; + tmp["BenefitName"] = line.BenefitName; + tmp["LowFloorH"] = line.LowFloorH; + tmp["LowFloorV"] = line.LowFloorV; + tmp["LowFloorC"] = line.LowFloorC; + tmp["SemiLowFloorH"] = line.SemiLowFloorH; + tmp["SemiLowFloorV"] = line.SemiLowFloorV; + tmp["SemiLowFloorC"] = line.SemiLowFloorC; + tmp["RaisedFloorH"] = line.RaisedFloorH; + tmp["RaisedFloorV"] = line.RaisedFloorV; + tmp["RaisedFloorC"] = line.RaisedFloorC; + tmp["OnVehicle"] = line.OnVehicle; + tmp["ActiveVH"] = line.ActiveVH; + tmp["ActiveVV"] = line.ActiveVV; + tmp["ActiveVC"] = line.ActiveVC; + tmp["LineType"] = line.LineType; + retVal.Add(tmp); + } + + return retVal; + } + + public bool Load(string filePath) + { + var returnValue = true; + //var settings = new JsonSerializerSettings(); + //SSMTOOL tmpAux; // = New SSMTOOL(filePath, HVACConstants) + + //settings.TypeNameHandling = TypeNameHandling.Objects; + + // JSON METHOD + try { + var json = JSONInputDataFactory.ReadFile(filePath); + var body = (JObject)json["Body"]; + + SSMDisabled = body.GetEx<bool>("SSMDisabled"); + LoadGenInputs((JObject)body["GenInputs"]); + LoadTechList((JArray)body["TechList"]); + + + //var output = File.ReadAllText(filePath); + + + //tmpAux = JsonConvert.DeserializeObject<SSMTOOL>(output, settings); + + //tmpAux.TechList.SetSSMGeneralInputs(tmpAux.GenInputs); + + //foreach (TechListBenefitLine tll in tmpAux.TechList.TechLines) + + // tll.inputSheet = tmpAux.GenInputs; + + + //// This is where we Assume values of loaded( Deserialized ) object. + //Clone(tmpAux); + } catch (Exception ) { + + // Nothing to do except return false. + + returnValue = false; + } + + return returnValue; + } + + private void LoadGenInputs(JObject genInput) + { + GenInputs.BC_GFactor = genInput.GetEx<double>("BC_GFactor"); + GenInputs.BC_PassengerBoundaryTemperature = genInput.GetEx<double>("BC_PassengerBoundaryTemperature").DegCelsiusToKelvin(); + GenInputs.BC_HeatingBoundaryTemperature = genInput.GetEx<double>("BC_HeatingBoundaryTemperature").DegCelsiusToKelvin(); + GenInputs.BC_CoolingBoundaryTemperature = genInput.GetEx<double>("BC_CoolingBoundaryTemperature").DegCelsiusToKelvin(); + GenInputs.BC_HighVentilation = genInput.GetEx<double>("BC_HighVentilation").SI(Unit.SI.Per.Hour).Cast<PerSecond>(); + GenInputs.BC_lowVentilation = genInput.GetEx<double>("BC_lowVentilation").SI(Unit.SI.Per.Hour).Cast<PerSecond>(); + GenInputs.BC_SpecificVentilationPower = genInput.GetEx<double>("BC_SpecificVentilationPower").SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast<JoulePerCubicMeter>(); + GenInputs.BC_AuxHeaterEfficiency = genInput.GetEx<double>("BC_AuxHeaterEfficiency"); + GenInputs.BC_GCVDieselOrHeatingOil = genInput.GetEx<double>("BC_GCVDieselOrHeatingOil").SI(Unit.SI.Kilo.Watt.Hour.Per.Kilo.Gramm).Cast<JoulePerKilogramm>(); + GenInputs.BC_MaxTemperatureDeltaForLowFloorBusses = genInput.GetEx<double>("BC_MaxTemperatureDeltaForLowFloorBusses").SI<Kelvin>(); + GenInputs.BC_MaxPossibleBenefitFromTechnologyList = genInput.GetEx<double>("BC_MaxPossibleBenefitFromTechnologyList"); + GenInputs.EC_EnviromentalTemperature = genInput.GetEx<double>("EC_EnviromentalTemperature").DegCelsiusToKelvin(); + GenInputs.EC_Solar = genInput.GetEx<double>("EC_Solar").SI<WattPerSquareMeter>(); + GenInputs.EC_EnviromentalConditions_BatchFile = genInput.GetEx<string>("EC_EnviromentalConditions_BatchFile"); + GenInputs.EC_EnviromentalConditions_BatchEnabled = genInput.GetEx<bool>("EC_EnviromentalConditions_BatchEnabled"); + GenInputs.AC_CompressorType = genInput.GetEx<string>("AC_CompressorType"); + GenInputs.AC_CompressorCapacitykW = genInput.GetEx<double>("AC_CompressorCapacitykW").SI(Unit.SI.Kilo.Watt).Cast<Watt>(); + GenInputs.VEN_VentilationOnDuringHeating = genInput.GetEx<bool>("VEN_VentilationOnDuringHeating"); + GenInputs.VEN_VentilationWhenBothHeatingAndACInactive = genInput.GetEx<bool>("VEN_VentilationWhenBothHeatingAndACInactive"); + GenInputs.VEN_VentilationDuringAC = genInput.GetEx<bool>("VEN_VentilationDuringAC"); + GenInputs.VEN_VentilationFlowSettingWhenHeatingAndACInactive = genInput.GetEx<string>("VEN_VentilationFlowSettingWhenHeatingAndACInactive"); + GenInputs.VEN_VentilationDuringHeating = genInput.GetEx<string>("VEN_VentilationDuringHeating"); + GenInputs.VEN_VentilationDuringCooling = genInput.GetEx<string>("VEN_VentilationDuringCooling"); + GenInputs.AH_EngineWasteHeatkW = genInput.GetEx<double>("AH_EngineWasteHeatkW").SI(Unit.SI.Kilo.Watt).Cast<Watt>(); + GenInputs.AH_FuelFiredHeaterkW = genInput.GetEx<double>("AH_FuelFiredHeaterkW").SI(Unit.SI.Kilo.Watt).Cast<Watt>(); + GenInputs.AH_FuelEnergyToHeatToCoolant = genInput.GetEx<double>("AH_FuelEnergyToHeatToCoolant"); + GenInputs.AH_CoolantHeatTransferredToAirCabinHeater = genInput.GetEx<double>("AH_CoolantHeatTransferredToAirCabinHeater"); + } + + private void LoadTechList(JArray tech) + { + TechList.TechLines.Clear(); + foreach (var line in tech) { + //var line = entry.Value ; + var tmp = new TechListBenefitLine(GenInputs, line.GetEx<string>("Units"), line.GetEx<string>("Category"), line.GetEx<string>("BenefitName"), + line.GetEx<double>("LowFloorH"), line.GetEx<double>("LowFloorV"), line.GetEx<double>("LowFloorC"), + line.GetEx<double>("SemiLowFloorH"), line.GetEx<double>("SemiLowFloorV"), line.GetEx<double>("SemiLowFloorC"), + line.GetEx<double>("RaisedFloorH"), line.GetEx<double>("RaisedFloorV"), line.GetEx<double>("RaisedFloorC"), + line.GetEx<bool>("OnVehicle"), line.GetEx<string>("LineType").ParseEnum<TechLineType>(), line.GetEx<bool>("ActiveVH"), line.GetEx<bool>("ActiveVV"), line.GetEx<bool>("ActiveVC")); + TechList.TechLines.Add(tmp); + } + } + + // Comparison + public bool IsEqualTo(ISSMTOOL source) + { + + // In this methods we only want to compare the non Static , non readonly public properties of + // The class's General, User Inputs and Tech Benefit members. + + return compareGenUserInputs(source) && compareTechListBenefitLines(source); + } + + private bool compareGenUserInputs(ISSMTOOL source) + { + var src = (SSMTOOL)source; + + var returnValue = true; + + var properties = this.GenInputs.GetType().GetProperties(); + + foreach (var prop in properties) { + + // If Not prop.GetAccessors.IsReadOnly Then + if (prop.CanWrite) { + if (!prop.GetValue(this.GenInputs, null/* TODO Change to default(_) if this is not a reference type */).Equals(prop.GetValue(src.GenInputs, null/* TODO Change to default(_) if this is not a reference type */))) + returnValue = false; + } + } + + return returnValue; + } + + private bool compareTechListBenefitLines(ISSMTOOL source) + { + var src = (SSMTOOL)source; + + // Equal numbers of lines check + if (this.TechList.TechLines.Count != src.TechList.TechLines.Count) + return false; + + foreach (var tl in this.TechList.TechLines.OrderBy(o => o.Category).ThenBy(n => n.BenefitName)) { + + // First Check line exists in other + if (src.TechList.TechLines.Where(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category).Count() != 1) + return false; + else { + + // check are equal + + var testLine = src.TechList.TechLines.First(w => w.BenefitName == tl.BenefitName && w.Category == tl.Category); + + if (!testLine.IsEqualTo(tl)) + return false; + } + } + + // All Looks OK + return true; + } + + // Overrides + public override string ToString() + { + var sb = new StringBuilder(); + + sb.AppendLine(Calculate.ToString()); + + + return sb.ToString(); + } + + // Dynamicly Get Fuel having re-adjusted Engine Heat Waste, this was originally supposed to be Solid State. Late adjustment request 24/3/2015 + public KilogramPerSecond FuelPerHBaseAsjusted(Watt AverageUseableEngineWasteHeatKW) + { + if (SSMDisabled) + return 0.SI<KilogramPerSecond>(); + + // Set Engine Waste Heat + GenInputs.AH_EngineWasteHeatkW = AverageUseableEngineWasteHeatKW; + var fba = FuelPerHBaseAdjusted; + + // Dim FuelFiredWarning As Boolean = fba * GenInputs.BC_AuxHeaterEfficiency * HVACConstants.FuelDensity * GenInputs.BC_GCVDieselOrHeatingOil * 1000 > (AverageUseableEngineWasteHeatKW + GenInputs.AH_FuelFiredHeaterkW) + + // If Not FuelFiredHeaterInsufficientWarned AndAlso FuelFiredWarning Then + + // FuelFiredHeaterInsufficientWarned = True + + // OnMessage(Me, " HVAC SSM : Fuel fired heater insufficient for heating requirements, run continues assuming it was sufficient.", AdvancedAuxiliaryMessageType.Warning) + + // End If + + return fba; + } + + // Events + public event MessageEventHandler Message; + + // Raise Message Event. + private void OnMessage(object sender, string message, AdvancedAuxiliaryMessageType messageType) + { + if (message != null) { + object ssmtool = this; + Message?.Invoke(ref ssmtool, message: message, messageType: messageType); + } + } + } +} diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs similarity index 97% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs index e4fe9e701d..ebe7ca70be 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs @@ -4,9 +4,9 @@ using System.Globalization; using System.IO; using System.Linq; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { // Used By SSMTOOL Class. public class SSMTechList : ISSMTechList @@ -15,7 +15,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Private Fields private string filePath; private ISSMGenInputs _ssmInputs; - private bool _dirty; + //private bool _dirty; public List<ITechListBenefitLine> TechLines { get; set; } @@ -96,7 +96,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC var tbline = new TechListBenefitLine(_ssmInputs, elements[2], elements[0], elements[1], double.Parse(elements[3], CultureInfo.InvariantCulture), double.Parse(elements[4], CultureInfo.InvariantCulture), double.Parse(elements[5], CultureInfo.InvariantCulture), double.Parse(elements[6], CultureInfo.InvariantCulture), double.Parse(elements[7], CultureInfo.InvariantCulture), double.Parse(elements[8], CultureInfo.InvariantCulture), double.Parse(elements[9], CultureInfo.InvariantCulture), double.Parse(elements[10], CultureInfo.InvariantCulture), double.Parse(elements[11], CultureInfo.InvariantCulture), bool.Parse(elements[12]), elements[13].ParseEnum<TechLineType>(), bool.Parse(elements[14]), bool.Parse(elements[15]), bool.Parse(elements[16])); TechLines.Add(tbline); - } catch (Exception ex) { + } catch (Exception ) { // Indicate problems returnStatus = false; @@ -215,7 +215,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Success feedback = "OK"; - _dirty = true; + //_dirty = true; return true; } else { @@ -223,7 +223,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC feedback = "The system was unable to add the new tech benefit list item."; return false; } - } catch (Exception ex) { + } catch (Exception ) { feedback = "The system threw an exception and was unable to add the new tech benefit list item."; return false; } @@ -232,7 +232,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC public void Clear() { if (TechLines.Count > 0) - _dirty = true; + //_dirty = true; TechLines.Clear(); } @@ -247,14 +247,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC if (TechLines.Count == currentCount - 1) { // This succeeded - _dirty = true; + //_dirty = true; return true; } else { // No Exception, but this failed for some reason. feedback = "The system was unable to remove the item from the list."; return false; } - } catch (Exception ex) { + } catch (Exception) { feedback = "An exception occured, the removal failed."; return false; } @@ -284,14 +284,14 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC if (newItem == fi) { // This succeeded - _dirty = true; + //_dirty = true; return true; } else { // No Exception, but this failed for some reason. feedback = "The system was unable to remove the item from the list."; return false; } - } catch (Exception ex) { + } catch (Exception ) { feedback = "An exception occured, the update failed."; return false; } diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs similarity index 64% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs index 96ec989bc2..04195427c8 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs @@ -1,6 +1,7 @@ -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.Declaration; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { public enum PowerType { @@ -14,23 +15,23 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC public class TechListBenefitLine : ITechListBenefitLine { - private float _h, _vh, _vv, _vc, _c; + //private float _h, _vh, _vv, _vc, _c; public ISSMGenInputs inputSheet; public string Units { get; set; } public string Category { get; set; } public string BenefitName { get; set; } - public double LowFloorH { get; set; } = new double(); - public double LowFloorV { get; set; } = new double(); - public double LowFloorC { get; set; } = new double(); + public double LowFloorH { get; set; } + public double LowFloorV { get; set; } + public double LowFloorC { get; set; } - public double SemiLowFloorH { get; set; } = new double(); - public double SemiLowFloorV { get; set; } = new double(); - public double SemiLowFloorC { get; set; } = new double(); + public double SemiLowFloorH { get; set; } + public double SemiLowFloorV { get; set; } + public double SemiLowFloorC { get; set; } - public double RaisedFloorH { get; set; } = new double(); - public double RaisedFloorV { get; set; } = new double(); - public double RaisedFloorC { get; set; } = new double(); + public double RaisedFloorH { get; set; } + public double RaisedFloorV { get; set; } + public double RaisedFloorC { get; set; } public bool OnVehicle { get; set; } public bool ActiveVH { get; set; } @@ -48,17 +49,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return returnValue; switch (inputSheet.BP_BusFloorType) { - case "low floor": { + case FloorType.LowFloor: { returnValue = LowFloorH; break; } - case "semi low floor": { + case FloorType.SemiLowFloor: { returnValue = SemiLowFloorH; break; } - case "raised floor": { + case FloorType.HighFloor: { returnValue = RaisedFloorH; break; } @@ -78,17 +79,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Get floor value switch (inputSheet.BP_BusFloorType) { - case "low floor": { + case FloorType.LowFloor: { floorValue = LowFloorV; break; } - case "semi low floor": { + case FloorType.SemiLowFloor: { floorValue = SemiLowFloorV; break; } - case "raised floor": { + case FloorType.HighFloor: { floorValue = RaisedFloorV; break; } @@ -112,17 +113,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Get floor value switch (inputSheet.BP_BusFloorType) { - case "low floor": { + case FloorType.LowFloor: { floorValue = LowFloorV; break; } - case "semi low floor": { + case FloorType.SemiLowFloor: { floorValue = SemiLowFloorV; break; } - case "raised floor": { + case FloorType.HighFloor: { floorValue = RaisedFloorV; break; } @@ -146,17 +147,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC // Get floor value switch (inputSheet.BP_BusFloorType) { - case "low floor": { + case FloorType.LowFloor: { floorValue = LowFloorV; break; } - case "semi low floor": { + case FloorType.SemiLowFloor: { floorValue = SemiLowFloorV; break; } - case "raised floor": { + case FloorType.HighFloor: { floorValue = RaisedFloorV; break; } @@ -179,17 +180,17 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC return returnValue; switch (inputSheet.BP_BusFloorType) { - case "low floor": { + case FloorType.LowFloor: { returnValue = LowFloorC; break; } - case "semi low floor": { + case FloorType.SemiLowFloor: { returnValue = SemiLowFloorC; break; } - case "raised floor": { + case FloorType.HighFloor: { returnValue = RaisedFloorC; break; } @@ -244,9 +245,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC op1.RaisedFloorH == op2.RaisedFloorH && op1.RaisedFloorV == op2.RaisedFloorV && op1.OnVehicle == op2.OnVehicle && op1.Units == op2.Units)) { return true; - } else { - return false; } + + return false; } public static bool operator !=(TechListBenefitLine op1, TechListBenefitLine op2) @@ -257,12 +258,69 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.HVAC op1.SemiLowFloorC != op2.SemiLowFloorC || op1.SemiLowFloorH != op2.SemiLowFloorH || op1.SemiLowFloorV != op2.SemiLowFloorV || op1.RaisedFloorC != op2.RaisedFloorC || op1.RaisedFloorH != op2.RaisedFloorH || op1.RaisedFloorV != op2.RaisedFloorV || op1.OnVehicle != op2.OnVehicle || - op1.Units != op2.Units)) + op1.Units != op2.Units)) { + return true; + } + + return false; + } + + #region Equality members + + protected bool Equals(TechListBenefitLine other) + { + return Equals(inputSheet, other.inputSheet) && string.Equals(Units, other.Units) && + string.Equals(Category, other.Category) && string.Equals(BenefitName, other.BenefitName) && + LowFloorH.Equals(other.LowFloorH) && LowFloorV.Equals(other.LowFloorV) && LowFloorC.Equals(other.LowFloorC) && + SemiLowFloorH.Equals(other.SemiLowFloorH) && SemiLowFloorV.Equals(other.SemiLowFloorV) && + SemiLowFloorC.Equals(other.SemiLowFloorC) && RaisedFloorH.Equals(other.RaisedFloorH) && + RaisedFloorV.Equals(other.RaisedFloorV) && RaisedFloorC.Equals(other.RaisedFloorC) && + OnVehicle == other.OnVehicle && ActiveVH == other.ActiveVH && ActiveVV == other.ActiveVV && + ActiveVC == other.ActiveVC && LineType == other.LineType; + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) { + return false; + } + if (ReferenceEquals(this, obj)) { return true; - else + } + if (obj.GetType() != GetType()) { return false; + } + + return Equals((TechListBenefitLine)obj); } + public override int GetHashCode() + { + unchecked { + var hashCode = (inputSheet != null ? inputSheet.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ (Units != null ? Units.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ (Category != null ? Category.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ (BenefitName != null ? BenefitName.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ LowFloorH.GetHashCode(); + hashCode = (hashCode * 397) ^ LowFloorV.GetHashCode(); + hashCode = (hashCode * 397) ^ LowFloorC.GetHashCode(); + hashCode = (hashCode * 397) ^ SemiLowFloorH.GetHashCode(); + hashCode = (hashCode * 397) ^ SemiLowFloorV.GetHashCode(); + hashCode = (hashCode * 397) ^ SemiLowFloorC.GetHashCode(); + hashCode = (hashCode * 397) ^ RaisedFloorH.GetHashCode(); + hashCode = (hashCode * 397) ^ RaisedFloorV.GetHashCode(); + hashCode = (hashCode * 397) ^ RaisedFloorC.GetHashCode(); + hashCode = (hashCode * 397) ^ OnVehicle.GetHashCode(); + hashCode = (hashCode * 397) ^ ActiveVH.GetHashCode(); + hashCode = (hashCode * 397) ^ ActiveVV.GetHashCode(); + hashCode = (hashCode * 397) ^ ActiveVC.GetHashCode(); + hashCode = (hashCode * 397) ^ (int)LineType; + return hashCode; + } + } + + #endregion + public void CloneFrom(ITechListBenefitLine source) { this.Units = source.Units; diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs similarity index 96% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs index 34971ea499..6da7cfb33a 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs @@ -1,9 +1,8 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M06Impl : AbstractModule, IM6 { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs similarity index 92% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs index c0ef9161e5..5ae4a86387 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs @@ -1,9 +1,8 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M07Impl : AbstractModule, IM7 { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs index 91450b4caa..23cfd36fb7 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs @@ -1,9 +1,8 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M08Impl : AbstractModule, IM8 { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs index 3e169e84c0..5367e676c4 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs @@ -1,11 +1,11 @@ using System; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M09Impl : AbstractModule, IM9 { @@ -49,7 +49,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl #region Implementation of IAuxiliaryEvent - public event AuxiliaryEventEventHandler AuxiliaryEvent; + //public event AuxiliaryEventEventHandler AuxiliaryEvent; #endregion diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs index 34568bcd74..870b6ddfe1 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs @@ -1,10 +1,9 @@ using System; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M10Impl : AbstractModule, IM10 { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs index f33dbe6889..41059ef31a 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs @@ -1,9 +1,9 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M11Impl : AbstractModule, IM11 { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs index 560cad0a8d..a03a3f5f30 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs @@ -1,9 +1,8 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M12Impl : AbstractModule, IM12 { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs similarity index 88% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs index 36275ddaef..4f636fcd02 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs @@ -1,9 +1,8 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs similarity index 78% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs index 0ed0e7d710..c786e2b714 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs @@ -1,10 +1,9 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; - -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M14Impl : AbstractModule, IM14 { @@ -32,7 +31,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl var s3 = s2 * SSM.GenInputs.AH_CoolantHeatTransferredToAirCabinHeater; var s4 = s3 / Signals.CurrentCycleTimeInSeconds.SI<Second>(); var s5 = Signals.CurrentCycleTimeInSeconds.SI<Second>(); // ' / 3600 - var s6 = (s5 * SSM.FuelPerHBaseAsjusted(s4.Value() / 1000).SI(Unit.SI.Liter.Per.Hour)).Cast<Liter>() * Constants.FuelDensity; + var s6 = s5 * SSM.FuelPerHBaseAsjusted(s4); // * Constants.FuelDensity; var s7 = M13.WHTCTotalCycleFuelConsumptionGrams + s6; var s8 = (s7 / (Constants.FuelDensity)).Cast<Liter>(); _totalCycleFcGrams = s7; diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs index 2502c4c62a..b057cbd962 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs @@ -15,17 +15,17 @@ using System.Globalization; using System.IO; using System.Linq; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics { /// <summary> /// ''' Compressor Flow Rate and Power Map /// ''' </summary> /// ''' <remarks></remarks> - public class CompressorMap : ICompressorMap, IAuxiliaryEvent + public class CompressorMap : ICompressorMap //, IAuxiliaryEvent { private readonly string filePath; private double _averagePowerDemandPerCompressorUnitFlowRateLitresperSec; @@ -263,7 +263,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics #region Implementation of IAuxiliaryEvent - public event AuxiliaryEventEventHandler AuxiliaryEvent; + //public event AuxiliaryEventEventHandler AuxiliaryEvent; #endregion } diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs index 37bac7d7f1..2edcbf7c30 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs @@ -1,9 +1,10 @@ using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics { public class M03Impl : AbstractModule, IM3_AveragePneumaticLoadDemand { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs similarity index 88% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs index c7289b03f3..e0137e9c24 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs @@ -1,10 +1,10 @@ using System; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics { public class M04Impl : AbstractModule, IM4_AirCompressor { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs similarity index 94% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs index a847261b78..4e24003563 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs @@ -13,9 +13,9 @@ using System; using System.Collections.Generic; using System.Globalization; using System.IO; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics { public class PneumaticActuationsMap : IPneumaticActuationsMAP { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs index 753411043f..67b0de133c 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics { public class PneumaticUserInputsConfig : IPneumaticUserInputsConfig { diff --git a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs similarity index 96% rename from VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs index c377393eb3..cbd79f5a66 100644 --- a/VECTOAux/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem; -namespace TUGraz.VectoCore.BusAuxiliaries.DownstreamModules.Impl.Pneumatics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics { public class PneumaticsAuxilliariesConfig : IPneumaticsAuxilliariesConfig { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs similarity index 87% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs index 9ae644a922..08b3fc28dd 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AltUserInput.cs @@ -1,6 +1,6 @@ using System; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { // Used by the Combined Alternator Form/Classes to accept user input for the combined alternators efficiency // At different Current Demands diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs similarity index 71% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs index 80d81c06fd..615e1d3772 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/AlternatorMapValues.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { // Originally was going to hold more than one value type. public struct AlternatorMapValues diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs similarity index 88% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs index ac6d1e76ac..bacd8618ec 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ElectricConstants.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { public class ElectricConstants { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs similarity index 90% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs index 8ffccdbe39..c9f51a57cd 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { public class Table4Row { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs similarity index 87% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs index a7a7fa87c6..fb5878b0c8 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternatorMap.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { public interface IAlternatorMap : IAuxiliaryEvent { @@ -27,7 +27,8 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics /// Returns the alternator efficiency at given rpm /// </summary> /// <param name="rpm">alternator rotation speed</param> - /// <returns>Single</returns> + /// <param name="amps"></param> + /// <returns>Single</returns> /// <remarks></remarks> AlternatorMapValues GetEfficiency(double rpm, Ampere amps); } diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs similarity index 71% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs index 48329d6d08..1e7d07d420 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternator.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { public interface ICombinedAlternator { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs similarity index 75% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs index f375cbbd5e..4c661608b5 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorMapRow.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { // Reflects stored data in pesisted CombinedAlternator Map .AALT public interface ICombinedAlternatorMapRow diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs similarity index 72% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs index 725f5316bb..45b605ffcb 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs @@ -1,6 +1,6 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.Electrics +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics { // Used by CombinedAlternator public interface ICombinedAlternatorSignals diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs new file mode 100644 index 0000000000..3c97ddaeb5 --- /dev/null +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs @@ -0,0 +1,8 @@ +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +{ + public enum TechLineType + { + Normal, + HVCActiveSelection + } +} diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs similarity index 51% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs index 408b4434ef..57359471b3 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalCondition.cs @@ -1,11 +1,12 @@ using System.Collections.Generic; +using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface IEnvironmentalCondition { - double GetTemperature(); - double GetSolar(); + Kelvin GetTemperature(); + WattPerSquareMeter GetSolar(); double GetWeighting(); double GetNormalisedWeighting(List<IEnvironmentalCondition> map); } diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs similarity index 68% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs index 6b45aa1633..ef43c2dc9f 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IEnvironmentalConditionsMap.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface IEnvironmentalConditionsMap { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs similarity index 77% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs index e8ba4fa7ae..928ff8167f 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACConstants.cs @@ -1,6 +1,6 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface IHVACConstants { @@ -20,6 +20,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC /// <remarks></remarks> KilogramPerCubicMeter FuelDensity { get; } - double FuelDensityAsGramPerLiter { get; } + //double FuelDensityAsGramPerLiter { get; } } } diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs index e90485e89c..44b335a6c7 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/IHVACSteadyStateModel.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface IHVACSteadyStateModel { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs similarity index 54% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs index 2517041bef..acc05f4a01 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMCalculate.cs @@ -1,4 +1,6 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +using TUGraz.VectoCommon.Utils; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface ISSMCalculate { @@ -6,33 +8,33 @@ //ISSMRun Run2 { get; set; } - double ElectricalWBase { get; } - double MechanicalWBase { get; } - double FuelPerHBase { get; } + Watt ElectricalWBase { get; } + Watt MechanicalWBase { get; } + KilogramPerSecond FuelPerHBase { get; } - double ElectricalWAdjusted { get; } - double MechanicalWBaseAdjusted { get; } - double FuelPerHBaseAdjusted { get; } + Watt ElectricalWAdjusted { get; } + Watt MechanicalWBaseAdjusted { get; } + KilogramPerSecond FuelPerHBaseAdjusted { get; } // BaseValues // - Heating - double BaseHeatingW_Mechanical { get; } - double BaseHeatingW_ElectricalCoolingHeating { get; } - double BaseHeatingW_ElectricalVentilation { get; } - double BaseHeatingW_FuelFiredHeating { get; } + Watt BaseHeatingW_Mechanical { get; } + Watt BaseHeatingW_ElectricalCoolingHeating { get; } + Watt BaseHeatingW_ElectricalVentilation { get; } + Watt BaseHeatingW_FuelFiredHeating { get; } // Cooling - double BaseCoolingW_Mechanical { get; } - double BaseCoolingW_ElectricalCoolingHeating { get; } - double BaseCoolingW_ElectricalVentilation { get; } - double BaseCoolingW_FuelFiredHeating { get; } + Watt BaseCoolingW_Mechanical { get; } + Watt BaseCoolingW_ElectricalCoolingHeating { get; } + Watt BaseCoolingW_ElectricalVentilation { get; } + Watt BaseCoolingW_FuelFiredHeating { get; } // Cooling - double BaseVentilationW_Mechanical { get; } - double BaseVentilationW_ElectricalCoolingHeating { get; } - double BaseVentilationW_ElectricalVentilation { get; } - double BaseVentilationW_FuelFiredHeating { get; } + Watt BaseVentilationW_Mechanical { get; } + Watt BaseVentilationW_ElectricalCoolingHeating { get; } + Watt BaseVentilationW_ElectricalVentilation { get; } + Watt BaseVentilationW_FuelFiredHeating { get; } // TechListBenefits diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs new file mode 100644 index 0000000000..6bedf4ce2f --- /dev/null +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMGenInputs.cs @@ -0,0 +1,77 @@ +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Declaration; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +{ + public interface ISSMGenInputs + { + + // Bus Parameterisation + string BP_BusModel { get; } + double BP_NumberOfPassengers { get; } + FloorType BP_BusFloorType { get; } + bool BP_DoubleDecker { get; } + Meter BP_BusLength { get; } + Meter BP_BusWidth { get; } + Meter BP_BusHeight { get; } + + SquareMeter BP_BusFloorSurfaceArea { get; } + SquareMeter BP_BusWindowSurface { get; } + SquareMeter BP_BusSurfaceAreaM2 { get; } + CubicMeter BP_BusVolume { get; } + + // Boundary Conditions: + double BC_GFactor { get; set; } + double BC_SolarClouding { get; } + Watt BC_HeatPerPassengerIntoCabinW { get; } + Kelvin BC_PassengerBoundaryTemperature { get; set; } + PerSquareMeter BC_PassengerDensityLowFloor { get; } + PerSquareMeter BC_PassengerDensitySemiLowFloor { get; } + PerSquareMeter BC_PassengerDensityRaisedFloor { get; } + double BC_CalculatedPassengerNumber { get; } + WattPerKelvinSquareMeter BC_UValues { get; } + Kelvin BC_HeatingBoundaryTemperature { get; set; } + Kelvin BC_CoolingBoundaryTemperature { get; set; } + Kelvin BC_TemperatureCoolingTurnsOff { get; } + PerSecond BC_HighVentilation { get; set; } + PerSecond BC_lowVentilation { get; set; } + CubicMeterPerSecond BC_High { get; } + CubicMeterPerSecond BC_Low { get; } + Watt BC_HighVentPowerW { get; } + Watt BC_LowVentPowerW { get; } + JoulePerCubicMeter BC_SpecificVentilationPower { get; set; } + double BC_AuxHeaterEfficiency { get; set; } + JoulePerKilogramm BC_GCVDieselOrHeatingOil { get; set; } + SquareMeterPerMeter BC_WindowAreaPerUnitBusLength { get; } + SquareMeter BC_FrontRearWindowArea { get; } + Kelvin BC_MaxTemperatureDeltaForLowFloorBusses { get; set; } + double BC_MaxPossibleBenefitFromTechnologyList { get; set; } + + // EnviromentalConditions + Kelvin EC_EnviromentalTemperature { get; set; } + WattPerSquareMeter EC_Solar { get; set; } + IEnvironmentalConditionsMap EC_EnvironmentalConditionsMap { get; } + string EC_EnviromentalConditions_BatchFile { get; set; } + bool EC_EnviromentalConditions_BatchEnabled { get; set; } + + // AC-system + string AC_CompressorType { get; set; } + string AC_CompressorTypeDerived { get; } + Watt AC_CompressorCapacitykW { get; set; } + double AC_COP { get; } + + // Ventilation + bool VEN_VentilationOnDuringHeating { get; set; } + bool VEN_VentilationWhenBothHeatingAndACInactive { get; set; } + bool VEN_VentilationDuringAC { get; set; } + string VEN_VentilationFlowSettingWhenHeatingAndACInactive { get; set; } + string VEN_VentilationDuringHeating { get; set; } + string VEN_VentilationDuringCooling { get; set; } + + // Aux. Heater + Watt AH_EngineWasteHeatkW { get; set; } + Watt AH_FuelFiredHeaterkW { get; set; } + double AH_FuelEnergyToHeatToCoolant { get; set; } + double AH_CoolantHeatTransferredToAirCabinHeater { get; set; } + } +} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs new file mode 100644 index 0000000000..03252aedf9 --- /dev/null +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMRun.cs @@ -0,0 +1,18 @@ +using TUGraz.VectoCommon.Utils; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +{ + public interface ISSMRun + { + double HVACOperation { get; } + Kelvin TCalc { get; } + Kelvin TemperatureDelta { get; } + Watt QWall { get; } + Watt WattsPerPass { get; } + Watt Solar { get; } + Watt TotalW { get; } + //double TotalKW { get; } + Watt FuelW { get; } + Watt TechListAmendedFuelW { get; } + } +} diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs similarity index 57% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs index c0e58df2b6..af7377ec4c 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTOOL.cs @@ -1,4 +1,6 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { +using TUGraz.VectoCommon.Utils; + +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface ISSMTOOL { ISSMGenInputs GenInputs { get; set; } @@ -7,15 +9,15 @@ bool SSMDisabled { get; set; } IHVACConstants HVACConstants { get; set; } - double ElectricalWBase { get; } // Watt - double MechanicalWBase { get; } // Watt - double FuelPerHBase { get; } // LiterPerHour + Watt ElectricalWBase { get; } // Watt + Watt MechanicalWBase { get; } // Watt + KilogramPerSecond FuelPerHBase { get; } // LiterPerHour - double ElectricalWAdjusted { get; } // Watt - double MechanicalWBaseAdjusted { get; } // Watt - double FuelPerHBaseAdjusted { get; } // LiterPerHour + Watt ElectricalWAdjusted { get; } // Watt + Watt MechanicalWBaseAdjusted { get; } // Watt + KilogramPerSecond FuelPerHBaseAdjusted { get; } // LiterPerHour - void Clone(ISSMTOOL from); + //void Clone(ISSMTOOL from); bool Load(string filePath); @@ -29,7 +31,7 @@ /// <param name="AverageUseableEngineWasteHeatKW"></param> /// <returns></returns> /// <remarks></remarks> - double FuelPerHBaseAsjusted(double AverageUseableEngineWasteHeatKW); + KilogramPerSecond FuelPerHBaseAsjusted(Watt AverageUseableEngineWasteHeatKW); event MessageEventHandler Message; diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs index 253e8cfc51..371233c117 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ISSMTechList.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface ISSMTechList { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs similarity index 90% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs index e776bea651..778bc5b63d 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/ITechListBenefitLine.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC { public interface ITechListBenefitLine { string Units { get; set; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs new file mode 100644 index 0000000000..4169795e01 --- /dev/null +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IAbstractModule.cs @@ -0,0 +1,6 @@ +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { + public interface IAbstractModule + { + void ResetCalculations(); + } +} diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs index 2a7fa8c63e..2ef577b218 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_5_SmartAlternatorSetEfficiency.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM0_5_SmartAlternatorSetEfficiency : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs index 8dd5cd1f4d..e4a96301b6 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM0_NonSmart_AlternatorsSetEfficiency.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM0_NonSmart_AlternatorsSetEfficiency : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs index 36c6a950d6..59ab857bc1 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM10.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM10 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs similarity index 97% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs index 787fffd74a..c871320d96 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM11.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM11 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs index 1252568221..6e6d790f78 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM13.cs @@ -12,7 +12,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM13 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs similarity index 67% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs index bd06c88fef..54e8e26083 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM14.cs @@ -1,6 +1,6 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM14 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs index d04ec8a01c..c462d97c82 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM1_AverageHVACLoadDemand.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM1_AverageHVACLoadDemand : IAbstractModule { @@ -42,6 +42,6 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules /// </summary> /// <returns>Litres Per Hour</returns> /// <remarks></remarks> - LiterPerSecond HVACFuelingLitresPerHour(); + KilogramPerSecond HVACFuelingLitresPerHour(); } } diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs similarity index 90% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs index 0a427d74bd..fa08bff7b7 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM2_AverageElectrialLoadDemand.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM2_AverageElectricalLoadDemand : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs index f45b6cf6ad..caddb6b158 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM3_AveragePneumaticLoadDemand.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM3_AveragePneumaticLoadDemand : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs similarity index 96% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs index 1248b8a518..19c0e93281 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM4_AirCompressor.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM4_AirCompressor : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs similarity index 94% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs index 50d8998b1b..5747028307 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM5_SmartAlternatorSetGeneration.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM5_SmartAlternatorSetGeneration : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs similarity index 97% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs index bfbdcd7dfb..08cc7c1cc3 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM6.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM6 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs index 95656f3895..11653f6775 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM7.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM7 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs similarity index 94% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs index ae97c00319..c56d04b3ed 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM8.cs @@ -12,7 +12,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { public interface IM8 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs index d840df6d9e..be52066a63 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/IM9.cs @@ -11,9 +11,9 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules { - public interface IM9 : IAuxiliaryEvent, IAbstractModule + public interface IM9 : IAbstractModule // ,IAuxiliaryEvent { /// <summary> diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs similarity index 93% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs index 6abe470365..4033b51918 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ActuationsKey.cs @@ -11,7 +11,7 @@ using System; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem { public class ActuationsKey { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs similarity index 91% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs index 4cee1360c2..b26ad46aea 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/ICompressorMap.cs @@ -11,9 +11,9 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem { - public interface ICompressorMap : IAuxiliaryEvent + public interface ICompressorMap //: IAuxiliaryEvent { /// <summary> diff --git a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs similarity index 87% rename from VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs index 37cd7dea73..0a7e050059 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/PneumaticSystem/IPneumaticActuationsMAP.cs @@ -10,7 +10,7 @@ // See the LICENSE.txt for the specific language governing permissions and limitations. -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.PneumaticSystem { public interface IPneumaticActuationsMAP { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/Enumerations.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Enumerations.cs similarity index 60% rename from VECTOAux/BusAuxiliaries/Interfaces/Enumerations.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Enumerations.cs index ea4fa8b4fc..9ddadd5960 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/Enumerations.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Enumerations.cs @@ -1,4 +1,4 @@ -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { public enum AdvancedAuxiliaryMessageType { Information = 1, diff --git a/VECTOAux/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs similarity index 92% rename from VECTOAux/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs index ce122663cf..e3ba54d8c3 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs @@ -10,8 +10,9 @@ // See the LICENSE.txt for the specific language governing permissions and limitations. using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { //public delegate void AuxiliaryEventEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType); @@ -89,13 +90,13 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces { /// <remarks></remarks> ISignals Signals { get; set; } - /// <summary> - /// Configure Auxuliaries ( Launches Config Form ) - /// </summary> - /// <param name="filePath"></param> - /// <param name="vectoFilePath"></param> - /// <returns></returns> - /// <remarks></remarks> + ///// <summary> + ///// Configure Auxuliaries ( Launches Config Form ) + ///// </summary> + ///// <param name="filePath"></param> + ///// <param name="vectoFilePath"></param> + ///// <returns></returns> + ///// <remarks></remarks> //bool Configure(string filePath, string vectoFilePath); /// <summary> diff --git a/VECTOAux/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs similarity index 92% rename from VECTOAux/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs index 7d47c4fab4..92956c16ad 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAuxiliaryEvent.cs @@ -9,7 +9,7 @@ // // See the LICENSE.txt for the specific language governing permissions and limitations. -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { public interface IAuxiliaryEvent { event AuxiliaryEventEventHandler AuxiliaryEvent; diff --git a/VECTOAux/BusAuxiliaries/Interfaces/IM12.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IM12.cs similarity index 90% rename from VECTOAux/BusAuxiliaries/Interfaces/IM12.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IM12.cs index 1e4390d565..f9017b2072 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/IM12.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IM12.cs @@ -10,9 +10,9 @@ // See the LICENSE.txt for the specific language governing permissions and limitations. using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules; +using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { public interface IM12 : IAbstractModule { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/ISignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/ISignals.cs similarity index 98% rename from VECTOAux/BusAuxiliaries/Interfaces/ISignals.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/ISignals.cs index 92a2a4a0bd..60a7a74b1c 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/ISignals.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/ISignals.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { public interface ISignals { /// <summary> diff --git a/VECTOAux/BusAuxiliaries/Interfaces/Signals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Signals.cs similarity index 96% rename from VECTOAux/BusAuxiliaries/Interfaces/Signals.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Signals.cs index f10eecce83..ecaad3a2b0 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/Signals.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/Signals.cs @@ -11,7 +11,7 @@ using TUGraz.VectoCommon.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { public class Signals : ISignals { diff --git a/VECTOAux/BusAuxiliaries/Interfaces/VectoInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/VectoInputs.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/Interfaces/VectoInputs.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/VectoInputs.cs index 4f6339a4fa..e64b56e220 100644 --- a/VECTOAux/BusAuxiliaries/Interfaces/VectoInputs.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/VectoInputs.cs @@ -11,8 +11,9 @@ using Newtonsoft.Json; using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.BusAuxiliaries.Interfaces; -namespace TUGraz.VectoCore.BusAuxiliaries.Interfaces { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { public class VectoInputs : IVectoInputs { diff --git a/VECTOAux/BusAuxiliaries/Legacy/cDelaunayMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs similarity index 99% rename from VECTOAux/BusAuxiliaries/Legacy/cDelaunayMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs index 7efd9ea13b..f53e202c2b 100644 --- a/VECTOAux/BusAuxiliaries/Legacy/cDelaunayMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs @@ -54,7 +54,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { try { DT = new dTriangulation(); lDT = DT.Triangulate(ptList); - } catch (Exception ex) { + } catch (Exception ) { return false; } @@ -85,7 +85,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { try { DT = new dTriangulation(); lDTXZ = DT.Triangulate(ptListXZ); - } catch (Exception ex) { + } catch (Exception ) { return false; } diff --git a/VECTOAux/BusAuxiliaries/Legacy/cFile_V3.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs similarity index 95% rename from VECTOAux/BusAuxiliaries/Legacy/cFile_V3.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs index 15e41ec7f2..ae1cd8155c 100644 --- a/VECTOAux/BusAuxiliaries/Legacy/cFile_V3.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs @@ -12,9 +12,9 @@ using System; using System.IO; using Microsoft.VisualBasic.FileIO; -using TUGraz.VectoCore.BusAuxiliaries.Util; +using TUGraz.VectoCore.Models.BusAuxiliaries.Util; -namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy { public class cFile_V3 { private TextFieldParser TxtFldParser; @@ -59,7 +59,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { try { TxtFldParser = new TextFieldParser(Path, System.Text.Encoding.Default); FileOpen = true; - } catch (Exception ex) { + } catch (Exception ) { return false; } TxtFldParser.TextFieldType = FieldType.Delimited; @@ -136,7 +136,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { } StrWrter = new StreamWriter(File.OpenWrite(Path), FileFormat); FileOpen = true; - } catch (Exception ex) { + } catch (Exception ) { return false; } StrWrter.AutoFlush = AutoFlush; diff --git a/VECTOAux/BusAuxiliaries/Legacy/Class1.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs similarity index 82% rename from VECTOAux/BusAuxiliaries/Legacy/Class1.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs index e51920eb4d..b5ca005ad4 100644 --- a/VECTOAux/BusAuxiliaries/Legacy/Class1.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs @@ -14,8 +14,9 @@ using System.Collections.Generic; using System.Globalization; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.BusAuxiliaries.Interfaces; +using TUGraz.VectoCore.Utils; -namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy { public class cMAP : IFuelConsumptionMap { private List<float> LnU; @@ -25,7 +26,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { private string sFilePath; private int iMapDim; - private cDelaunayMap FuelMap; + private DelaunayMap FuelMap; private void ResetMe() { @@ -33,7 +34,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { LTq = null; LnU = null; iMapDim = -1; - FuelMap = new cDelaunayMap(); + FuelMap = new DelaunayMap("SomeMap"); } public bool ReadFile(bool ShowMsg = true) @@ -41,10 +42,10 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { cFile_V3 file; string[] line; float nU; - string MsgSrc; + //string MsgSrc; - MsgSrc = "Main/ReadInp/MAP"; + //MsgSrc = "Main/ReadInp/MAP"; // Reset ResetMe(); @@ -64,9 +65,9 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { file.ReadLine(); // Initi Lists (before version check so ReadOldFormat works) - lFC = new System.Collections.Generic.List<float>(); - LTq = new System.Collections.Generic.List<float>(); - LnU = new System.Collections.Generic.List<float>(); + lFC = new List<float>(); + LTq = new List<float>(); + LnU = new List<float>(); try { while (!file.EndOfFile) { @@ -95,7 +96,7 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { lFC.Add(System.Convert.ToSingle(line[2])); } - } catch (Exception ex) { + } catch (Exception ) { goto lbEr; } @@ -120,28 +121,29 @@ namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { { int i; - string MsgSrc; + //string MsgSrc; - MsgSrc = "MAP/Norm"; + //MsgSrc = "MAP/Norm"; // FC Delauney for (i = 0; i <= iMapDim; i++) - FuelMap.AddPoints(LnU[i], LTq[i], lFC[i]); + FuelMap.AddPoint(LnU[i], LTq[i], lFC[i]); - return FuelMap.Triangulate(); + FuelMap.Triangulate(); + return true; } - public float fFCdelaunay_Intp(float nU, float Tq) + public double fFCdelaunay_Intp(float nU, float Tq) { - float val; - - val = System.Convert.ToSingle(FuelMap.Intpol(nU, Tq)); + + var val = FuelMap.Interpolate(nU, Tq); - if (FuelMap.ExtrapolError) + if (val == null) { return -10000; - else - return val; + } + + return val.Value; } diff --git a/VECTOAux/BusAuxiliaries/Util/FilePathUtils.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Util/FilePathUtils.cs similarity index 98% rename from VECTOAux/BusAuxiliaries/Util/FilePathUtils.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/Util/FilePathUtils.cs index 34385bbcfe..529d1a23ae 100644 --- a/VECTOAux/BusAuxiliaries/Util/FilePathUtils.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Util/FilePathUtils.cs @@ -2,7 +2,7 @@ using System.IO; using System.Linq; -namespace TUGraz.VectoCore.BusAuxiliaries.Util { +namespace TUGraz.VectoCore.Models.BusAuxiliaries.Util { public class FilePathUtils { diff --git a/VectoCore/VectoCore/Models/Declaration/FloorType.cs b/VectoCore/VectoCore/Models/Declaration/FloorType.cs new file mode 100644 index 0000000000..53c5f7b44e --- /dev/null +++ b/VectoCore/VectoCore/Models/Declaration/FloorType.cs @@ -0,0 +1,9 @@ +namespace TUGraz.VectoCore.Models.Declaration { + public enum FloorType + { + Unknown = 0, + LowFloor, + HighFloor, + SemiLowFloor, // no longer required? + } +} \ No newline at end of file -- GitLab