From f44d495e9329cdd126154d29d38e5a2034813460 Mon Sep 17 00:00:00 2001 From: Markus Quaritsch <markus.quaritsch@tugraz.at> Date: Wed, 30 Oct 2019 17:52:30 +0100 Subject: [PATCH] remove bus database, remove unused signals (alternator), cleeanup comments, remove derivedcompressortype, use enum for compressortype --- .vs/config/applicationhost.config | 1030 +++++++++++++++++ VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb | 40 +- .../UI/frmCombinedAlternators.vb | 4 +- VECTO/BusAuxiliaries/UI/frmHVACTool.vb | 42 +- .../IntegrationTests/AuxDemandTest.vb | 15 +- .../Mocks/MockFuel50PC.vb | 5 + .../VectoAuxiliariesTests/TestFiles/ssm.Ahsm | 2 +- .../AveragePneumaticLoadDemandTests.vb | 25 +- .../UnitTests/BusDatabaseTests.vb | 228 ---- .../UnitTests/CombinedAlternatorTests.vb | 42 +- .../UnitTests/ElectricalConsumerTests.vb | 88 +- .../UnitTests/M10Tests.vb | 3 +- .../UnitTests/M12Tests.vb | 3 +- .../UnitTests/M14Tests.vb | 7 +- .../M1_AverageHVACLoadDemandTests.vb | 8 +- .../M2_AverageElectricalLoadTests.vb | 2 +- .../UnitTests/PneumaticActuationsMapTests.vb | 16 +- .../UnitTests/SSMTOOLTests.vb | 136 ++- .../VectoAuxiliariesTests/UnitTests/Utils.vb | 5 +- .../VectoAuxiliariesTests.vbproj | 1 - ...aticActuationsMap.cs => IActuationsMap.cs} | 2 +- .../BusAuxiliaries/IAlternatorMap.cs | 4 +- .../BusAuxiliaries/IAuxiliaryConfig.cs | 5 +- .../BusAuxiliaries/IFuelConsumptionMap.cs | 1 + .../BusAuxiliaries/IFuelProperties.cs | 24 + .../VectoCommon/BusAuxiliaries/ISSMInputs.cs | 51 +- .../BusAuxiliaries/ISSMTechList.cs | 2 +- ...chListBenefitLine.cs => ISSMTechnology.cs} | 10 +- .../VectoCommon/BusAuxiliaries/SmartResult.cs | 9 +- VectoCommon/VectoCommon/VectoCommon.csproj | 5 +- .../VectoCore/Configuration/Constants.cs | 1 - .../FileIO/JSON/BusAuxiliaryInputData.cs | 17 +- .../FileIO/JSON/JSONComponentInputData.cs | 1 - .../InputData/FileIO/JSON/JSONVehicleData.cs | 1 - .../InputData/FileIO/JSON/SSMInputData.cs | 7 +- .../FileIO/XML/Common/AbstractXMLResource.cs | 1 - .../AbstractCommonComponentType.cs | 2 - .../XMLDeclarationADASDataProvider.cs | 1 - .../XMLDeclarationAngledriveDataProvider.cs | 3 +- .../XMLDeclarationAuxiliariesDataProvider.cs | 1 - .../XMLDeclarationGearboxDataProvider.cs | 1 - .../XMLDeclarationInputDataProvider.cs | 7 - .../Factory/IDeclarationInjectFactory.cs | 1 - .../Interfaces/IXMLDeclarationVehicleData.cs | 2 - .../XMLDeclarationInputDataV10InjectModule.cs | 1 - .../XMLDeclarationInputDataV20InjectModule.cs | 1 - .../XMLDeclarationInputDataV21InjectModule.cs | 1 - .../XMLDeclarationInputDataV22InjectModule.cs | 1 - .../XMLDeclarationReaderInjectModule.cs | 2 - .../Reader/Impl/XMLComponentReader.cs | 1 - .../Reader/Impl/XMLDeclarationInputReader.cs | 1 - .../Reader/Impl/XMLJobDataReader.cs | 3 +- .../AbstractCommonComponentType.cs | 5 - .../DataProvider/XMLCyclesDataProvider.cs | 1 - .../DataProvider/XMLDriverAcceleration.cs | 1 - .../XMLEngineeringAuxiliariesDataProvider.cs | 1 - .../XMLEngineeringDriverDataProvider.cs | 1 - .../XMLEngineeringDriverLookAhead.cs | 1 - .../XMLEngineeringEngineDataProvider.cs | 1 - .../XMLEngineeringGearboxDataProvider.cs | 1 - .../XMLEngineeringGearshiftData.cs | 1 - .../XMLEngineeringInputDataProvider.cs | 1 - .../XMLEngineeringJobInputDataProvider.cs | 1 - .../DataProvider/XMLEngineeringOverspeed.cs | 2 - .../XMLEngineeringReaderInjectModule.cs | 5 - .../XMLEngineeringReaderTestOverrides.cs | 1 - .../XMLEngineeringReaderV07InjectModule.cs | 1 - .../XMLEngineeringReaderV10InjectModule.cs | 4 +- .../Reader/IXMLDriverDataReader.cs | 1 - .../FileIO/XML/XMLInputDataNinjectModule.cs | 3 +- .../XMLReports/XMLManufacturerReportReader.cs | 1 - ...onsMapReader.cs => ActuationsMapReader.cs} | 10 +- .../Reader/ComponentData/AlternatorReader.cs | 33 - .../ComponentData/CompressorMapReader.cs | 3 +- .../ComponentData/ElectricConsumerReader.cs | 1 - .../EnvironmentalContidionsMapReader.cs | 6 +- .../ComponentData/FuelConsumptionMapReader.cs | 1 + ...fitsReader.cs => SSMTechnologiesReader.cs} | 14 +- .../AbstractSimulationDataAdapter.cs | 1 - .../DeclarationDataAdapter.cs | 6 +- .../EngineeringVTPModeVectoRunDataFactory.cs | 3 - .../BusAuxiliaries/AdvancedAuxiliaries.cs | 43 +- .../Models/BusAuxiliaries/AuxiliaryConfig.cs | 164 +-- .../Impl/Electrics/Alternator.cs | 37 +- .../Impl/Electrics/AlternatorMap.cs | 15 +- .../Impl/Electrics/CombinedAlternator.cs | 64 +- .../Electrics/CombinedAlternatorMapRow.cs | 29 +- .../Electrics/CombinedAlternatorSignals.cs | 16 - .../Impl/Electrics/ElectricalConsumerList.cs | 117 +- .../Electrics/ElectricsUserInputsConfig.cs | 21 - .../Impl/Electrics/M00Impl.cs | 15 +- .../Impl/Electrics/M02Impl.cs | 4 +- .../Impl/Electrics/M0_1Impl.cs | 3 +- .../Impl/Electrics/M0_5Impl.cs | 9 +- .../Impl/Electrics/ResultCard.cs | 110 +- .../DownstreamModules/Impl/HVAC/Bus.cs | 207 ---- .../Impl/HVAC/BusDatabase.cs | 136 --- .../Impl/HVAC/BusEngineType.cs | 9 - .../HVAC/EnvironmentalConditionMapEntry.cs | 5 +- .../Impl/HVAC/EnvironmentalConditionsMap.cs | 9 +- .../Impl/HVAC/HVACConstants.cs | 62 - .../Impl/HVAC/HVACUserInputsConfig.cs | 33 - .../DownstreamModules/Impl/HVAC/IBus.cs | 16 - .../Impl/HVAC/IBusDatabase.cs | 17 - .../DownstreamModules/Impl/HVAC/M01Impl.cs | 35 +- .../Impl/HVAC/SSMCalculate.cs | 80 +- .../DownstreamModules/Impl/HVAC/SSMInputs.cs | 131 +-- .../DownstreamModules/Impl/HVAC/SSMRun.cs | 36 +- .../DownstreamModules/Impl/HVAC/SSMTOOL.cs | 21 - .../Impl/HVAC/SSMTechList.cs | 119 +- ...echListBenefitLine.cs => SSMTechnology.cs} | 75 +- .../DownstreamModules/Impl/M06Impl.cs | 1 - .../DownstreamModules/Impl/M07Impl.cs | 3 +- .../DownstreamModules/Impl/M08Impl.cs | 9 +- .../DownstreamModules/Impl/M09Impl.cs | 15 +- .../DownstreamModules/Impl/M10Impl.cs | 17 +- .../DownstreamModules/Impl/M11Impl.cs | 22 +- .../DownstreamModules/Impl/M12Impl.cs | 11 +- .../DownstreamModules/Impl/M13Impl.cs | 8 +- .../DownstreamModules/Impl/M14Impl.cs | 22 +- ...maticActuationsMap.cs => ActuationsMap.cs} | 4 +- .../Impl/Pneumatics/CompressorMap.cs | 6 +- .../Impl/Pneumatics/M03Impl.cs | 21 +- .../Impl/Pneumatics/M04Impl.cs | 1 - .../Pneumatics/PneumaticUserInputsConfig.cs | 25 - .../PneumaticsAuxilliariesConfig.cs | 22 - .../Electrics/IAlternator.cs | 6 +- .../Electrics/ICombinedAlternatorSignals.cs | 12 - .../DownstreamModules/HVAC/Class1.cs | 8 - .../Interfaces/IAdvancedAuxiliaries.cs | 3 +- .../BusAuxiliaries/Legacy/cDelaunayMap.cs | 476 -------- .../Models/BusAuxiliaries/Legacy/cFile_V3.cs | 175 --- .../Models/BusAuxiliaries/Legacy/cMAP.cs | 194 ---- .../Models/Declaration/DeclarationData.cs | 16 +- .../VectoCore/Models/Declaration/FuelData.cs | 60 +- .../Models/Declaration/StandardBodies.cs | 1 - .../Models/Declaration/WeightingGroups.cs | 1 - .../Models/Simulation/Impl/ExemptedRun.cs | 1 - .../Simulation/Impl/PowertrainBuilder.cs | 2 - .../SimulationComponent/Data/AuxiliaryData.cs | 1 - .../Data/CombustionEngineData.cs | 3 +- .../Data/CrosswindCorrectionCdxALookup.cs | 1 - .../SimulationComponent/Data/DriverData.cs | 1 - .../Data/Engine/FuelConsumptionMap.cs | 12 +- .../Data/Engine/WHRPowerMap.cs | 1 - .../Data/Gearbox/TorqueConverterData.cs | 1 - .../Impl/BusAuxiliariesAdapter.cs | 11 +- .../Impl/CombustionEngine.cs | 12 +- .../Models/SimulationComponent/Impl/Driver.cs | 1 - .../Impl/MeasuredSpeedDrivingCycle.cs | 1 - .../Impl/PTOCycleController.cs | 1 - .../Impl/StopStartCombustionEngine.cs | 2 +- .../Impl/TorqueConverter.cs | 1 - .../Impl/VTPCombustionEngine.cs | 5 +- .../SimulationComponent/Impl/VTPCycle.cs | 2 - .../VectoCore/Ninject/VectoNinjectModule.cs | 2 - .../VectoCore/OutputData/DeclarationReport.cs | 3 +- .../OutputData/FileIO/BusAuxWriter.cs | 2 +- .../OutputData/FileIO/JSONFileWriter.cs | 8 - .../OutputData/FileIO/ShiftPolygonExport.cs | 1 - .../OutputData/IModalDataContainer.cs | 14 +- .../OutputData/ModalDataContainer.cs | 15 +- .../OutputData/SummaryDataContainer.cs | 3 +- .../OutputData/XML/AttributeMappings.cs | 2 - .../XMLEngineeringWriterInjectModule.cs | 4 - .../OutputData/XML/XMLCustomerReport.cs | 1 - .../OutputData/XML/XMLDeclarationReport.cs | 6 +- .../OutputData/XML/XMLDeclarationWriter.cs | 1 - .../OutputData/XML/XMLManufacturerReport.cs | 1 - .../OutputData/XML/XMLMonitoringReport.cs | 2 - .../VectoCore/Utils/DataIntegrityHelper.cs | 1 - VectoCore/VectoCore/Utils/XMLDefinitions.cs | 2 - VectoCore/VectoCore/Utils/XMLValidator.cs | 4 - VectoCore/VectoCore/VectoCore.csproj | 18 +- .../BusAuxiliaries/AuxDemandTest.cs | 1 + .../FuelConsumptionMapTest.cs | 1 + .../VectoCoreTest/Reports/ModDataTest.cs | 9 +- .../VectoCoreTest/Reports/SumWriterTest.cs | 5 +- .../Utils/MockModalDataContainer.cs | 13 +- .../XML/XMLDeclarationInputTest.cs | 2 +- .../XML/XMLEngineeringInputRefTest.cs | 2 +- .../XML/XMLEngineeringInputSingleTest.cs | 2 +- 182 files changed, 1661 insertions(+), 3283 deletions(-) create mode 100644 .vs/config/applicationhost.config delete mode 100644 VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb rename VectoCommon/VectoCommon/BusAuxiliaries/{IPneumaticActuationsMap.cs => IActuationsMap.cs} (94%) create mode 100644 VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs rename VectoCommon/VectoCommon/BusAuxiliaries/{ITechListBenefitLine.cs => ISSMTechnology.cs} (77%) rename VectoCore/VectoCore/InputData/Reader/ComponentData/{PneumaticActuationsMapReader.cs => ActuationsMapReader.cs} (84%) rename VectoCore/VectoCore/InputData/Reader/ComponentData/{HVACTechBenefitsReader.cs => SSMTechnologiesReader.cs} (86%) delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs rename VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/{TechListBenefitLine.cs => SSMTechnology.cs} (76%) rename VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/{PneumaticActuationsMap.cs => ActuationsMap.cs} (88%) delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs delete mode 100644 VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs diff --git a/.vs/config/applicationhost.config b/.vs/config/applicationhost.config new file mode 100644 index 0000000000..b42cd34a95 --- /dev/null +++ b/.vs/config/applicationhost.config @@ -0,0 +1,1030 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + IIS configuration sections. + + For schema documentation, see + %IIS_BIN%\config\schema\IIS_schema.xml. + + Please make a backup of this file before making any changes to it. + + NOTE: The following environment variables are available to be used + within this file and are understood by the IIS Express. + + %IIS_USER_HOME% - The IIS Express home directory for the user + %IIS_SITES_HOME% - The default home directory for sites + %IIS_BIN% - The location of the IIS Express binaries + %SYSTEMDRIVE% - The drive letter of %IIS_BIN% + +--> + +<configuration> + + <!-- + + The <configSections> section controls the registration of sections. + Section is the basic unit of deployment, locking, searching and + containment for configuration settings. + + Every section belongs to one section group. + A section group is a container of logically-related sections. + + Sections cannot be nested. + Section groups may be nested. + + <section + name="" [Required, Collection Key] [XML name of the section] + allowDefinition="Everywhere" [MachineOnly|MachineToApplication|AppHostOnly|Everywhere] [Level where it can be set] + overrideModeDefault="Allow" [Allow|Deny] [Default delegation mode] + allowLocation="true" [true|false] [Allowed in location tags] + /> + + The recommended way to unlock sections is by using a location tag: + <location path="Default Web Site" overrideMode="Allow"> + <system.webServer> + <asp /> + </system.webServer> + </location> + + --> + <configSections> + <sectionGroup name="system.applicationHost"> + <section name="applicationPools" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="configHistory" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="listenerAdapters" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="log" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="serviceAutoStartProviders" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="sites" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="webLimits" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + </sectionGroup> + + <sectionGroup name="system.webServer"> + <section name="asp" overrideModeDefault="Deny" /> + <section name="caching" overrideModeDefault="Allow" /> + <section name="cgi" overrideModeDefault="Deny" /> + <section name="defaultDocument" overrideModeDefault="Allow" /> + <section name="directoryBrowse" overrideModeDefault="Allow" /> + <section name="fastCgi" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="globalModules" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="handlers" overrideModeDefault="Deny" /> + <section name="httpCompression" overrideModeDefault="Allow" /> + <section name="httpErrors" overrideModeDefault="Allow" /> + <section name="httpLogging" overrideModeDefault="Deny" /> + <section name="httpProtocol" overrideModeDefault="Allow" /> + <section name="httpRedirect" overrideModeDefault="Allow" /> + <section name="httpTracing" overrideModeDefault="Deny" /> + <section name="isapiFilters" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> + <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" /> + <section name="applicationInitialization" allowDefinition="MachineToApplication" overrideModeDefault="Allow" /> + <section name="odbcLogging" overrideModeDefault="Deny" /> + <sectionGroup name="security"> + <section name="access" overrideModeDefault="Deny" /> + <section name="applicationDependencies" overrideModeDefault="Deny" /> + <sectionGroup name="authentication"> + <section name="anonymousAuthentication" overrideModeDefault="Deny" /> + <section name="basicAuthentication" overrideModeDefault="Deny" /> + <section name="clientCertificateMappingAuthentication" overrideModeDefault="Deny" /> + <section name="digestAuthentication" overrideModeDefault="Deny" /> + <section name="iisClientCertificateMappingAuthentication" overrideModeDefault="Deny" /> + <section name="windowsAuthentication" overrideModeDefault="Deny" /> + </sectionGroup> + <section name="authorization" overrideModeDefault="Allow" /> + <section name="ipSecurity" overrideModeDefault="Deny" /> + <section name="dynamicIpSecurity" overrideModeDefault="Deny" /> + <section name="isapiCgiRestriction" allowDefinition="AppHostOnly" overrideModeDefault="Deny" /> + <section name="requestFiltering" overrideModeDefault="Allow" /> + </sectionGroup> + <section name="serverRuntime" overrideModeDefault="Deny" /> + <section name="serverSideInclude" overrideModeDefault="Deny" /> + <section name="staticContent" overrideModeDefault="Allow" /> + <sectionGroup name="tracing"> + <section name="traceFailedRequests" overrideModeDefault="Allow" /> + <section name="traceProviderDefinitions" overrideModeDefault="Deny" /> + </sectionGroup> + <section name="urlCompression" overrideModeDefault="Allow" /> + <section name="validation" overrideModeDefault="Allow" /> + <sectionGroup name="webdav"> + <section name="globalSettings" overrideModeDefault="Deny" /> + <section name="authoring" overrideModeDefault="Deny" /> + <section name="authoringRules" overrideModeDefault="Deny" /> + </sectionGroup> + <sectionGroup name="rewrite"> + <section name="allowedServerVariables" overrideModeDefault="Deny" /> + <section name="rules" overrideModeDefault="Allow" /> + <section name="outboundRules" overrideModeDefault="Allow" /> + <section name="globalRules" overrideModeDefault="Deny" allowDefinition="AppHostOnly" /> + <section name="providers" overrideModeDefault="Allow" /> + <section name="rewriteMaps" overrideModeDefault="Allow" /> + </sectionGroup> + <section name="webSocket" overrideModeDefault="Deny" /> + </sectionGroup> + </configSections> + + <configProtectedData> + <providers> + <add name="IISWASOnlyRsaProvider" type="" description="Uses RsaCryptoServiceProvider to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useMachineContainer="true" useOAEP="false" /> + <add name="AesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisConfigurationKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAAKmFQvWHDEETRz8l2bjZlRxIkwcqTFaCUnCLljn3Q1OkesrhEO9YyLyx4bUhsj1/DyShAv7OAFFhXlrlomaornnk5PLeyO4lIXxaiT33yOFUUgxDx4GSaygkqghVV0tO5yQ/XguUBp2juMfZyztnsNa4pLcz7ZNZQ6p4yn9hxwNs=" /> + <add name="IISWASOnlyAesProvider" type="Microsoft.ApplicationHost.AesProtectedConfigurationProvider" description="Uses an AES session key to encrypt and decrypt" keyContainerName="iisWasKey" cspProviderName="" useOAEP="false" useMachineContainer="true" sessionKey="AQIAAA5mAAAApAAA4WoiRJ8KHwzAG8AgejPxEOO4/2Vhkolbwo/8gZeNdUDSD36m55hWv4uC9tr/MlKdnwRLL0NhT50Gccyftqz5xTZ0dg5FtvQhTw/he1NwexTKbV+I4Zrd+sZUqHZTsr7JiEr6OHGXL70qoISW5G2m9U8wKT3caPiDPNj2aAaYPLo=" /> + </providers> + </configProtectedData> + + <system.applicationHost> + + <applicationPools> + <add name="Clr4IntegratedAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="Clr4ClassicAppPool" managedRuntimeVersion="v4.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="Clr2IntegratedAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Integrated" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="Clr2ClassicAppPool" managedRuntimeVersion="v2.0" managedPipelineMode="Classic" CLRConfigFile="%IIS_USER_HOME%\config\aspnet.config" autoStart="true" /> + <add name="UnmanagedClassicAppPool" managedRuntimeVersion="" managedPipelineMode="Classic" autoStart="true" /> + <applicationPoolDefaults managedRuntimeLoader="v4.0" > + <processModel/> + </applicationPoolDefaults> + </applicationPools> + + <!-- + + The <listenerAdapters> section defines the protocols with which the + Windows Process Activation Service (WAS) binds. + + --> + <listenerAdapters> + <add name="http" /> + </listenerAdapters> + + <sites> + <site name="WebSite1" id="1" serverAutoStart="true"> + <application path="/"> + <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" /> + </application> + <bindings> + <binding protocol="http" bindingInformation=":8080:localhost" /> + </bindings> + </site> + <siteDefaults> + <logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" /> + <traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" /> + </siteDefaults> + <applicationDefaults applicationPool="Clr4IntegratedAppPool" /> + <virtualDirectoryDefaults allowSubDirConfig="true" /> + </sites> + + <webLimits /> + + </system.applicationHost> + + <system.webServer> + + <serverRuntime /> + + <asp scriptErrorSentToBrowser="true"> + <cache diskTemplateCacheDirectory="%TEMP%\iisexpress\ASP Compiled Templates" /> + <limits /> + </asp> + + <caching enabled="true" enableKernelCache="true"> + </caching> + + <cgi /> + + <defaultDocument enabled="true"> + <files> + <add value="Default.htm" /> + <add value="Default.asp" /> + <add value="index.htm" /> + <add value="index.html" /> + <add value="iisstart.htm" /> + <add value="default.aspx" /> + </files> + </defaultDocument> + + <directoryBrowse enabled="false" /> + + <fastCgi /> + + <!-- + + The <globalModules> section defines all native-code modules. + To enable a module, specify it in the <modules> section. + + --> + <globalModules> + <add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" /> + <add name="UriCacheModule" image="%IIS_BIN%\cachuri.dll" /> +<!-- <add name="FileCacheModule" image="%IIS_BIN%\cachfile.dll" /> --> + <add name="TokenCacheModule" image="%IIS_BIN%\cachtokn.dll" /> +<!-- <add name="HttpCacheModule" image="%IIS_BIN%\cachhttp.dll" /> --> + <add name="DynamicCompressionModule" image="%IIS_BIN%\compdyn.dll" /> + <add name="StaticCompressionModule" image="%IIS_BIN%\compstat.dll" /> + <add name="DefaultDocumentModule" image="%IIS_BIN%\defdoc.dll" /> + <add name="DirectoryListingModule" image="%IIS_BIN%\dirlist.dll" /> + <add name="ProtocolSupportModule" image="%IIS_BIN%\protsup.dll" /> + <add name="HttpRedirectionModule" image="%IIS_BIN%\redirect.dll" /> + <add name="ServerSideIncludeModule" image="%IIS_BIN%\iis_ssi.dll" /> + <add name="StaticFileModule" image="%IIS_BIN%\static.dll" /> + <add name="AnonymousAuthenticationModule" image="%IIS_BIN%\authanon.dll" /> + <add name="CertificateMappingAuthenticationModule" image="%IIS_BIN%\authcert.dll" /> + <add name="UrlAuthorizationModule" image="%IIS_BIN%\urlauthz.dll" /> + <add name="BasicAuthenticationModule" image="%IIS_BIN%\authbas.dll" /> + <add name="WindowsAuthenticationModule" image="%IIS_BIN%\authsspi.dll" /> +<!-- <add name="DigestAuthenticationModule" image="%IIS_BIN%\authmd5.dll" /> --> + <add name="IISCertificateMappingAuthenticationModule" image="%IIS_BIN%\authmap.dll" /> + <add name="IpRestrictionModule" image="%IIS_BIN%\iprestr.dll" /> + <add name="DynamicIpRestrictionModule" image="%IIS_BIN%\diprestr.dll" /> + <add name="RequestFilteringModule" image="%IIS_BIN%\modrqflt.dll" /> + <add name="CustomLoggingModule" image="%IIS_BIN%\logcust.dll" /> + <add name="CustomErrorModule" image="%IIS_BIN%\custerr.dll" /> +<!-- <add name="TracingModule" image="%IIS_BIN%\iisetw.dll" /> --> + <add name="FailedRequestsTracingModule" image="%IIS_BIN%\iisfreb.dll" /> + <add name="RequestMonitorModule" image="%IIS_BIN%\iisreqs.dll" /> + <add name="IsapiModule" image="%IIS_BIN%\isapi.dll" /> + <add name="IsapiFilterModule" image="%IIS_BIN%\filter.dll" /> + <add name="CgiModule" image="%IIS_BIN%\cgi.dll" /> + <add name="FastCgiModule" image="%IIS_BIN%\iisfcgi.dll" /> +<!-- <add name="WebDAVModule" image="%IIS_BIN%\webdav.dll" /> --> + <add name="RewriteModule" image="%IIS_BIN%\rewrite.dll" /> + <add name="ConfigurationValidationModule" image="%IIS_BIN%\validcfg.dll" /> + <add name="WebSocketModule" image="%IIS_BIN%\iiswsock.dll" /> + <add name="WebMatrixSupportModule" image="%IIS_BIN%\webmatrixsup.dll" /> + <add name="ManagedEngine" image="%windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness32" /> + <add name="ManagedEngine64" image="%windir%\Microsoft.NET\Framework64\v2.0.50727\webengine.dll" preCondition="integratedMode,runtimeVersionv2.0,bitness64" /> + <add name="ManagedEngineV4.0_32bit" image="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness32" /> + <add name="ManagedEngineV4.0_64bit" image="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" preCondition="integratedMode,runtimeVersionv4.0,bitness64" /> + <add name="ApplicationInitializationModule" image="%IIS_BIN%\warmup.dll" /> + </globalModules> + + <httpCompression directory="%TEMP%\iisexpress\IIS Temporary Compressed Files"> + <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" /> + <dynamicTypes> + <add mimeType="text/*" enabled="true" /> + <add mimeType="message/*" enabled="true" /> + <add mimeType="application/javascript" enabled="true" /> + <add mimeType="application/atom+xml" enabled="true" /> + <add mimeType="application/xaml+xml" enabled="true" /> + <add mimeType="*/*" enabled="false" /> + </dynamicTypes> + <staticTypes> + <add mimeType="text/*" enabled="true" /> + <add mimeType="message/*" enabled="true" /> + <add mimeType="image/svg+xml" enabled="true" /> + <add mimeType="application/javascript" enabled="true" /> + <add mimeType="application/atom+xml" enabled="true" /> + <add mimeType="application/xaml+xml" enabled="true" /> + <add mimeType="*/*" enabled="false" /> + </staticTypes> + </httpCompression> + + <httpErrors lockAttributes="allowAbsolutePathsWhenDelegated,defaultPath"> + <error statusCode="401" prefixLanguageFilePath="%IIS_BIN%\custerr" path="401.htm" /> + <error statusCode="403" prefixLanguageFilePath="%IIS_BIN%\custerr" path="403.htm" /> + <error statusCode="404" prefixLanguageFilePath="%IIS_BIN%\custerr" path="404.htm" /> + <error statusCode="405" prefixLanguageFilePath="%IIS_BIN%\custerr" path="405.htm" /> + <error statusCode="406" prefixLanguageFilePath="%IIS_BIN%\custerr" path="406.htm" /> + <error statusCode="412" prefixLanguageFilePath="%IIS_BIN%\custerr" path="412.htm" /> + <error statusCode="500" prefixLanguageFilePath="%IIS_BIN%\custerr" path="500.htm" /> + <error statusCode="501" prefixLanguageFilePath="%IIS_BIN%\custerr" path="501.htm" /> + <error statusCode="502" prefixLanguageFilePath="%IIS_BIN%\custerr" path="502.htm" /> + </httpErrors> + + <httpLogging dontLog="false" /> + + <httpProtocol> + <customHeaders> + <clear /> + <add name="X-Powered-By" value="ASP.NET" /> + </customHeaders> + <redirectHeaders> + <clear /> + </redirectHeaders> + </httpProtocol> + + <httpRedirect enabled="false" /> + + <httpTracing> + </httpTracing> + + <isapiFilters> + <filter name="ASP.Net_2.0.50727-64" path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv2.0" /> + <filter name="ASP.Net_2.0.50727.0" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv2.0" /> + <filter name="ASP.Net_2.0_for_v1.1" path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll" enableCache="true" preCondition="runtimeVersionv1.1" /> + <filter name="ASP.Net_4.0_32bit" path="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness32,runtimeVersionv4.0" /> + <filter name="ASP.Net_4.0_64bit" path="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_filter.dll" enableCache="true" preCondition="bitness64,runtimeVersionv4.0" /> + </isapiFilters> + + <odbcLogging /> + + <security> + + <access sslFlags="None" /> + + <applicationDependencies> + <application name="Active Server Pages" groupId="ASP" /> + </applicationDependencies> + + <authentication> + + <anonymousAuthentication enabled="true" userName="" /> + + <basicAuthentication enabled="false" /> + + <clientCertificateMappingAuthentication enabled="false" /> + + <digestAuthentication enabled="false" /> + + <iisClientCertificateMappingAuthentication enabled="false"> + </iisClientCertificateMappingAuthentication> + + <windowsAuthentication enabled="false"> + <providers> + <add value="Negotiate" /> + <add value="NTLM" /> + </providers> + </windowsAuthentication> + + </authentication> + + <authorization> + <add accessType="Allow" users="*" /> + </authorization> + + <ipSecurity allowUnlisted="true" /> + + <isapiCgiRestriction notListedIsapisAllowed="true" notListedCgisAllowed="true"> + <add path="%windir%\Microsoft.NET\Framework64\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> + <add path="%windir%\Microsoft.NET\Framework\v4.0.30319\webengine4.dll" allowed="true" groupId="ASP.NET_v4.0" description="ASP.NET_v4.0" /> + <add path="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> + <add path="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" allowed="true" groupId="ASP.NET v2.0.50727" description="ASP.NET v2.0.50727" /> + </isapiCgiRestriction> + + <requestFiltering> + <fileExtensions allowUnlisted="true" applyToWebDAV="true"> + <add fileExtension=".asa" allowed="false" /> + <add fileExtension=".asax" allowed="false" /> + <add fileExtension=".ascx" allowed="false" /> + <add fileExtension=".master" allowed="false" /> + <add fileExtension=".skin" allowed="false" /> + <add fileExtension=".browser" allowed="false" /> + <add fileExtension=".sitemap" allowed="false" /> + <add fileExtension=".config" allowed="false" /> + <add fileExtension=".cs" allowed="false" /> + <add fileExtension=".csproj" allowed="false" /> + <add fileExtension=".vb" allowed="false" /> + <add fileExtension=".vbproj" allowed="false" /> + <add fileExtension=".webinfo" allowed="false" /> + <add fileExtension=".licx" allowed="false" /> + <add fileExtension=".resx" allowed="false" /> + <add fileExtension=".resources" allowed="false" /> + <add fileExtension=".mdb" allowed="false" /> + <add fileExtension=".vjsproj" allowed="false" /> + <add fileExtension=".java" allowed="false" /> + <add fileExtension=".jsl" allowed="false" /> + <add fileExtension=".ldb" allowed="false" /> + <add fileExtension=".dsdgm" allowed="false" /> + <add fileExtension=".ssdgm" allowed="false" /> + <add fileExtension=".lsad" allowed="false" /> + <add fileExtension=".ssmap" allowed="false" /> + <add fileExtension=".cd" allowed="false" /> + <add fileExtension=".dsprototype" allowed="false" /> + <add fileExtension=".lsaprototype" allowed="false" /> + <add fileExtension=".sdm" allowed="false" /> + <add fileExtension=".sdmDocument" allowed="false" /> + <add fileExtension=".mdf" allowed="false" /> + <add fileExtension=".ldf" allowed="false" /> + <add fileExtension=".ad" allowed="false" /> + <add fileExtension=".dd" allowed="false" /> + <add fileExtension=".ldd" allowed="false" /> + <add fileExtension=".sd" allowed="false" /> + <add fileExtension=".adprototype" allowed="false" /> + <add fileExtension=".lddprototype" allowed="false" /> + <add fileExtension=".exclude" allowed="false" /> + <add fileExtension=".refresh" allowed="false" /> + <add fileExtension=".compiled" allowed="false" /> + <add fileExtension=".msgx" allowed="false" /> + <add fileExtension=".vsdisco" allowed="false" /> + <add fileExtension=".rules" allowed="false" /> + </fileExtensions> + <verbs allowUnlisted="true" applyToWebDAV="true" /> + <hiddenSegments applyToWebDAV="true"> + <add segment="web.config" /> + <add segment="bin" /> + <add segment="App_code" /> + <add segment="App_GlobalResources" /> + <add segment="App_LocalResources" /> + <add segment="App_WebReferences" /> + <add segment="App_Data" /> + <add segment="App_Browsers" /> + </hiddenSegments> + </requestFiltering> + + </security> + + <serverSideInclude ssiExecDisable="false" /> + + <staticContent lockAttributes="isDocFooterFileName"> + <mimeMap fileExtension=".323" mimeType="text/h323" /> + <mimeMap fileExtension=".3g2" mimeType="video/3gpp2" /> + <mimeMap fileExtension=".3gp2" mimeType="video/3gpp2" /> + <mimeMap fileExtension=".3gp" mimeType="video/3gpp" /> + <mimeMap fileExtension=".3gpp" mimeType="video/3gpp" /> + <mimeMap fileExtension=".aac" mimeType="audio/aac" /> + <mimeMap fileExtension=".aaf" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".aca" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".accdb" mimeType="application/msaccess" /> + <mimeMap fileExtension=".accde" mimeType="application/msaccess" /> + <mimeMap fileExtension=".accdt" mimeType="application/msaccess" /> + <mimeMap fileExtension=".acx" mimeType="application/internet-property-stream" /> + <mimeMap fileExtension=".adt" mimeType="audio/vnd.dlna.adts" /> + <mimeMap fileExtension=".adts" mimeType="audio/vnd.dlna.adts" /> + <mimeMap fileExtension=".afm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ai" mimeType="application/postscript" /> + <mimeMap fileExtension=".aif" mimeType="audio/x-aiff" /> + <mimeMap fileExtension=".aifc" mimeType="audio/aiff" /> + <mimeMap fileExtension=".aiff" mimeType="audio/aiff" /> + <mimeMap fileExtension=".appcache" mimeType="text/cache-manifest" /> + <mimeMap fileExtension=".application" mimeType="application/x-ms-application" /> + <mimeMap fileExtension=".art" mimeType="image/x-jg" /> + <mimeMap fileExtension=".asd" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".asf" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".asi" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".asm" mimeType="text/plain" /> + <mimeMap fileExtension=".asr" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".asx" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".atom" mimeType="application/atom+xml" /> + <mimeMap fileExtension=".au" mimeType="audio/basic" /> + <mimeMap fileExtension=".avi" mimeType="video/msvideo" /> + <mimeMap fileExtension=".axs" mimeType="application/olescript" /> + <mimeMap fileExtension=".bas" mimeType="text/plain" /> + <mimeMap fileExtension=".bcpio" mimeType="application/x-bcpio" /> + <mimeMap fileExtension=".bin" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".bmp" mimeType="image/bmp" /> + <mimeMap fileExtension=".c" mimeType="text/plain" /> + <mimeMap fileExtension=".cab" mimeType="application/vnd.ms-cab-compressed" /> + <mimeMap fileExtension=".calx" mimeType="application/vnd.ms-office.calx" /> + <mimeMap fileExtension=".cat" mimeType="application/vnd.ms-pki.seccat" /> + <mimeMap fileExtension=".cdf" mimeType="application/x-cdf" /> + <mimeMap fileExtension=".chm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".class" mimeType="application/x-java-applet" /> + <mimeMap fileExtension=".clp" mimeType="application/x-msclip" /> + <mimeMap fileExtension=".cmx" mimeType="image/x-cmx" /> + <mimeMap fileExtension=".cnf" mimeType="text/plain" /> + <mimeMap fileExtension=".cod" mimeType="image/cis-cod" /> + <mimeMap fileExtension=".cpio" mimeType="application/x-cpio" /> + <mimeMap fileExtension=".cpp" mimeType="text/plain" /> + <mimeMap fileExtension=".crd" mimeType="application/x-mscardfile" /> + <mimeMap fileExtension=".crl" mimeType="application/pkix-crl" /> + <mimeMap fileExtension=".crt" mimeType="application/x-x509-ca-cert" /> + <mimeMap fileExtension=".csh" mimeType="application/x-csh" /> + <mimeMap fileExtension=".css" mimeType="text/css" /> + <mimeMap fileExtension=".csv" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".cur" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".dcr" mimeType="application/x-director" /> + <mimeMap fileExtension=".deploy" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".der" mimeType="application/x-x509-ca-cert" /> + <mimeMap fileExtension=".dib" mimeType="image/bmp" /> + <mimeMap fileExtension=".dir" mimeType="application/x-director" /> + <mimeMap fileExtension=".disco" mimeType="text/xml" /> + <mimeMap fileExtension=".dll" mimeType="application/x-msdownload" /> + <mimeMap fileExtension=".dll.config" mimeType="text/xml" /> + <mimeMap fileExtension=".dlm" mimeType="text/dlm" /> + <mimeMap fileExtension=".doc" mimeType="application/msword" /> + <mimeMap fileExtension=".docm" mimeType="application/vnd.ms-word.document.macroEnabled.12" /> + <mimeMap fileExtension=".docx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" /> + <mimeMap fileExtension=".dot" mimeType="application/msword" /> + <mimeMap fileExtension=".dotm" mimeType="application/vnd.ms-word.template.macroEnabled.12" /> + <mimeMap fileExtension=".dotx" mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.template" /> + <mimeMap fileExtension=".dsp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".dtd" mimeType="text/xml" /> + <mimeMap fileExtension=".dvi" mimeType="application/x-dvi" /> + <mimeMap fileExtension=".dvr-ms" mimeType="video/x-ms-dvr" /> + <mimeMap fileExtension=".dwf" mimeType="drawing/x-dwf" /> + <mimeMap fileExtension=".dwp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".dxr" mimeType="application/x-director" /> + <mimeMap fileExtension=".eml" mimeType="message/rfc822" /> + <mimeMap fileExtension=".emz" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" /> + <mimeMap fileExtension=".eps" mimeType="application/postscript" /> + <mimeMap fileExtension=".etx" mimeType="text/x-setext" /> + <mimeMap fileExtension=".evy" mimeType="application/envoy" /> + <mimeMap fileExtension=".exe" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".exe.config" mimeType="text/xml" /> + <mimeMap fileExtension=".fdf" mimeType="application/vnd.fdf" /> + <mimeMap fileExtension=".fif" mimeType="application/fractals" /> + <mimeMap fileExtension=".fla" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".flr" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".flv" mimeType="video/x-flv" /> + <mimeMap fileExtension=".gif" mimeType="image/gif" /> + <mimeMap fileExtension=".gtar" mimeType="application/x-gtar" /> + <mimeMap fileExtension=".gz" mimeType="application/x-gzip" /> + <mimeMap fileExtension=".h" mimeType="text/plain" /> + <mimeMap fileExtension=".hdf" mimeType="application/x-hdf" /> + <mimeMap fileExtension=".hdml" mimeType="text/x-hdml" /> + <mimeMap fileExtension=".hhc" mimeType="application/x-oleobject" /> + <mimeMap fileExtension=".hhk" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".hhp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".hlp" mimeType="application/winhlp" /> + <mimeMap fileExtension=".hqx" mimeType="application/mac-binhex40" /> + <mimeMap fileExtension=".hta" mimeType="application/hta" /> + <mimeMap fileExtension=".htc" mimeType="text/x-component" /> + <mimeMap fileExtension=".htm" mimeType="text/html" /> + <mimeMap fileExtension=".html" mimeType="text/html" /> + <mimeMap fileExtension=".htt" mimeType="text/webviewhtml" /> + <mimeMap fileExtension=".hxt" mimeType="text/html" /> + <mimeMap fileExtension=".ico" mimeType="image/x-icon" /> + <mimeMap fileExtension=".ics" mimeType="text/calendar" /> + <mimeMap fileExtension=".ief" mimeType="image/ief" /> + <mimeMap fileExtension=".iii" mimeType="application/x-iphone" /> + <mimeMap fileExtension=".inf" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ins" mimeType="application/x-internet-signup" /> + <mimeMap fileExtension=".isp" mimeType="application/x-internet-signup" /> + <mimeMap fileExtension=".IVF" mimeType="video/x-ivf" /> + <mimeMap fileExtension=".jar" mimeType="application/java-archive" /> + <mimeMap fileExtension=".java" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".jck" mimeType="application/liquidmotion" /> + <mimeMap fileExtension=".jcz" mimeType="application/liquidmotion" /> + <mimeMap fileExtension=".jfif" mimeType="image/pjpeg" /> + <mimeMap fileExtension=".jpb" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".jpe" mimeType="image/jpeg" /> + <mimeMap fileExtension=".jpeg" mimeType="image/jpeg" /> + <mimeMap fileExtension=".jpg" mimeType="image/jpeg" /> + <mimeMap fileExtension=".js" mimeType="application/javascript" /> + <mimeMap fileExtension=".json" mimeType="application/json" /> + <mimeMap fileExtension=".jsonld" mimeType="application/ld+json" /> + <mimeMap fileExtension=".jsx" mimeType="text/jscript" /> + <mimeMap fileExtension=".latex" mimeType="application/x-latex" /> + <mimeMap fileExtension=".less" mimeType="text/css" /> + <mimeMap fileExtension=".lit" mimeType="application/x-ms-reader" /> + <mimeMap fileExtension=".lpk" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".lsf" mimeType="video/x-la-asf" /> + <mimeMap fileExtension=".lsx" mimeType="video/x-la-asf" /> + <mimeMap fileExtension=".lzh" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".m13" mimeType="application/x-msmediaview" /> + <mimeMap fileExtension=".m14" mimeType="application/x-msmediaview" /> + <mimeMap fileExtension=".m1v" mimeType="video/mpeg" /> + <mimeMap fileExtension=".m2ts" mimeType="video/vnd.dlna.mpeg-tts" /> + <mimeMap fileExtension=".m3u" mimeType="audio/x-mpegurl" /> + <mimeMap fileExtension=".m4a" mimeType="audio/mp4" /> + <mimeMap fileExtension=".m4v" mimeType="video/mp4" /> + <mimeMap fileExtension=".man" mimeType="application/x-troff-man" /> + <mimeMap fileExtension=".manifest" mimeType="application/x-ms-manifest" /> + <mimeMap fileExtension=".map" mimeType="text/plain" /> + <mimeMap fileExtension=".mdb" mimeType="application/x-msaccess" /> + <mimeMap fileExtension=".mdp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".me" mimeType="application/x-troff-me" /> + <mimeMap fileExtension=".mht" mimeType="message/rfc822" /> + <mimeMap fileExtension=".mhtml" mimeType="message/rfc822" /> + <mimeMap fileExtension=".mid" mimeType="audio/mid" /> + <mimeMap fileExtension=".midi" mimeType="audio/mid" /> + <mimeMap fileExtension=".mix" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".mmf" mimeType="application/x-smaf" /> + <mimeMap fileExtension=".mno" mimeType="text/xml" /> + <mimeMap fileExtension=".mny" mimeType="application/x-msmoney" /> + <mimeMap fileExtension=".mov" mimeType="video/quicktime" /> + <mimeMap fileExtension=".movie" mimeType="video/x-sgi-movie" /> + <mimeMap fileExtension=".mp2" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mp3" mimeType="audio/mpeg" /> + <mimeMap fileExtension=".mp4" mimeType="video/mp4" /> + <mimeMap fileExtension=".mp4v" mimeType="video/mp4" /> + <mimeMap fileExtension=".mpa" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpe" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpeg" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpg" mimeType="video/mpeg" /> + <mimeMap fileExtension=".mpp" mimeType="application/vnd.ms-project" /> + <mimeMap fileExtension=".mpv2" mimeType="video/mpeg" /> + <mimeMap fileExtension=".ms" mimeType="application/x-troff-ms" /> + <mimeMap fileExtension=".msi" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".mso" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".mvb" mimeType="application/x-msmediaview" /> + <mimeMap fileExtension=".mvc" mimeType="application/x-miva-compiled" /> + <mimeMap fileExtension=".nc" mimeType="application/x-netcdf" /> + <mimeMap fileExtension=".nsc" mimeType="video/x-ms-asf" /> + <mimeMap fileExtension=".nws" mimeType="message/rfc822" /> + <mimeMap fileExtension=".ocx" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".oda" mimeType="application/oda" /> + <mimeMap fileExtension=".odc" mimeType="text/x-ms-odc" /> + <mimeMap fileExtension=".ods" mimeType="application/oleobject" /> + <mimeMap fileExtension=".oga" mimeType="audio/ogg" /> + <mimeMap fileExtension=".ogg" mimeType="video/ogg" /> + <mimeMap fileExtension=".ogv" mimeType="video/ogg" /> + <mimeMap fileExtension=".one" mimeType="application/onenote" /> + <mimeMap fileExtension=".onea" mimeType="application/onenote" /> + <mimeMap fileExtension=".onetoc" mimeType="application/onenote" /> + <mimeMap fileExtension=".onetoc2" mimeType="application/onenote" /> + <mimeMap fileExtension=".onetmp" mimeType="application/onenote" /> + <mimeMap fileExtension=".onepkg" mimeType="application/onenote" /> + <mimeMap fileExtension=".osdx" mimeType="application/opensearchdescription+xml" /> + <mimeMap fileExtension=".otf" mimeType="font/otf" /> + <mimeMap fileExtension=".p10" mimeType="application/pkcs10" /> + <mimeMap fileExtension=".p12" mimeType="application/x-pkcs12" /> + <mimeMap fileExtension=".p7b" mimeType="application/x-pkcs7-certificates" /> + <mimeMap fileExtension=".p7c" mimeType="application/pkcs7-mime" /> + <mimeMap fileExtension=".p7m" mimeType="application/pkcs7-mime" /> + <mimeMap fileExtension=".p7r" mimeType="application/x-pkcs7-certreqresp" /> + <mimeMap fileExtension=".p7s" mimeType="application/pkcs7-signature" /> + <mimeMap fileExtension=".pbm" mimeType="image/x-portable-bitmap" /> + <mimeMap fileExtension=".pcx" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pcz" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pdf" mimeType="application/pdf" /> + <mimeMap fileExtension=".pfb" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pfm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pfx" mimeType="application/x-pkcs12" /> + <mimeMap fileExtension=".pgm" mimeType="image/x-portable-graymap" /> + <mimeMap fileExtension=".pko" mimeType="application/vnd.ms-pki.pko" /> + <mimeMap fileExtension=".pma" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pmc" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pml" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pmr" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".pmw" mimeType="application/x-perfmon" /> + <mimeMap fileExtension=".png" mimeType="image/png" /> + <mimeMap fileExtension=".pnm" mimeType="image/x-portable-anymap" /> + <mimeMap fileExtension=".pnz" mimeType="image/png" /> + <mimeMap fileExtension=".pot" mimeType="application/vnd.ms-powerpoint" /> + <mimeMap fileExtension=".potm" mimeType="application/vnd.ms-powerpoint.template.macroEnabled.12" /> + <mimeMap fileExtension=".potx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.template" /> + <mimeMap fileExtension=".ppam" mimeType="application/vnd.ms-powerpoint.addin.macroEnabled.12" /> + <mimeMap fileExtension=".ppm" mimeType="image/x-portable-pixmap" /> + <mimeMap fileExtension=".pps" mimeType="application/vnd.ms-powerpoint" /> + <mimeMap fileExtension=".ppsm" mimeType="application/vnd.ms-powerpoint.slideshow.macroEnabled.12" /> + <mimeMap fileExtension=".ppsx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slideshow" /> + <mimeMap fileExtension=".ppt" mimeType="application/vnd.ms-powerpoint" /> + <mimeMap fileExtension=".pptm" mimeType="application/vnd.ms-powerpoint.presentation.macroEnabled.12" /> + <mimeMap fileExtension=".pptx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" /> + <mimeMap fileExtension=".prf" mimeType="application/pics-rules" /> + <mimeMap fileExtension=".prm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".prx" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ps" mimeType="application/postscript" /> + <mimeMap fileExtension=".psd" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".psm" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".psp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".pub" mimeType="application/x-mspublisher" /> + <mimeMap fileExtension=".qt" mimeType="video/quicktime" /> + <mimeMap fileExtension=".qtl" mimeType="application/x-quicktimeplayer" /> + <mimeMap fileExtension=".qxd" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ra" mimeType="audio/x-pn-realaudio" /> + <mimeMap fileExtension=".ram" mimeType="audio/x-pn-realaudio" /> + <mimeMap fileExtension=".rar" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".ras" mimeType="image/x-cmu-raster" /> + <mimeMap fileExtension=".rf" mimeType="image/vnd.rn-realflash" /> + <mimeMap fileExtension=".rgb" mimeType="image/x-rgb" /> + <mimeMap fileExtension=".rm" mimeType="application/vnd.rn-realmedia" /> + <mimeMap fileExtension=".rmi" mimeType="audio/mid" /> + <mimeMap fileExtension=".roff" mimeType="application/x-troff" /> + <mimeMap fileExtension=".rpm" mimeType="audio/x-pn-realaudio-plugin" /> + <mimeMap fileExtension=".rtf" mimeType="application/rtf" /> + <mimeMap fileExtension=".rtx" mimeType="text/richtext" /> + <mimeMap fileExtension=".scd" mimeType="application/x-msschedule" /> + <mimeMap fileExtension=".sct" mimeType="text/scriptlet" /> + <mimeMap fileExtension=".sea" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".setpay" mimeType="application/set-payment-initiation" /> + <mimeMap fileExtension=".setreg" mimeType="application/set-registration-initiation" /> + <mimeMap fileExtension=".sgml" mimeType="text/sgml" /> + <mimeMap fileExtension=".sh" mimeType="application/x-sh" /> + <mimeMap fileExtension=".shar" mimeType="application/x-shar" /> + <mimeMap fileExtension=".sit" mimeType="application/x-stuffit" /> + <mimeMap fileExtension=".sldm" mimeType="application/vnd.ms-powerpoint.slide.macroEnabled.12" /> + <mimeMap fileExtension=".sldx" mimeType="application/vnd.openxmlformats-officedocument.presentationml.slide" /> + <mimeMap fileExtension=".smd" mimeType="audio/x-smd" /> + <mimeMap fileExtension=".smi" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".smx" mimeType="audio/x-smd" /> + <mimeMap fileExtension=".smz" mimeType="audio/x-smd" /> + <mimeMap fileExtension=".snd" mimeType="audio/basic" /> + <mimeMap fileExtension=".snp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".spc" mimeType="application/x-pkcs7-certificates" /> + <mimeMap fileExtension=".spl" mimeType="application/futuresplash" /> + <mimeMap fileExtension=".spx" mimeType="audio/ogg" /> + <mimeMap fileExtension=".src" mimeType="application/x-wais-source" /> + <mimeMap fileExtension=".ssm" mimeType="application/streamingmedia" /> + <mimeMap fileExtension=".sst" mimeType="application/vnd.ms-pki.certstore" /> + <mimeMap fileExtension=".stl" mimeType="application/vnd.ms-pki.stl" /> + <mimeMap fileExtension=".sv4cpio" mimeType="application/x-sv4cpio" /> + <mimeMap fileExtension=".sv4crc" mimeType="application/x-sv4crc" /> + <mimeMap fileExtension=".svg" mimeType="image/svg+xml" /> + <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" /> + <mimeMap fileExtension=".swf" mimeType="application/x-shockwave-flash" /> + <mimeMap fileExtension=".t" mimeType="application/x-troff" /> + <mimeMap fileExtension=".tar" mimeType="application/x-tar" /> + <mimeMap fileExtension=".tcl" mimeType="application/x-tcl" /> + <mimeMap fileExtension=".tex" mimeType="application/x-tex" /> + <mimeMap fileExtension=".texi" mimeType="application/x-texinfo" /> + <mimeMap fileExtension=".texinfo" mimeType="application/x-texinfo" /> + <mimeMap fileExtension=".tgz" mimeType="application/x-compressed" /> + <mimeMap fileExtension=".thmx" mimeType="application/vnd.ms-officetheme" /> + <mimeMap fileExtension=".thn" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".tif" mimeType="image/tiff" /> + <mimeMap fileExtension=".tiff" mimeType="image/tiff" /> + <mimeMap fileExtension=".toc" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".tr" mimeType="application/x-troff" /> + <mimeMap fileExtension=".trm" mimeType="application/x-msterminal" /> + <mimeMap fileExtension=".ts" mimeType="video/vnd.dlna.mpeg-tts" /> + <mimeMap fileExtension=".tsv" mimeType="text/tab-separated-values" /> + <mimeMap fileExtension=".ttf" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".tts" mimeType="video/vnd.dlna.mpeg-tts" /> + <mimeMap fileExtension=".txt" mimeType="text/plain" /> + <mimeMap fileExtension=".u32" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".uls" mimeType="text/iuls" /> + <mimeMap fileExtension=".ustar" mimeType="application/x-ustar" /> + <mimeMap fileExtension=".vbs" mimeType="text/vbscript" /> + <mimeMap fileExtension=".vcf" mimeType="text/x-vcard" /> + <mimeMap fileExtension=".vcs" mimeType="text/plain" /> + <mimeMap fileExtension=".vdx" mimeType="application/vnd.ms-visio.viewer" /> + <mimeMap fileExtension=".vml" mimeType="text/xml" /> + <mimeMap fileExtension=".vsd" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vss" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vst" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vsto" mimeType="application/x-ms-vsto" /> + <mimeMap fileExtension=".vsw" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vsx" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".vtx" mimeType="application/vnd.visio" /> + <mimeMap fileExtension=".wav" mimeType="audio/wav" /> + <mimeMap fileExtension=".wax" mimeType="audio/x-ms-wax" /> + <mimeMap fileExtension=".wbmp" mimeType="image/vnd.wap.wbmp" /> + <mimeMap fileExtension=".wcm" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".wdb" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".webm" mimeType="video/webm" /> + <mimeMap fileExtension=".wks" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".wm" mimeType="video/x-ms-wm" /> + <mimeMap fileExtension=".wma" mimeType="audio/x-ms-wma" /> + <mimeMap fileExtension=".wmd" mimeType="application/x-ms-wmd" /> + <mimeMap fileExtension=".wmf" mimeType="application/x-msmetafile" /> + <mimeMap fileExtension=".wml" mimeType="text/vnd.wap.wml" /> + <mimeMap fileExtension=".wmlc" mimeType="application/vnd.wap.wmlc" /> + <mimeMap fileExtension=".wmls" mimeType="text/vnd.wap.wmlscript" /> + <mimeMap fileExtension=".wmlsc" mimeType="application/vnd.wap.wmlscriptc" /> + <mimeMap fileExtension=".wmp" mimeType="video/x-ms-wmp" /> + <mimeMap fileExtension=".wmv" mimeType="video/x-ms-wmv" /> + <mimeMap fileExtension=".wmx" mimeType="video/x-ms-wmx" /> + <mimeMap fileExtension=".wmz" mimeType="application/x-ms-wmz" /> + <mimeMap fileExtension=".woff" mimeType="font/x-woff" /> + <mimeMap fileExtension=".woff2" mimeType="application/font-woff2" /> + <mimeMap fileExtension=".wps" mimeType="application/vnd.ms-works" /> + <mimeMap fileExtension=".wri" mimeType="application/x-mswrite" /> + <mimeMap fileExtension=".wrl" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".wrz" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".wsdl" mimeType="text/xml" /> + <mimeMap fileExtension=".wtv" mimeType="video/x-ms-wtv" /> + <mimeMap fileExtension=".wvx" mimeType="video/x-ms-wvx" /> + <mimeMap fileExtension=".x" mimeType="application/directx" /> + <mimeMap fileExtension=".xaf" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".xaml" mimeType="application/xaml+xml" /> + <mimeMap fileExtension=".xap" mimeType="application/x-silverlight-app" /> + <mimeMap fileExtension=".xbap" mimeType="application/x-ms-xbap" /> + <mimeMap fileExtension=".xbm" mimeType="image/x-xbitmap" /> + <mimeMap fileExtension=".xdr" mimeType="text/plain" /> + <mimeMap fileExtension=".xht" mimeType="application/xhtml+xml" /> + <mimeMap fileExtension=".xhtml" mimeType="application/xhtml+xml" /> + <mimeMap fileExtension=".xla" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xlam" mimeType="application/vnd.ms-excel.addin.macroEnabled.12" /> + <mimeMap fileExtension=".xlc" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xlm" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xls" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xlsb" mimeType="application/vnd.ms-excel.sheet.binary.macroEnabled.12" /> + <mimeMap fileExtension=".xlsm" mimeType="application/vnd.ms-excel.sheet.macroEnabled.12" /> + <mimeMap fileExtension=".xlsx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" /> + <mimeMap fileExtension=".xlt" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xltm" mimeType="application/vnd.ms-excel.template.macroEnabled.12" /> + <mimeMap fileExtension=".xltx" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.template" /> + <mimeMap fileExtension=".xlw" mimeType="application/vnd.ms-excel" /> + <mimeMap fileExtension=".xml" mimeType="text/xml" /> + <mimeMap fileExtension=".xof" mimeType="x-world/x-vrml" /> + <mimeMap fileExtension=".xpm" mimeType="image/x-xpixmap" /> + <mimeMap fileExtension=".xps" mimeType="application/vnd.ms-xpsdocument" /> + <mimeMap fileExtension=".xsd" mimeType="text/xml" /> + <mimeMap fileExtension=".xsf" mimeType="text/xml" /> + <mimeMap fileExtension=".xsl" mimeType="text/xml" /> + <mimeMap fileExtension=".xslt" mimeType="text/xml" /> + <mimeMap fileExtension=".xsn" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".xtp" mimeType="application/octet-stream" /> + <mimeMap fileExtension=".xwd" mimeType="image/x-xwindowdump" /> + <mimeMap fileExtension=".z" mimeType="application/x-compress" /> + <mimeMap fileExtension=".zip" mimeType="application/x-zip-compressed" /> + </staticContent> + + <tracing> + + <traceProviderDefinitions> + <add name="WWW Server" guid="{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"> + <areas> + <clear /> + <add name="Authentication" value="2" /> + <add name="Security" value="4" /> + <add name="Filter" value="8" /> + <add name="StaticFile" value="16" /> + <add name="CGI" value="32" /> + <add name="Compression" value="64" /> + <add name="Cache" value="128" /> + <add name="RequestNotifications" value="256" /> + <add name="Module" value="512" /> + <add name="Rewrite" value="1024" /> + <add name="FastCGI" value="4096" /> + <add name="WebSocket" value="16384" /> + </areas> + </add> + <add name="ASP" guid="{06b94d9a-b15e-456e-a4ef-37c984a2cb4b}"> + <areas> + <clear /> + </areas> + </add> + <add name="ISAPI Extension" guid="{a1c2040e-8840-4c31-ba11-9871031a19ea}"> + <areas> + <clear /> + </areas> + </add> + <add name="ASPNET" guid="{AFF081FE-0247-4275-9C4E-021F3DC1DA35}"> + <areas> + <add name="Infrastructure" value="1" /> + <add name="Module" value="2" /> + <add name="Page" value="4" /> + <add name="AppServices" value="8" /> + </areas> + </add> + </traceProviderDefinitions> + + <traceFailedRequests> + <add path="*"> + <traceAreas> + <add provider="ASP" verbosity="Verbose" /> + <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> + <add provider="ISAPI Extension" verbosity="Verbose" /> + <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression,Cache,RequestNotifications,Module,Rewrite,WebSocket" verbosity="Verbose" /> + </traceAreas> + <failureDefinitions statusCodes="200-999" /> + </add> + </traceFailedRequests> + + </tracing> + + <urlCompression /> + + <validation /> + <webdav> + <globalSettings> + <propertyStores> + <add name="webdav_simple_prop" image="%IIS_BIN%\webdav_simple_prop.dll" image32="%IIS_BIN%\webdav_simple_prop.dll" /> + </propertyStores> + <lockStores> + <add name="webdav_simple_lock" image="%IIS_BIN%\webdav_simple_lock.dll" image32="%IIS_BIN%\webdav_simple_lock.dll" /> + </lockStores> + + </globalSettings> + <authoring> + <locks enabled="true" lockStore="webdav_simple_lock" /> + </authoring> + <authoringRules /> + </webdav> + <webSocket /> + <applicationInitialization /> + + </system.webServer> + <location path="" overrideMode="Allow"> + <system.webServer> + <modules> + <add name="IsapiFilterModule" lockItem="true" /> + <add name="BasicAuthenticationModule" lockItem="true" /> + <add name="IsapiModule" lockItem="true" /> + <add name="HttpLoggingModule" lockItem="true" /> + <!-- + <add name="HttpCacheModule" lockItem="true" /> +--> + <add name="DynamicCompressionModule" lockItem="true" /> + <add name="StaticCompressionModule" lockItem="true" /> + <add name="DefaultDocumentModule" lockItem="true" /> + <add name="DirectoryListingModule" lockItem="true" /> + + <add name="ProtocolSupportModule" lockItem="true" /> + <add name="HttpRedirectionModule" lockItem="true" /> + <add name="ServerSideIncludeModule" lockItem="true" /> + <add name="StaticFileModule" lockItem="true" /> + <add name="AnonymousAuthenticationModule" lockItem="true" /> + <add name="CertificateMappingAuthenticationModule" lockItem="true" /> + <add name="UrlAuthorizationModule" lockItem="true" /> + <add name="WindowsAuthenticationModule" lockItem="true" /> + <!-- + <add name="DigestAuthenticationModule" lockItem="true" /> +--> + <add name="IISCertificateMappingAuthenticationModule" lockItem="true" /> + <add name="WebMatrixSupportModule" lockItem="true" /> + <add name="IpRestrictionModule" lockItem="true" /> + <add name="DynamicIpRestrictionModule" lockItem="true" /> + <add name="RequestFilteringModule" lockItem="true" /> + <add name="CustomLoggingModule" lockItem="true" /> + <add name="CustomErrorModule" lockItem="true" /> + <add name="FailedRequestsTracingModule" lockItem="true" /> + <add name="CgiModule" lockItem="true" /> + <add name="FastCgiModule" lockItem="true" /> + <!-- <add name="WebDAVModule" /> --> + <add name="RewriteModule" /> + <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" preCondition="managedHandler" /> + <add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition="managedHandler" /> + <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" preCondition="managedHandler" /> + <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" preCondition="managedHandler" /> + <add name="DefaultAuthentication" type="System.Web.Security.DefaultAuthenticationModule" preCondition="managedHandler" /> + <add name="RoleManager" type="System.Web.Security.RoleManagerModule" preCondition="managedHandler" /> + <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" preCondition="managedHandler" /> + <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" preCondition="managedHandler" /> + <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" preCondition="managedHandler" /> + <add name="Profile" type="System.Web.Profile.ProfileModule" preCondition="managedHandler" /> + <add name="UrlMappingsModule" type="System.Web.UrlMappingsModule" preCondition="managedHandler" /> + <add name="ConfigurationValidationModule" lockItem="true" /> + <add name="WebSocketModule" lockItem="true" /> + <add name="ServiceModel-4.0" type="System.ServiceModel.Activation.ServiceHttpModule,System.ServiceModel.Activation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> + <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="managedHandler,runtimeVersionv4.0" /> + <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="managedHandler,runtimeVersionv4.0" /> + <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="managedHandler,runtimeVersionv2.0" /> + <add name="ApplicationInitializationModule" lockItem="true" /> + </modules> + <handlers accessPolicy="Read, Script"> + <!-- <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" /> --> + <add name="AXD-ISAPI-4.0_64bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-4.0_64bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-4.0_64bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_64bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_64bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="svc-ISAPI-4.0_64bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="rules-ISAPI-4.0_64bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="xoml-ISAPI-4.0_64bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="xamlx-ISAPI-4.0_64bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> + <add name="aspq-ISAPI-4.0_64bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="cshtm-ISAPI-4.0_64bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="cshtml-ISAPI-4.0_64bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="vbhtm-ISAPI-4.0_64bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="vbhtml-ISAPI-4.0_64bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="svc-Integrated" path="*.svc" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="svc-ISAPI-2.0" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> + <add name="xoml-Integrated" path="*.xoml" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="xoml-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> + <add name="rules-Integrated" path="*.rules" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="rules-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> + <add name="AXD-ISAPI-4.0_32bit" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-4.0_32bit" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-4.0_32bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-4.0_32bit" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-4.0_32bit" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-4.0_32bit" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="svc-ISAPI-4.0_32bit" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="rules-ISAPI-4.0_32bit" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="xoml-ISAPI-4.0_32bit" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="xamlx-ISAPI-4.0_32bit" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" /> + <add name="aspq-ISAPI-4.0_32bit" path="*.aspq" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="cshtm-ISAPI-4.0_32bit" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="cshtml-ISAPI-4.0_32bit" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="vbhtm-ISAPI-4.0_32bit" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="vbhtml-ISAPI-4.0_32bit" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="TraceHandler-Integrated-4.0" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="WebAdminHandler-Integrated-4.0" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="AssemblyResourceLoader-Integrated-4.0" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="PageHandlerFactory-Integrated-4.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="SimpleHandlerFactory-Integrated-4.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="WebServiceHandlerFactory-Integrated-4.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="HttpRemotingHandlerFactory-rem-Integrated-4.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="HttpRemotingHandlerFactory-soap-Integrated-4.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory, System.Runtime.Remoting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="svc-Integrated-4.0" path="*.svc" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="rules-Integrated-4.0" path="*.rules" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="xoml-Integrated-4.0" path="*.xoml" verb="*" type="System.ServiceModel.Activation.ServiceHttpHandlerFactory, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="xamlx-Integrated-4.0" path="*.xamlx" verb="GET,HEAD,POST,DEBUG" type="System.Xaml.Hosting.XamlHttpHandlerFactory, System.Xaml.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="aspq-Integrated-4.0" path="*.aspq" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="cshtm-Integrated-4.0" path="*.cshtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="cshtml-Integrated-4.0" path="*.cshtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="vbhtm-Integrated-4.0" path="*.vbhtm" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="vbhtml-Integrated-4.0" path="*.vbhtml" verb="GET,HEAD,POST,DEBUG" type="System.Web.HttpForbiddenHandler" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="ScriptHandlerFactoryAppServices-Integrated-4.0" path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="ScriptResourceIntegrated-4.0" path="*ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" preCondition="integratedMode,runtimeVersionv4.0" /> + <add name="ASPClassic" path="*.asp" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> + <add name="SecurityCertificate" path="*.cer" verb="GET,HEAD,POST" modules="IsapiModule" scriptProcessor="%IIS_BIN%\asp.dll" resourceType="File" /> + <add name="ISAPI-dll" path="*.dll" verb="*" modules="IsapiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> + <add name="TraceHandler-Integrated" path="trace.axd" verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TraceHandler" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="WebAdminHandler-Integrated" path="WebAdmin.axd" verb="GET,DEBUG" type="System.Web.Handlers.WebAdminHandler" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="AssemblyResourceLoader-Integrated" path="WebResource.axd" verb="GET,DEBUG" type="System.Web.Handlers.AssemblyResourceLoader" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="PageHandlerFactory-Integrated" path="*.aspx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="SimpleHandlerFactory-Integrated" path="*.ashx" verb="GET,HEAD,POST,DEBUG" type="System.Web.UI.SimpleHandlerFactory" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="WebServiceHandlerFactory-Integrated" path="*.asmx" verb="GET,HEAD,POST,DEBUG" type="System.Web.Services.Protocols.WebServiceHandlerFactory,System.Web.Services,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="HttpRemotingHandlerFactory-rem-Integrated" path="*.rem" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="HttpRemotingHandlerFactory-soap-Integrated" path="*.soap" verb="GET,HEAD,POST,DEBUG" type="System.Runtime.Remoting.Channels.Http.HttpRemotingHandlerFactory,System.Runtime.Remoting,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" preCondition="integratedMode,runtimeVersionv2.0" /> + <add name="AXD-ISAPI-2.0" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-2.0" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-2.0" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-2.0" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness32" responseBufferLimit="0" /> + <add name="svc-ISAPI-2.0-64" path="*.svc" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> + <add name="AXD-ISAPI-2.0-64" path="*.axd" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="PageHandlerFactory-ISAPI-2.0-64" path="*.aspx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="SimpleHandlerFactory-ISAPI-2.0-64" path="*.ashx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="WebServiceHandlerFactory-ISAPI-2.0-64" path="*.asmx" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-rem-ISAPI-2.0-64" path="*.rem" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="HttpRemotingHandlerFactory-soap-ISAPI-2.0-64" path="*.soap" verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" responseBufferLimit="0" /> + <add name="rules-64-ISAPI-2.0" path="*.rules" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> + <add name="xoml-64-ISAPI-2.0" path="*.xoml" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" /> + <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" /> + <add name="SSINC-stm" path="*.stm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> + <add name="SSINC-shtm" path="*.shtm" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> + <add name="SSINC-shtml" path="*.shtml" verb="GET,HEAD,POST" modules="ServerSideIncludeModule" resourceType="File" /> + <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" /> + <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" /> + <add name="ExtensionlessUrl-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" /> + <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" /> + <add name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" responseBufferLimit="0" /> + <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" /> + </handlers> + </system.webServer> + </location> +</configuration> diff --git a/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb b/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb index 0f8dd00f20..583555ce6d 100644 --- a/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb +++ b/VECTO/BusAuxiliaries/UI/frmAuxiliaryConfig.vb @@ -333,10 +333,10 @@ Public Class frmAuxiliaryConfig ErrorProvider.SetError(txtActuationsMap, String.Empty) End If 'Test File is valid - Dim actuations As IPneumaticActuationsMAP + Dim actuations As IActuationsMap Try - actuations = PneumaticActuationsMapReader.Read(FilePathUtils.ResolveFilePath(aauxPath, txtActuationsMap.Text)) + actuations = ActuationsMapReader.Read(FilePathUtils.ResolveFilePath(aauxPath, txtActuationsMap.Text)) 'actuations.Initialise() ErrorProvider.SetError(txtActuationsMap, String.Empty) Catch ex As Exception @@ -480,14 +480,14 @@ Public Class frmAuxiliaryConfig Dim message As String = "" 'Validate abdb - Bus Database - Dim abdbFile As String = FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text) - Dim bdb As New BusDatabase() - If bdb.Initialise(abdbFile) Then - ErrorProvider.SetError(txtBusDatabaseFilePath, String.Empty) - Else - result = False - ErrorProvider.SetError(Me.txtBusDatabaseFilePath, "Please choose a valid Steady State Model File (*.ABDB") - End If + 'Dim abdbFile As String = FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text) + 'Dim bdb As New BusDatabase() + 'If bdb.Initialise(abdbFile) Then + ' ErrorProvider.SetError(txtBusDatabaseFilePath, String.Empty) + 'Else + ' result = False + ' ErrorProvider.SetError(Me.txtBusDatabaseFilePath, "Please choose a valid Steady State Model File (*.ABDB") + 'End If 'Try ahsm - HVac Steady State Model @@ -905,7 +905,7 @@ Public Class frmAuxiliaryConfig If fileExists OrElse newFile Then - Using frm As New frmCombinedAlternators(absoluteAALTPath, New CombinedAlternatorSignals) + Using frm As New frmCombinedAlternators(absoluteAALTPath) 'If Dialog result is OK, then take action else bail If frm.ShowDialog() = Windows.Forms.DialogResult.OK Then If suppliedAALTPath.Contains(":\") AndAlso Not String.IsNullOrEmpty(aauxPath) Then @@ -990,13 +990,13 @@ Public Class frmAuxiliaryConfig txtBusDatabaseFilePath.Focus() txtBusDatabaseFilePath.Text = GetRelativePath(fbAux.Files(0), Path.GetDirectoryName(auxFile)) - Dim busDB As New BusDatabase() + 'Dim busDB As New BusDatabase() - If Not busDB.Initialise(FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)) Then + 'If Not busDB.Initialise(FilePathUtils.ResolveFilePath(aauxPath, txtBusDatabaseFilePath.Text)) Then - MessageBox.Show("Unable to load") + ' MessageBox.Show("Unable to load") - End If + 'End If Validate_HVAC() End If @@ -1077,7 +1077,7 @@ Public Class frmAuxiliaryConfig Return End If End Using - BindingContext(auxConfig.HvacUserInputsConfig).EndCurrentEdit() + 'BindingContext(auxConfig.HvacUserInputsConfig).EndCurrentEdit() Validate_HVAC() End If @@ -1441,10 +1441,10 @@ Public Class frmAuxiliaryConfig cboAdBlueDosing.DataBindings.Add("Text", auxConfig.PneumaticUserInputsConfig, "AdBlueDosing") cboDoors.DataBindings.Add("Text", auxConfig.PneumaticUserInputsConfig, "Doors") - txtSSMFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "SSMFilePath") - txtBusDatabaseFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "BusDatabasePath") - chkDisableHVAC.DataBindings.Add("Checked", auxConfig.HvacUserInputsConfig, "SSMDisabled", False, - DataSourceUpdateMode.OnPropertyChanged) + 'txtSSMFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "SSMFilePath") + 'txtBusDatabaseFilePath.DataBindings.Add("Text", auxConfig.HvacUserInputsConfig, "BusDatabasePath") + 'chkDisableHVAC.DataBindings.Add("Checked", auxConfig.HvacUserInputsConfig, "SSMDisabled", False, + 'DataSourceUpdateMode.OnPropertyChanged) SetSmartCardEmabledStatus() End Sub diff --git a/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb b/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb index fe0e249ac7..b2a73eb21f 100644 --- a/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb +++ b/VECTO/BusAuxiliaries/UI/frmCombinedAlternators.vb @@ -15,14 +15,14 @@ Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Elec Public Class frmCombinedAlternators Private combinedAlt As CombinedAlternator Private originalAlt As CombinedAlternator - Private altSignals As ICombinedAlternatorSignals + Protected gbColor As System.Drawing.Color = Color.LightGreen Private UserHitCancel As Boolean = False Private UserHitSave As Boolean = False Private aaltPath As String = "" 'Constructor(s) - Public Sub New(aaltPath As String, altSignals As ICombinedAlternatorSignals) + Public Sub New(aaltPath As String) ' This call is required by the designer. InitializeComponent() diff --git a/VECTO/BusAuxiliaries/UI/frmHVACTool.vb b/VECTO/BusAuxiliaries/UI/frmHVACTool.vb index 22ba9b342e..1f4dd3b53a 100644 --- a/VECTO/BusAuxiliaries/UI/frmHVACTool.vb +++ b/VECTO/BusAuxiliaries/UI/frmHVACTool.vb @@ -19,19 +19,19 @@ Public Class frmHVACTool Private captureDiagnostics As Boolean Private busDatabasePath As String Private ahsmFilePath As String - Private buses As IBusDatabase + 'Private buses As IBusDatabase Private ssmTOOL As SSMTOOL Private originalssmTOOL As SSMTOOL Private TabColors As Dictionary(Of TabPage, Color) = New Dictionary(Of TabPage, Color)() - Private editTechLine As ITechListBenefitLine = New TechListBenefitLine() - Private gvTechListBinding As BindingList(Of ITechListBenefitLine) + Private editTechLine As ISSMTechnology = New SSMTechnology() + Private gvTechListBinding As BindingList(Of ISSMTechnology) Private DefaultCategories As String() = {"Cooling", "Heating", "Insulation", "Ventiliation"} Private vectoFile As String = String.Empty Private UserHitCancel As Boolean = False Private UserHitSave As Boolean = False Private IsAddingBus As Boolean = False Private IsUpdatingBus As Boolean = False - Private busesList As BindingList(Of IBus) + 'Private busesList As BindingList(Of IBus) 'Helpers Public Sub UpdateButtonText() @@ -58,7 +58,7 @@ Public Class frmHVACTool Dim _ gvTechListBinding As _ - New BindingList(Of ITechListBenefitLine)( + New BindingList(Of ISSMTechnology)( ssmTOOL.TechList.TechLines.OrderBy(Function(o) o.Category).ThenBy(Function(t) t.BenefitName).ToList()) Me.gvTechBenefitLines.DataSource = gvTechListBinding End Sub @@ -1116,9 +1116,9 @@ Public Class frmHVACTool BindGrid() 'find new row - Dim ol As List(Of ITechListBenefitLine) = + Dim ol As List(Of ISSMTechnology) = ssmTOOL.TechList.TechLines.OrderBy(Function(x) x.Category).ThenBy(Function(tb) tb.BenefitName).ToList() - Dim item As ITechListBenefitLine = + Dim item As ISSMTechnology = ol.First( Function(x) _ x.Category = GetTechLineFromPanel().Category AndAlso x.BenefitName = GetTechLineFromPanel().BenefitName) @@ -1188,14 +1188,14 @@ Public Class frmHVACTool ElseIf "Add".Equals(btnNewBus.Tag) Then If Validate_GeneralInputsBPEdit() Then - Dim newBus As IBus = New Bus(busesList.Count + 1, txtEditBusModel.Text, cmbEditFloorType.Text, - cmbEditEngineType.Text, Double.Parse(txtEditBusLength.Text, CultureInfo.InvariantCulture), - Double.Parse(txtEditBusWidth.Text, CultureInfo.InvariantCulture), - Double.Parse(txtEditBusHeight.Text, CultureInfo.InvariantCulture), - Convert.ToInt32(txtEditBusPassengers.Text), chkEditIsDoubleDecker.Checked) + 'Dim newBus As IBus = New Bus(busesList.Count + 1, txtEditBusModel.Text, cmbEditFloorType.Text, + ' cmbEditEngineType.Text, Double.Parse(txtEditBusLength.Text, CultureInfo.InvariantCulture), + ' Double.Parse(txtEditBusWidth.Text, CultureInfo.InvariantCulture), + ' Double.Parse(txtEditBusHeight.Text, CultureInfo.InvariantCulture), + ' Convert.ToInt32(txtEditBusPassengers.Text), chkEditIsDoubleDecker.Checked) - buses.AddBus(newBus) - busesList.Add(newBus) + 'buses.AddBus(newBus) + 'busesList.Add(newBus) 'cboBuses.Enabled = True btnUpdateBusDatabase.Enabled = True @@ -1218,11 +1218,11 @@ Public Class frmHVACTool Private Sub btnUpdateBusDatabase_Click(sender As Object, e As EventArgs) Handles btnUpdateBusDatabase.Click - If buses.Save(busDatabasePath) Then - MessageBox.Show("Buses database file saved successfully") - Else + 'If buses.Save(busDatabasePath) Then + ' MessageBox.Show("Buses database file saved successfully") + 'Else MessageBox.Show("Failed to save buses database file") - End If + 'End If End Sub 'Private Sub btnEditBus_Click(sender As Object, e As EventArgs) Handles btnEditBus.Click @@ -1330,7 +1330,7 @@ Public Class frmHVACTool 'TechList Helpers Private Sub FillTechLineEditPanel(index As Integer) - Dim techline As ITechListBenefitLine + Dim techline As ISSMTechnology Dim benefitName, category As Object benefitName = gvTechBenefitLines.Rows(index).Cells("BenefitName").Value category = gvTechBenefitLines.Rows(index).Cells("Category").Value @@ -1357,9 +1357,9 @@ Public Class frmHVACTool chkOnVehicle.Checked = techline.OnVehicle End Sub - Private Function GetTechLineFromPanel() As ITechListBenefitLine + Private Function GetTechLineFromPanel() As ISSMTechnology - Dim tl As ITechListBenefitLine = New TechListBenefitLine() + Dim tl As ISSMTechnology = New SSMTechnology() tl.BusFloorType = ssmTOOL.SSMInputs.BusParameters.BusFloorType tl.Category = StrConv(cboCategory.Text, vbProperCase) diff --git a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb index 1e3c01ee66..fce6fc5f8a 100644 --- a/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb +++ b/VECTOAux/VectoAuxiliariesTests/IntegrationTests/AuxDemandTest.vb @@ -6,6 +6,7 @@ Imports TUGraz.VectoCore.InputData.Reader.ComponentData Imports TUGraz.VectoCore.Models.BusAuxiliaries Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces Imports TUGraz.VectoCore.Models.BusAuxiliaries.Legacy +Imports TUGraz.VectoCore.Models.Declaration Namespace IntegrationTests <TestFixture> @@ -31,10 +32,7 @@ Namespace IntegrationTests 'aux.VectoInputs.Cycle = "Coach" 'aux.VectoInputs.VehicleWeightKG = vehicleWeight.SI(Of Kilogram)() 'aux.VectoInputs.FuelDensity = 832.SI(Of KilogramPerCubicMeter)() - Dim fuelMap As cMAP = New cMAP() - fuelMap.FilePath = engineFCMapFilePath - fuelMap.ReadFile(False) - fuelMap.Triangulate() + Dim fuelMap = FuelConsumptionMapReader.ReadFromFile(engineFCMapFilePath) 'aux.VectoInputs.FuelMap = fuelMap @@ -44,7 +42,7 @@ Namespace IntegrationTests dim auxConfig = BusAuxiliaryInputData.ReadBusAuxiliaries(auxFilePath, Utils.GetDefaultVehicleData(vehicleWeight.SI(Of Kilogram))) CType(auxConfig, AuxiliaryConfig).Cycle = "Coach" - aux.Initialise(auxConfig) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\") + aux.Initialise(auxConfig, FuelData.Diesel) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\") aux.Signals.ClutchEngaged = True aux.Signals.EngineDrivelinePower = (driveLinePower * 1000).SI(Of Watt)() 'kW @@ -79,10 +77,7 @@ Namespace IntegrationTests 'aux.VectoInputs.Cycle = "Coach" 'aux.VectoInputs.VehicleWeightKG = 12000.SI(Of Kilogram)() 'aux.VectoInputs.FuelDensity = 832.SI(Of KilogramPerCubicMeter)() - Dim fuelMap As cMAP = New cMAP() - fuelMap.FilePath = engineFCMapFilePath - fuelMap.ReadFile(False) - fuelMap.Triangulate() + Dim fuelMap = FuelConsumptionMapReader.ReadFromFile(engineFCMapFilePath) 'aux.VectoInputs.FuelMap = fuelMap @@ -94,7 +89,7 @@ Namespace IntegrationTests CType(auxCfg, AuxiliaryConfig).Cycle = "Coach" CType(auxCfg, AuxiliaryConfig).FuelMap = fuelMap - CType(aux, AdvancedAuxiliaries).Initialise(auxCfg) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\") + CType(aux, AdvancedAuxiliaries).Initialise(auxCfg, FuelData.Diesel) ', Path.GetDirectoryName(Path.GetFullPath(auxFilePath)) + "\") aux.Signals.ClutchEngaged = True aux.Signals.EngineDrivelinePower = (driveLinePower * 1000).SI(Of Watt)() 'kW diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb index 30267af061..5657bb3950 100644 --- a/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb +++ b/VECTOAux/VectoAuxiliariesTests/Mocks/MockFuel50PC.vb @@ -1,10 +1,13 @@  Imports TUGraz.VectoCommon.BusAuxiliaries Imports TUGraz.VectoCommon.Utils +Imports TUGraz.VectoCore.Models.Declaration Public Class MockFuel50PC Implements IFuelConsumptionMap + + Public Function fFCdelaunay_Intp(nU As Double, Tq As Double) As Double Return (nU + Tq) * 0.5 @@ -15,5 +18,7 @@ Public Class MockFuel50PC Implements IFuelConsumptionMap.GetFuelConsumption Return (fFCdelaunay_Intp(angularVelocity.AsRPM, torque.Value()) / 3600 / 1000).SI(Of KilogramPerSecond)() End Function + + End Class diff --git a/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm b/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm index 11858cb29f..6b62be0187 100644 --- a/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm +++ b/VECTOAux/VectoAuxiliariesTests/TestFiles/ssm.Ahsm @@ -34,7 +34,7 @@ "EC_EnviromentalConditions_BatchFile": "", "EC_EnviromentalConditions_BatchEnabled": false, "AC_InCabinRoomAC_System": true, - "AC_CompressorType": "mechanical", + "AC_CompressorType": "2-stage", "AC_CompressorCapacitykW": 18.0, "VEN_VentilationOnDuringHeating": true, "VEN_VentilationWhenBothHeatingAndACInactive": true, diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb index 0570ca99f4..dcd80c932a 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/AveragePneumaticLoadDemandTests.vb @@ -16,7 +16,7 @@ Namespace UnitTests Public Class M3_AveragePneumaticLoadDemandTests Private _pneumaticUserInputsConfig As IPneumaticUserInputsConfig Private _pneumaticAuxillariesConfig As IPneumaticsAuxilliariesConfig - Private _pneumaticsActuationsMap As IPneumaticActuationsMAP + Private _actuationsMap As IActuationsMap Private _pneumaticsCompressorFlowRateMap As ICompressorMap Private _vehicleMassKG As Single = 16500 Private _cycleName As String = "Urban" @@ -70,7 +70,7 @@ Namespace UnitTests Dim psAuxConfig = DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -93,7 +93,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -120,7 +120,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap =CompressorMapReader.ReadFile(_compressorMapPath) @@ -151,7 +151,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -176,7 +176,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -208,7 +208,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -238,7 +238,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -268,7 +268,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -295,7 +295,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -324,7 +324,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) @@ -354,7 +354,7 @@ Namespace UnitTests Dim psAuxConfig = CType(DeclarationData.BusAuxiliaries.DefaultPneumaticAuxConfig, PneumaticsAuxilliariesConfig) - Dim psActuationsMap = PneumaticActuationsMapReader.Read(_actuationsMapPath) + Dim psActuationsMap = ActuationsMapReader.Read(_actuationsMapPath) Dim psCompressorMap = CompressorMapReader.ReadFile(_compressorMapPath) Dim auxConfig As IAuxiliaryConfig = GetAuxConfig(psAuxConfig) @@ -378,7 +378,6 @@ Namespace UnitTests Return New AuxiliaryConfig() with { .PneumaticAuxillariesConfig = psAuxConfig, .PneumaticUserInputsConfig = _defaultInputConfig, - .HvacUserInputsConfig = New HVACUserInputsConfig(), .VehicleData = New VehicleData() with { .CurbWeight = _vehicleMassKG.SI(of Kilogram) }, diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb deleted file mode 100644 index 3be2fcbc47..0000000000 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/BusDatabaseTests.vb +++ /dev/null @@ -1,228 +0,0 @@ - -Imports NUnit.Framework -Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC - - -Namespace UnitTests - -<TestFixture()> -Public Class BusDatabaseTests - - -Private Const GOODMAP = "TestFiles\testBusDatabase.csv" -Private Const DUPLICATES = "TestFiles\testBusDatabaseDuplicates.csv" -Private Const INSUFFICIENTROWSMAP = "TestFiles\testBusDatabaseInsufficientRows.csv" -Private Const INVALIDLENGTHMAP = "TestFiles\testBusDatabaseInvalidLenght.csv" -Private Const INVALIDWIDTHMAP = "TestFiles\testBusDatabaseInvalidWidth.csv" -Private Const INVALIDHEIGHTMAP = "TestFiles\testBusDatabaseInvalidHeight.csv" -Private Const INVALIDPASSEMGERSMAP = "TestFiles\testBusDatabaseInvalidPassengers.csv" - - -<Test()> -Public Sub BusCreateTest() - - Dim target As IBus = New Bus(1, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 2.55, 2.275, 47, False) - - - Assert.IsNotNull(target) - - Assert.AreEqual("IVECO - Arway Intercity 10.6m", target.Model) - Assert.AreEqual("raised floor", target.FloorType) - Assert.AreEqual("diesel", target.EngineType) - - End Sub - - <Test()> - Public Sub IllegalFloorTypeTest() - - Dim target As IBus - Assert.That(Sub() target = New Bus(2, "", "raised floor", "diesel", 10.655, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException)) - End Sub - - <Test()> - Public Sub IllegalModelTest() - - Dim target As IBus - Assert.That(Sub() target = New Bus(3, "ABC", "raised", "diesel", 10.655, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException)) - End Sub - - <Test()> - Public Sub IllegalEngineTypeTest() - - Dim target As IBus - Assert.That(Sub() target = New Bus(4, "ABC", "raised floor", "vapour", 10.655, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException)) - End Sub - - <Test()> - Public Sub IllegalWidthTest() - - Dim target As IBus - Assert.That(Sub() target = New Bus(5, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 0, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException)) - End Sub - - <Test()> - Public Sub IllegalHeightTest() - - Dim target As IBus - Assert.That(Sub() target = New Bus(6, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 2.55, 0, 47, False), Throws.InstanceOf(Of ArgumentException)) - End Sub - - <Test()> - Public Sub IllegalLengthTest() - - Dim target As IBus - Assert.That(Sub() target = New Bus(7, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 0, 2.55, 2.275, 47, False), Throws.InstanceOf(Of ArgumentException)) - End Sub - - <Test()> - Public Sub IllegalPassengersTest() - - Dim target As IBus - Assert.That(Sub() target = New Bus(8, "IVECO - Arway Intercity 10.6m", "raised floor", "diesel", 10.655, 2.55, 2.275, 1, False), Throws.InstanceOf(Of ArgumentException)) - End Sub - - <Test()> - Public Sub InitialiseFromCSVGoodDataTest() - - Dim target As IBusDatabase = New BusDatabase() - - Dim result As Boolean = target.Initialise(GOODMAP) - - Assert.IsTrue(result) - - End Sub - - <Test()> - Public Sub InitialiseFromCSVNotEnoughRowsTest() - - - Dim target As IBusDatabase = New BusDatabase() - - Dim result As Boolean = target.Initialise(INSUFFICIENTROWSMAP) - - Assert.IsFalse(result) - - - End Sub - - <Test()> - Public Sub InitialiseFromCSVInvalidLengthTest() - - Dim target As IBusDatabase = New BusDatabase() - - Dim result As Boolean = target.Initialise(INVALIDLENGTHMAP) - - Assert.IsFalse(result) - - End Sub - - <Test()> - Public Sub InitialiseFromCSVInvalidWidthTest() - - Dim target As IBusDatabase = New BusDatabase() - - Dim result As Boolean = target.Initialise(INVALIDWIDTHMAP) - - Assert.IsFalse(result) - - End Sub - - <Test()> - Public Sub InitialiseFromCSVInvalidHeightTest() - - Dim target As IBusDatabase = New BusDatabase() - - Dim result As Boolean = target.Initialise(INVALIDHEIGHTMAP) - - Assert.IsFalse(result) - - End Sub - - <Test()> - Public Sub InitialiseFromCSVInvalidPassengersTest() - - Dim target As IBusDatabase = New BusDatabase() - - Dim result As Boolean = target.Initialise(INVALIDPASSEMGERSMAP) - - Assert.IsFalse(result) - - End Sub - - <Test()> - Public Sub InitialiseFromCSVDuplicatesTest() - - Dim target As IBusDatabase = New BusDatabase() - - Dim result As Boolean = target.Initialise(DUPLICATES) - - Assert.IsFalse(result) - - End Sub - - <Test()> - Public Sub FindBusTest() - - Dim target As IBusDatabase = New BusDatabase() - Dim result As Boolean = target.Initialise(GOODMAP) - Assert.IsTrue(result) - - Dim busList = target.GetBuses("IVECO - Crossway Intercity 10.6m") - - Assert.AreEqual(1, busList.Count()) - - End Sub - - <Test()> - Public Sub FindMultipleBusesTest() - - Dim target As IBusDatabase = New BusDatabase() - Dim result As Boolean = target.Initialise(GOODMAP) - Assert.IsTrue(result) - - Dim busList = target.GetBuses("IVECO") - - Assert.AreEqual(28, busList.Count()) - - End Sub - - <Test()> - Public Sub FindAllBusesTest() - - Dim target As IBusDatabase = New BusDatabase() - Dim result As Boolean = target.Initialise(GOODMAP) - Assert.IsTrue(result) - - Dim busList = target.GetBuses("") - - Assert.AreEqual(158, busList.Count()) - - - End Sub - - <Test()> - Public Sub FindNonExistantBus() - - Dim target As IBusDatabase = New BusDatabase() - Dim result As Boolean = target.Initialise(GOODMAP) - Assert.IsTrue(result) - - Dim busList = target.GetBuses("ZQZQZQ111ZQZQZQ") - - Assert.AreEqual(0, busList.Count()) - - End Sub - - - -End Class - - - - - -End Namespace - - - - diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb index b6d9e6ca99..595db1d73d 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/CombinedAlternatorTests.vb @@ -240,11 +240,9 @@ Namespace UnitTests 'Arrange - Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals - - + 'Act - Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) + Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) @@ -268,12 +266,9 @@ Namespace UnitTests <Test()> Public Sub Alt2TableConstructTest() - - - 'Arrange - + 'Act - Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) + Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) Dim idx As Integer @@ -295,13 +290,9 @@ Namespace UnitTests <Test()> Public Sub Alt3TableConstructTest() - - 'Arrange - Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals - - + 'Act - Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) + Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) Dim idx As Integer @@ -323,12 +314,8 @@ Namespace UnitTests <Test()> Public Sub Alt4TableConstructTest() - 'Arrange - Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals - - - 'Act - Dim alt As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) + 'Act + Dim alt = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) Dim idx As Integer @@ -353,16 +340,10 @@ Namespace UnitTests <Test()> Public Sub InitialiseCombinedAlternatorMapFromFile() - - 'Arrange - Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals - - 'Act - Dim target As CombinedAlternator = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) - - + Dim target = CType(AlternatorReader.ReadMap(COMBINEDALT_GOODMAP), CombinedAlternator) + 'Assert Assert.AreEqual(target.Alternators.Count, 4) @@ -374,9 +355,6 @@ Namespace UnitTests <Test()> Public Sub InitialiseCombinedAlternatorMapFromDefault() - 'Arrange - Dim signals As ICombinedAlternatorSignals = New CombinedAlternatorSignals - 'Act Dim target = CType( AlternatorReader.ReadMap("TestFiles/CombinedAlternatorDefaultsTest.aalt"), CombinedAlternator) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb index 628976e579..a3cc3bd82d 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/ElectricalConsumerTests.vb @@ -24,64 +24,64 @@ Namespace UnitTests Assert.IsNotNull(target) End Sub - ' <Test(), ExpectedException("System.ArgumentException")> + ' <Test(), ExpectedException("System.ArgumentException")> - <Test()> - Public Sub ZeroLengthConsumerNameTest() - Dim target As ElectricalConsumer - Assert.That(Sub() target = New ElectricalConsumer(False, "Doors", "", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) + <Test()> + Public Sub ZeroLengthConsumerNameTest() + Dim target As ElectricalConsumer + Assert.That(Sub() target = New ElectricalConsumer(False, "Doors", "", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) - End Sub + End Sub - <Test()> - Public Sub ZeroLengthCategoryNameTest_ThrowsArgumentException() - Dim target As ElectricalConsumer - Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) - End Sub + <Test()> + Public Sub ZeroLengthCategoryNameTest_ThrowsArgumentException() + Dim target As ElectricalConsumer + Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) + End Sub - 'TooLow NominalConsumption - 'TooHigh NominalConsumption + 'TooLow NominalConsumption + 'TooHigh NominalConsumption - <Test()> - Public Sub ToLow_PhaseIdleTractionOn_ThrowsArgumentException() - Dim target As ElectricalConsumer - Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionOnMin - 1, - 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) + <Test()> + Public Sub ToLow_PhaseIdleTractionOn_ThrowsArgumentException() + Dim target As ElectricalConsumer + Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionOnMin - 1, + 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) - End Sub + End Sub - <Test()> - Public Sub ToHigh_PhaseIdleTractionOn_ThrowsArgumentException() - Dim target As ElectricalConsumer - Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionMax + 1, - 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) - End Sub + <Test()> + Public Sub ToHigh_PhaseIdleTractionOn_ThrowsArgumentException() + Dim target As ElectricalConsumer + Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), ElectricConstants.PhaseIdleTractionMax + 1, + 26.3.SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) + End Sub - <Test()> - Public Sub ToLowNumberInVehicle_ThrowsArgumentException() - Dim target As ElectricalConsumer - Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), -1, ""), Throws.InstanceOf(Of ArgumentException)) - End Sub + <Test()> + Public Sub ToLowNumberInVehicle_ThrowsArgumentException() + Dim target As ElectricalConsumer + Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, 26.3.SI(of Volt), -1, ""), Throws.InstanceOf(Of ArgumentException)) + End Sub - 'TooLow PowerNetVoltage - <Test()> - Public Sub ToLowPowerNetVoltageTest_ThrowsArgumentException() - Dim target As ElectricalConsumer - Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, - (ElectricConstants.PowenetVoltageMin - 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) + 'TooLow PowerNetVoltage + <Test()> + Public Sub ToLowPowerNetVoltageTest_ThrowsArgumentException() + Dim target As ElectricalConsumer + Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, + (ElectricConstants.PowenetVoltageMin - 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) - End Sub + End Sub - 'TooHigh PowerNetVoltage - <Test()> - Public Sub ToHighPowerNetVoltageTest_ThrowsArgumentException() - Dim target As ElectricalConsumer - Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, - (ElectricConstants.PowenetVoltageMax + 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) + 'TooHigh PowerNetVoltage + <Test()> + Public Sub ToHighPowerNetVoltageTest_ThrowsArgumentException() + Dim target As ElectricalConsumer + Assert.That(Sub() target = New ElectricalConsumer(False, "", "Doors per Door", 20.SI(of Ampere), 0.5, + (ElectricConstants.PowenetVoltageMax + 1).SI(of Volt), 1, ""), Throws.InstanceOf(Of ArgumentException)) - End Sub + End Sub End Class End Namespace \ No newline at end of file diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb index 4273710313..308482337b 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M10Tests.vb @@ -2,7 +2,6 @@ Imports NUnit.Framework Imports Moq Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules @@ -29,7 +28,7 @@ Namespace UnitTests m9.Setup(Function(x) x.TotalCycleFuelConsumptionCompressorOffContinuously).Returns((y3 / 1000).SI(Of Kilogram)) - Dim target As IM10 = New M10Impl(m3.Object, m9.Object, signals) + Dim target As IM10 = New M10Impl(m3.Object, m9.Object) target.CycleStep(1.SI(Of Second)) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb index 51846fbfbd..7d1f1d15ac 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M12Tests.vb @@ -3,7 +3,6 @@ Imports NUnit.Framework Imports Moq Imports TUGraz.VectoCommon.BusAuxiliaries Imports TUGraz.VectoCommon.Utils -Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules @@ -41,7 +40,7 @@ Namespace UnitTests M10Mock.Setup(Function(x) x.AverageLoadsFuelConsumptionInterpolatedForPneumatics).Returns((IP7 / 1000).SI(Of Kilogram)) 'Act - Dim target = New M12Impl(M10Mock.Object, m11Mock.Object, sgnlsMock.Object) + Dim target = New M12Impl(M10Mock.Object, m11Mock.Object) 'Assert Assert.AreEqual(target.FuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand().Value(), diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb index b024fc7db5..e6516ad05c 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M14Tests.vb @@ -5,6 +5,7 @@ Imports VectoAuxiliaries.Hvac Imports NUnit.Framework Imports Moq Imports TUGraz.VectoCommon.BusAuxiliaries +Imports TUGraz.VectoCommon.Models Imports TUGraz.VectoCommon.Utils Imports TUGraz.VectoCore.BusAuxiliaries.Interfaces.DownstreamModules Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl @@ -12,6 +13,7 @@ Imports TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules Imports TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC +Imports TUGraz.VectoCore.Models.Declaration Namespace UnitTests @@ -120,15 +122,14 @@ Namespace UnitTests Dim hvacSSM As New Mock(Of ISSMTOOL) Dim signals As New Mock(Of ISignals) Dim ssmMock As ISSMTOOL = New SSMToolMock() - Dim constants As IHVACConstants = New HVACConstants(835.SI(Of KilogramPerCubicMeter)) 'Moq' Arrangements m13.Setup(Function(x) x.WHTCTotalCycleFuelConsumption).Returns((ip1 / 1000).SI(Of Kilogram)) signals.Setup(Function(x) x.CurrentCycleTimeInSeconds).Returns(ip5) - + Dim fuel = New FuelData.Entry(FuelType.DieselCI, Nothing, 0.SI(of KilogramPerCubicMeter),1.0, 44800.SI(Unit.SI.Joule.Per.Gramm).Cast(Of JoulePerKilogramm), 44800.SI(Unit.SI.Joule.Per.Gramm).Cast(Of JoulePerKilogramm)) 'Act - Dim m14 As New M14Impl(m13.Object, ssmMock, constants, signals.Object) + Dim m14 As New M14Impl(m13.Object, ssmMock, fuel, signals.Object) 'Assert Assert.AreEqual(expectedOut1.SI(Unit.SI.Gramm).Value(), m14.TotalCycleFC.Value(), 0.1) diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb index d2b96d4605..8179b4fab6 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M1_AverageHVACLoadDemandTests.vb @@ -47,7 +47,7 @@ Namespace UnitTests dim auxConfig = Utils.GetAuxTestConfig() dim vehicle = auxConfig.VehicleData CType(vehicle, VehicleData).Height = 0.SI (of Meter) - Dim ssmInput = SSMInputData.ReadFile(_SSMMAP, vehicle, Nothing, HVACTechBenefitsReader.ReadFromFile("TestFiles/TechBenefits.csv")) + Dim ssmInput = SSMInputData.ReadFile(_SSMMAP, vehicle, Nothing, SSMTechnologiesReader.ReadFromFile("TestFiles/TechBenefits.csv")) ssm = New SSMTOOL(ssmInput) alternatorMap = AlternatorReader.ReadMap(_GOODMAP) @@ -55,7 +55,7 @@ Namespace UnitTests 'ssm.Load(_SSMMAP) - For Each entry As ITechListBenefitLine In ssm.TechList.TechLines + For Each entry As ISSMTechnology In ssm.TechList.TechLines entry.OnVehicle = True Next Dim m01 As IM0_1_AverageElectricLoadDemand = New M0_1Impl(auxConfig) @@ -67,14 +67,12 @@ Namespace UnitTests 'ssm.Load(_SSMMAP) - For Each entry As ITechListBenefitLine In ssm.TechList.TechLines + For Each entry As ISSMTechnology In ssm.TechList.TechLines entry.OnVehicle = true next Return New M01Impl(m0, alternatorGearEfficiency, compressorGrearEfficiency, - powernetVoltage, - signals, ssm) End Function diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb index 801a0999e6..141225a7e9 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M2_AverageElectricalLoadTests.vb @@ -65,7 +65,7 @@ Namespace UnitTests 'Get Consumers. - Return New M02Impl(m01, m0, 0.8, 26.3.SI(Of Volt), signals) + Return New M02Impl(m01, m0, 0.8, 26.3.SI(Of Volt)) End Function #End Region diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb index 6bad771dd0..b04e7f7774 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/PneumaticActuationsMapTests.vb @@ -41,7 +41,7 @@ Namespace Pneumatics <Test()> Public Sub CreateNewTest() - Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP) + Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP) Assert.IsNotNull(target) End Sub @@ -49,7 +49,7 @@ Namespace Pneumatics <Test()> Public Sub InitialiseGoodMapTest() - Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP) + Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP) 'target.Initialise() End Sub @@ -58,7 +58,7 @@ Namespace Pneumatics Public Sub InitialiseWrongNumberOfColumnTest() Assert.That(Sub() - dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INCORRECTCOLUMNS) + dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INCORRECTCOLUMNS) End Sub, Throws.InstanceOf (Of VectoException)) End Sub @@ -66,7 +66,7 @@ Namespace Pneumatics Public Sub InvalidIntegerTest() Assert.That(Sub() - dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDINTEGERVALUE) + dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDINTEGERVALUE) End Sub, Throws.InstanceOf (Of FormatException)) End Sub @@ -74,7 +74,7 @@ Namespace Pneumatics Public Sub DuplicateKeyTest() Assert.That(Sub() - dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_DUPLICATEKEY) + dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_DUPLICATEKEY) End Sub, Throws.InstanceOf (Of VectoException), "Duplicate entries in pneumatic actuations map! Brakes / Urban") End Sub @@ -83,7 +83,7 @@ Namespace Pneumatics Public Sub EmptyConsumerNameTest() Assert.That(Sub() - dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCONSUMERNAME) + dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCONSUMERNAME) End Sub, Throws.InstanceOf (Of ArgumentException)) End Sub @@ -91,7 +91,7 @@ Namespace Pneumatics Public Sub EmptyCycleNameTest() Assert.That(Sub() - Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCYCLENAME) + Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_INVALIDCYCLENAME) End Sub, Throws.InstanceOf (Of ArgumentException)) End Sub @@ -113,7 +113,7 @@ Namespace Pneumatics <TestCase("Kneeling", "Coach", 0)> Public Sub ValueLookupTest(key As String, cycle As String, expected As Integer) - Dim target = PneumaticActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP) + Dim target = ActuationsMapReader.Read(cstrPneumaticActuationsMapPath_GOODMAP) 'target.Initialise() Dim actual As Integer diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb index b7fbeda839..e386483fc9 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb @@ -25,7 +25,7 @@ Namespace UnitTests Dim src As SSMTOOL = DirectCast(source, SSMTOOL) - Dim newItem As ITechListBenefitLine = New TechListBenefitLine() + Dim newItem As ISSMTechnology = New SSMTechnology() newItem.BusFloorType = src.SSMInputs.BusParameters.BusFloorType @@ -53,8 +53,7 @@ Namespace UnitTests Dim feedback As String = String.Empty - CType( src.TechList, SSMTechList).Clear() - Assert.IsTrue(CType( src.TechList, SSMTechList).Add(newItem, feedback)) + CType(src.TechList, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem}) End Sub <OneTimeSetUp> @@ -93,7 +92,8 @@ Namespace UnitTests '****************** Assert.AreEqual(0.95R, target.BoundaryConditions.GFactor) Assert.AreEqual(0.8R, target.BoundaryConditions.SolarClouding(20.0.DegCelsiusToKelvin())) - Assert.AreEqual(80, target.BoundaryConditions.HeatPerPassengerIntoCabin(20.0.DegCelsiusToKelvin()).Value()) + Assert.AreEqual(80, + target.BoundaryConditions.HeatPerPassengerIntoCabin(20.0.DegCelsiusToKelvin()).Value()) 'Assert.AreEqual(12, target.BoundaryConditions.PassengerBoundaryTemperature.AsDegCelsius) Assert.AreEqual(3.0R, target.BusParameters.PassengerDensityLowFloor.Value()) Assert.AreEqual(2.2R, target.BusParameters.PassengerDensitySemiLowFloor.Value()) @@ -110,7 +110,7 @@ Namespace UnitTests Assert.AreEqual(242.3, Math.Round(target.BoundaryConditions.LowVentPower.Value(), 2)) Assert.AreEqual(0.56R, target.BoundaryConditions.SpecificVentilationPower.Value()/3600) Assert.AreEqual(0.84, target.BoundaryConditions.AuxHeaterEfficiency) - Assert.AreEqual(42700.0 / 3600.0, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0) + Assert.AreEqual(42700.0/3600.0, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0) 'Assert.AreEqual(11.8, target.BoundaryConditions.GCVDieselOrHeatingOil.Value()/3600.0/1000.0) Assert.AreEqual(1.5R, target.BoundaryConditions.WindowAreaPerUnitBusLength.Value()) Assert.AreEqual(5, target.BoundaryConditions.FrontRearWindowArea.Value()) @@ -130,7 +130,7 @@ Namespace UnitTests If section = "AC-System" Then 'AC-SYSTEM '********* - Assert.AreEqual("2-stage", target.ACSystem.CompressorType) + Assert.AreEqual(ACCompressorType.TwoStage, target.ACSystem.CompressorType) Assert.AreEqual(18, target.ACSystem.CompressorCapacity.Value()/1000.0) Assert.AreEqual(3.5, target.ACSystem.COP) End If @@ -163,7 +163,7 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechList).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechList).Items Assert.IsTrue(target.TechLines.Count > 0) @@ -176,9 +176,9 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListALLON).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListALLON).Items - For Each entry As ITechListBenefitLine In target.TechLines + For Each entry As ISSMTechnology In target.TechLines entry.OnVehicle = True Next @@ -204,7 +204,7 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items 'Assert.IsTrue(target.Initialise()) @@ -218,9 +218,9 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items - Dim newItem As ITechListBenefitLine = New TechListBenefitLine() + Dim newItem As ISSMTechnology = New SSMTechnology() newItem.BusFloorType = gen.BusParameters.BusFloorType 'newItem.Units = "fraction" @@ -245,9 +245,8 @@ Namespace UnitTests newItem.ActiveVC = True 'newItem.LineType = TechLineType.Normal - Dim feedback As String = String.Empty - Assert.istrue(CType(target, SSMTechList).Add(newItem, feedback)) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem}) Assert.IsTrue(target.TechLines.Count = 1) @@ -260,9 +259,9 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items - Dim newItem As ITechListBenefitLine = New TechListBenefitLine() + Dim newItem As ISSMTechnology = New SSMTechnology() newItem.BusFloorType = gen.BusParameters.BusFloorType 'newItem.Units = "fraction" @@ -289,8 +288,8 @@ Namespace UnitTests Dim feedback As String = String.Empty - Assert.istrue(CType(target, SSMTechList).Add(newItem, feedback)) - Assert.isFalse(CType(target, SSMTechList).Add(newItem, feedback)) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem}) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem}) Assert.IsTrue(target.TechLines.Count = 1) End Sub @@ -302,9 +301,9 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items - Dim newItem As ITechListBenefitLine = New TechListBenefitLine() + Dim newItem As ISSMTechnology = New SSMTechnology() newItem.BusFloorType = gen.BusParameters.BusFloorType 'newItem.Units = "fraction" @@ -331,9 +330,9 @@ Namespace UnitTests Dim feedback As String = String.Empty - Assert.IsTrue(CType(target, SSMTechList).Add(newItem, feedback)) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem}) Assert.IsTrue(target.TechLines.Count = 1) - CType(target, SSMTechList).Clear() + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)() Assert.IsTrue(target.TechLines.Count = 0) End Sub @@ -344,9 +343,9 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items - Dim newItem As ITechListBenefitLine = New TechListBenefitLine() + Dim newItem As ISSMTechnology = New SSMTechnology() newItem.BusFloorType = gen.BusParameters.BusFloorType 'newItem.Units = "fraction" @@ -371,10 +370,8 @@ Namespace UnitTests newItem.ActiveVC = True 'newItem.LineType = TechLineType.Normal - Dim feedback As String = String.Empty - 'Add - Assert.IsTrue(CType(target, SSMTechList).Add(newItem, feedback)) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem}) 'Modify newItem.LowFloorC = 0.99 @@ -388,9 +385,9 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items - Dim newItem As ITechListBenefitLine = New TechListBenefitLine() + Dim newItem As ISSMTechnology = New SSMTechnology() newItem.BusFloorType = gen.BusParameters.BusFloorType 'newItem.Units = "fraction" @@ -415,11 +412,9 @@ Namespace UnitTests newItem.ActiveVC = True 'newItem.LineType = TechLineType.Normal - Dim feedback As String = String.Empty - - Assert.IsTrue(CType(target, SSMTechList).Add(newItem, feedback)) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)({newItem}) Assert.IsTrue(target.TechLines.Count = 1) - Assert.IsTrue(CType(target, SSMTechList).Delete(newItem, feedback)) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)() Assert.IsTrue(target.TechLines.Count = 0) End Sub @@ -430,9 +425,9 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) Dim target As ISSMTechList = New SSMTechList(gen.BusParameters.BusFloorType) - target.TechLines = HVACTechBenefitsReader.ReadFromFile(GOODTechListEMPTYLIST).Items + target.TechLines = SSMTechnologiesReader.ReadFromFile(GOODTechListEMPTYLIST).Items - Dim newItem As ITechListBenefitLine = New TechListBenefitLine() + Dim newItem As ISSMTechnology = New SSMTechnology() newItem.BusFloorType = gen.BusParameters.BusFloorType 'newItem.Units = "fraction" @@ -457,9 +452,7 @@ Namespace UnitTests newItem.ActiveVC = True 'newItem.LineType = TechLineType.Normal - Dim feedback As String = String.Empty - - Assert.IsFalse(CType(target, SSMTechList).Delete(newItem, feedback)) + CType(target, SSMTechList).TechLines = New List(Of ISSMTechnology)() End Sub 'TechListLineTests @@ -468,7 +461,7 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) - Dim ttl As ITechListBenefitLine = New TechListBenefitLine() + Dim ttl As ISSMTechnology = New SSMTechnology() ttl.BusFloorType = gen.BusParameters.BusFloorType Assert.IsNotNull(ttl) @@ -479,10 +472,10 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) - Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine() + Dim ttl1 As ISSMTechnology = New SSMTechnology() ttl1.BusFloorType = gen.BusParameters.BusFloorType - Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine() + Dim ttl2 As ISSMTechnology = New SSMTechnology() ttl2.BusFloorType = gen.BusParameters.BusFloorType Assert.IsTrue(ttl1.IsEqualTo(ttl2)) @@ -510,10 +503,10 @@ Namespace UnitTests Dim gen As ISSMInputs = New SSMInputs(Utils.GetDefaultVehicleData(), Nothing) - Dim ttl1 As ITechListBenefitLine = New TechListBenefitLine() + Dim ttl1 As ISSMTechnology = New SSMTechnology() ttl1.BusFloorType = gen.BusParameters.BusFloorType - Dim ttl2 As ITechListBenefitLine = New TechListBenefitLine() + Dim ttl2 As ISSMTechnology = New SSMTechnology() ttl2.BusFloorType = gen.BusParameters.BusFloorType Select Case prop @@ -568,8 +561,9 @@ Namespace UnitTests Dim success As Boolean Dim dao = New DeclarationDataAdapter() - Dim target As SSMTOOL = New SSMTOOL(dao.CreateSSMModelParameters(Utils.GetDefaultVehicleData(), FuelData.Diesel)) - + Dim target As SSMTOOL = New SSMTOOL(dao.CreateSSMModelParameters(Utils.GetDefaultVehicleData(), + FuelData.Diesel)) + success = BusAuxWriter.SaveSSMConfig(target.SSMInputs, filePath) 'success = target.Save(filePath) Assert.IsTrue(success) @@ -582,7 +576,7 @@ Namespace UnitTests 'Retreive 'success = target.Load(filePath) Try - target = New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), + target = New SSMTOOL(SSMInputData.ReadFile(filePath, utils.GetDefaultVehicleData(), DeclarationData.BusAuxiliaries.DefaultEnvironmentalConditions, DeclarationData.BusAuxiliaries.SSMTechnologyList)) Catch @@ -607,11 +601,11 @@ Namespace UnitTests ' DefaultEnvironmentalConditions, ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) _ '', New HVACConstants()) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) - 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), - ' DeclarationData.BusAuxiliaries. - ' DefaultEnvironmentalConditions, - ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) _ + Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), + ' DeclarationData.BusAuxiliaries. + ' DefaultEnvironmentalConditions, + ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) _ ', New HVACConstants()) @@ -624,11 +618,11 @@ Namespace UnitTests Const filePath As String = "SSMTOOLTestSaveRetreive.json" - Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) - 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), - ' DeclarationData.BusAuxiliaries. - ' DefaultEnvironmentalConditions, - ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) _ + Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), + ' DeclarationData.BusAuxiliaries. + ' DefaultEnvironmentalConditions, + ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) _ ' New HVACConstants()) 'Alter somthing @@ -637,10 +631,10 @@ Namespace UnitTests 99.0.DegCelsiusToKelvin() Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) - 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), - ' DeclarationData.BusAuxiliaries. - ' DefaultEnvironmentalConditions, - ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) _ + 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), + ' DeclarationData.BusAuxiliaries. + ' DefaultEnvironmentalConditions, + ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) _ ', New HVACConstants()) @@ -654,7 +648,7 @@ Namespace UnitTests Const filePath As String = "SSMTOOLTestSaveRetreive.json" - Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), ' DeclarationData.BusAuxiliaries. ' DefaultEnvironmentalConditions, @@ -680,7 +674,7 @@ Namespace UnitTests ' DeclarationData.BusAuxiliaries. ' DefaultEnvironmentalConditions, ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), ' DeclarationData.BusAuxiliaries. ' DefaultEnvironmentalConditions, @@ -698,12 +692,12 @@ Namespace UnitTests Const filePath As String = "SSMTOOLTestSaveRetreive.json" - Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), ' DeclarationData.BusAuxiliaries. ' DefaultEnvironmentalConditions, ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), ' DeclarationData.BusAuxiliaries. ' DefaultEnvironmentalConditions, @@ -722,12 +716,12 @@ Namespace UnitTests Const filePath As String = "SSMTOOLTestSaveRetreive.json" - Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) - 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), - ' DeclarationData.BusAuxiliaries. - ' DefaultEnvironmentalConditions, - ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) - Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), + ' DeclarationData.BusAuxiliaries. + ' DefaultEnvironmentalConditions, + ' DeclarationData.BusAuxiliaries.SSMTechnologyList)) + Dim ssmTool2 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), ' DeclarationData.BusAuxiliaries. ' DefaultEnvironmentalConditions, @@ -749,7 +743,7 @@ Namespace UnitTests Const filePath As String = "SSMTOOLTestSaveRetreive.json" - Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) + Dim ssmTool1 As SSMTOOL = New SSMTOOL(Utils.GetAuxTestConfig().SSMInputs) 'New SSMTOOL(SSMInputData.ReadFile(filePath,utils.GetDefaultVehicleData(), ' DeclarationData.BusAuxiliaries. ' DefaultEnvironmentalConditions, diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb index 8edd7e16ab..b2967098a8 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/Utils.vb @@ -111,7 +111,6 @@ Public Class Utils .SmartAirCompression = False, .SmartRegeneration = False }, - .HvacUserInputsConfig = New HVACUserInputsConfig(), .SSMInputs = New SSMInputs(vehicleData, Nothing, heatingFuel) With { .Technologies = DeclarationData.BusAuxiliaries.SSMTechnologyList, .DefaultConditions = New EnvironmentalConditionMapEntry(25.0.DegCelsiusToKelvin(), 400.SI(Of WattPerSquareMeter), 1.0), @@ -121,7 +120,7 @@ Public Class Utils .HighVentilation = 20.SI(Unit.SI.Per.Hour).Cast(Of PerSecond), .LowVentilation = 7.SI(Unit.SI.Per.Hour).Cast(Of PerSecond), .SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast(Of JoulePerCubicMeter), - .CompressorType = "2-stage", + .CompressorType = ACCompressorType.TwoStage, .CompressorCapacity = 18.si(Unit.SI.kilo.watt).Cast(of Watt), .AuxHeaterEfficiency = 0.84, .FuelFiredHeaterPower = 30.SI(Unit.SI.kilo.watt).Cast(Of Watt), @@ -131,7 +130,7 @@ Public Class Utils }, .VehicleData = vehicleData, .Signals = signals, - .ActuationsMap = PneumaticActuationsMapReader.Read("TestFiles/testPneumaticActuationsMap_GOODMAP.apac"), + .ActuationsMap = ActuationsMapReader.Read("TestFiles/testPneumaticActuationsMap_GOODMAP.apac"), .Cycle = "TESTCYCLE" } Return retVal diff --git a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj index 51cc206d81..c9b938f687 100644 --- a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj +++ b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj @@ -124,7 +124,6 @@ <Compile Include="Mocks\M5_Mock.vb" /> <Compile Include="Mocks\M6_Mock.vb" /> <Compile Include="Mocks\M7_Mock.vb" /> - <Compile Include="UnitTests\BusDatabaseTests.vb" /> <Compile Include="UnitTests\CombinedAlternatorTests.vb" /> <Compile Include="UnitTests\FilePathUtilityTests.vb" /> <Compile Include="UnitTests\M0_5_SmartAlternatorSetEfficiencyTests.vb" /> diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IPneumaticActuationsMap.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IActuationsMap.cs similarity index 94% rename from VectoCommon/VectoCommon/BusAuxiliaries/IPneumaticActuationsMap.cs rename to VectoCommon/VectoCommon/BusAuxiliaries/IActuationsMap.cs index f6c9a6b2c5..a283575a0e 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/IPneumaticActuationsMap.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/IActuationsMap.cs @@ -12,7 +12,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { - public interface IPneumaticActuationsMap + public interface IActuationsMap { int GetNumActuations(ActuationsKey key); diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs index 17b119ef53..08b7359015 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/IAlternatorMap.cs @@ -20,10 +20,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.El /// Returns the alternator efficiency at given rpm /// </summary> /// <param name="rpm">alternator rotation speed</param> - /// <param name="amps"></param> + /// <param name="currentDemand"></param> /// <returns>Single</returns> /// <remarks></remarks> - double GetEfficiency(PerSecond rpm, Ampere amps); + double GetEfficiency(PerSecond rpm, Ampere currentDemand); string Source { get; } } diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs index e5d869f35e..c7e9627280 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/IAuxiliaryConfig.cs @@ -22,10 +22,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { ISSMInputs SSMInputs { get; } - IPneumaticActuationsMap ActuationsMap { get; } - - // Hvac - IHVACUserInputsConfig HvacUserInputsConfig { get; } + IActuationsMap ActuationsMap { get; } bool ConfigValuesAreTheSameAs(IAuxiliaryConfig other); diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs index 1f9bfcb441..06b3977d3d 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelConsumptionMap.cs @@ -11,5 +11,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { /// <returns></returns> /// <remarks></remarks> KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity); + } } diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs new file mode 100644 index 0000000000..f9f89dbf62 --- /dev/null +++ b/VectoCommon/VectoCommon/BusAuxiliaries/IFuelProperties.cs @@ -0,0 +1,24 @@ +using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; + +namespace TUGraz.VectoCommon.BusAuxiliaries { + public interface IFuelProperties + { + FuelType FuelType { get; } + + TankSystem? TankSystem { get; } + + KilogramPerCubicMeter FuelDensity { get; } + + double CO2PerFuelWeight { get; } + + JoulePerKilogramm LowerHeatingValueVecto { get; } + + JoulePerKilogramm LowerHeatingValueVectoEngine { get; } + + double HeatingValueCorrection { get; } + + string GetLabel(); + } +} \ No newline at end of file diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs index 705882513d..449f169d60 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMInputs.cs @@ -10,7 +10,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries ISSMBusParameters BusParameters { get; } - ITechlistBenefitLines Technologies { get; } + ISSMTechnologies Technologies { get; } ISSMBoundaryConditions BoundaryConditions { get; } @@ -55,7 +55,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries double SolarClouding(Kelvin envTemp); Watt HeatPerPassengerIntoCabin(Kelvin envTemp); - //Kelvin PassengerBoundaryTemperature { get; } WattPerKelvinSquareMeter UValue { get; } Kelvin HeatingBoundaryTemperature { get; } Kelvin CoolingBoundaryTemperature { get; } @@ -78,9 +77,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries public interface IEnvironmentalConditions { // EnviromentalConditions - //Kelvin EnviromentalTemperature { get; } - - //WattPerSquareMeter Solar { get; } IEnvironmentalConditionsMapEntry DefaultConditions { get; } @@ -94,9 +90,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries public interface IACSystem { // AC-system - string CompressorType { get; } - - string CompressorTypeDerived { get; } + ACCompressorType CompressorType { get; } Watt CompressorCapacity { get; } double COP { get; } } @@ -119,6 +113,47 @@ namespace TUGraz.VectoCommon.BusAuxiliaries High } + public enum ACCompressorType + { + TwoStage, + ThreeStage, + FourStage, + Continuous + } + + public static class ACCompressorTypeExtensions + { + public static ACCompressorType ParseEnum(string txt) + { + switch (txt) { + case "2-stage": return ACCompressorType.TwoStage; + case "3-stage": return ACCompressorType.ThreeStage; + case "4-stage": return ACCompressorType.FourStage; + default: return txt.ParseEnum<ACCompressorType>(); + } + } + + public static string ToString(this ACCompressorType type) + { + switch (type) { + case ACCompressorType.TwoStage: return "2-stage"; + case ACCompressorType.ThreeStage: return "3-stage"; + case ACCompressorType.FourStage: return "4-stage"; + default: return type.ToString(); + } + } + + public static bool IsElectrical(this ACCompressorType type) + { + return type == ACCompressorType.Continuous; + } + + public static bool IsMechanical(this ACCompressorType type) + { + return type != ACCompressorType.Continuous; + } + } + public interface IAuxHeater { // Aux. Heater diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs index aeb4d9932f..db6ee323f1 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechList.cs @@ -4,7 +4,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { public interface ISSMTechList { - IReadOnlyList<ITechListBenefitLine> TechLines { get; set; } + IReadOnlyList<ISSMTechnology> TechLines { get; set; } //void Clear(); //ITechListBenefitLine Find(string category, string benefitName); diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/ITechListBenefitLine.cs b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechnology.cs similarity index 77% rename from VectoCommon/VectoCommon/BusAuxiliaries/ITechListBenefitLine.cs rename to VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechnology.cs index f79f26f5a9..c7501bad2a 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/ITechListBenefitLine.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/ISSMTechnology.cs @@ -2,14 +2,14 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { - public interface ITechlistBenefitLines + public interface ISSMTechnologies { - IReadOnlyList<ITechListBenefitLine> Items { get; } + IReadOnlyList<ISSMTechnology> Items { get; } string Source { get; } } - public interface ITechListBenefitLine + public interface ISSMTechnology { FloorType BusFloorType { set; } @@ -39,8 +39,6 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { double VC { get; } double C { get; } - void CloneFrom(ITechListBenefitLine source); - - bool IsEqualTo(ITechListBenefitLine source); + bool IsEqualTo(ISSMTechnology source); } } \ No newline at end of file diff --git a/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs b/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs index c64e19615e..75482f08e4 100644 --- a/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs +++ b/VectoCommon/VectoCommon/BusAuxiliaries/SmartResult.cs @@ -16,14 +16,11 @@ namespace TUGraz.VectoCommon.BusAuxiliaries { public class SmartResult : IComparable<SmartResult> { - public Ampere Amps { get; set; } - public Ampere SmartAmps { get; set; } + public Ampere Amps { get; } + public Ampere SmartAmps { get; } // Constructors - public SmartResult() - { - } - + public SmartResult(Ampere amps, Ampere smartAmps) { Amps = amps; diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj index 1392ad2555..a45bad7a10 100644 --- a/VectoCommon/VectoCommon/VectoCommon.csproj +++ b/VectoCommon/VectoCommon/VectoCommon.csproj @@ -63,16 +63,17 @@ <Compile Include="BusAuxiliaries\IEnvironmentalConditionsMapEntry.cs" /> <Compile Include="BusAuxiliaries\IEnvironmentalConditionsMap.cs" /> <Compile Include="BusAuxiliaries\IFuelConsumptionMap.cs" /> + <Compile Include="BusAuxiliaries\IFuelProperties.cs" /> <Compile Include="BusAuxiliaries\IHVACConstants.cs" /> <Compile Include="BusAuxiliaries\IHVACUserInputsConfig.cs" /> - <Compile Include="BusAuxiliaries\IPneumaticActuationsMap.cs" /> + <Compile Include="BusAuxiliaries\IActuationsMap.cs" /> <Compile Include="BusAuxiliaries\IPneumaticsAuxilliariesConfig.cs" /> <Compile Include="BusAuxiliaries\IPneumaticUserInputsConfig.cs" /> <Compile Include="BusAuxiliaries\IResultCard.cs" /> <Compile Include="BusAuxiliaries\ISignals.cs" /> <Compile Include="BusAuxiliaries\ISSMInputs.cs" /> <Compile Include="BusAuxiliaries\ISSMTechList.cs" /> - <Compile Include="BusAuxiliaries\ITechListBenefitLine.cs" /> + <Compile Include="BusAuxiliaries\ISSMTechnology.cs" /> <Compile Include="BusAuxiliaries\IVehicleData.cs" /> <Compile Include="BusAuxiliaries\SmartResult.cs" /> <Compile Include="Hashing\IVectoHash.cs" /> diff --git a/VectoCore/VectoCore/Configuration/Constants.cs b/VectoCore/VectoCore/Configuration/Constants.cs index 0b9bbea430..58d598ffd1 100644 --- a/VectoCore/VectoCore/Configuration/Constants.cs +++ b/VectoCore/VectoCore/Configuration/Constants.cs @@ -30,7 +30,6 @@ */ using System; -using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; namespace TUGraz.VectoCore.Configuration diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs index 7b408d3e10..16a878d433 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/BusAuxiliaryInputData.cs @@ -9,7 +9,6 @@ using TUGraz.VectoCore.Models.BusAuxiliaries; 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.Declaration; namespace TUGraz.VectoCore.InputData.FileIO.JSON @@ -29,14 +28,13 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON var ec = LoadElectricalConfig((JObject)data["ElectricalUserInputsConfig"], baseDir); var pac = LoadPneumaticsAuxConfig((JObject)data["PneumaticAuxillariesConfig"], baseDir); var puc = LoadPneumaticUserConfig((JObject)data["PneumaticUserInputsConfig"], baseDir); - var hvac = LoadHVAC((JObject)data["HvacUserInputsConfig"], baseDir); var env = string.IsNullOrWhiteSpace(data["EnvironmentalConditions"]?.ToString()) ? DeclarationData.BusAuxiliaries.DefaultEnvironmentalConditions : EnvironmentalContidionsMapReader.ReadFile(data["EnvironmentalConditions"].ToString()); var techList = string.IsNullOrWhiteSpace(data["SSMTechologies"]?.ToString()) ? DeclarationData.BusAuxiliaries.SSMTechnologyList - : HVACTechBenefitsReader.ReadFromFile(data["SSMTechologies"].ToString()); - var actuationsMap = PneumaticActuationsMapReader.Read(Path.Combine(baseDir, data.GetEx<string>("ActuationsMap"))); + : SSMTechnologiesReader.ReadFromFile(data["SSMTechologies"].ToString()); + var actuationsMap = ActuationsMapReader.Read(Path.Combine(baseDir, data.GetEx<string>("ActuationsMap"))); var ssm = string.IsNullOrWhiteSpace(data["SSMFilePath"]?.ToString()) ? new SSMInputs(vehicleData, "", FuelData.Diesel) { EnvironmentalConditionsMap = env, @@ -49,7 +47,6 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON ElectricalUserInputsConfig = ec, PneumaticAuxillariesConfig = pac, PneumaticUserInputsConfig = puc, - HvacUserInputsConfig = hvac, SSMInputs = ssm, ActuationsMap = actuationsMap, VehicleData = vehicleData @@ -161,15 +158,5 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON pneumaticUserInputsConfig.SmartRegeneration = puData.GetEx<bool>("SmartRegeneration"); return pneumaticUserInputsConfig; } - - private static IHVACUserInputsConfig LoadHVAC(JObject hvac, string baseDir) - { - var hvacUserInputsConfig = new HVACUserInputsConfig(); - - //hvacUserInputsConfig.SSMFilePath = hvac.GetEx<string>("SSMFilePath"); - //hvacUserInputsConfig.BusDatabasePath = hvac.GetEx<string>("BusDatabasePath"); - //hvacUserInputsConfig.SSMDisabled = hvac.GetEx<bool>("SSMDisabled"); - return hvacUserInputsConfig; - } } } diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs index 4da2a5e537..6060c57e68 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs @@ -32,7 +32,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs index ac8292e9e5..4ea386ad0b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs @@ -34,7 +34,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; using Newtonsoft.Json.Linq; -using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs index 3503766c3b..ebf718ee30 100644 --- a/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/JSON/SSMInputData.cs @@ -1,5 +1,4 @@ -using System.Collections.Generic; -using System.IO; +using System.IO; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TUGraz.VectoCommon.BusAuxiliaries; @@ -19,7 +18,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON return retVal; } - public static ISSMInputs ReadFile(string fileName, IVehicleData vehicleData, IEnvironmentalConditionsMap env, ITechlistBenefitLines technologies) + public static ISSMInputs ReadFile(string fileName, IVehicleData vehicleData, IEnvironmentalConditionsMap env, ISSMTechnologies technologies) { var json = JSONInputDataFactory.ReadFile(fileName); var body = (JObject)json["Body"]; @@ -57,7 +56,7 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON genInput.GetEx<double>("EC_Solar").SI<WattPerSquareMeter>(), 1.0); //retVal.EnviromentalConditions_BatchFile = genInput.GetEx<string>("EC_EnviromentalConditions_BatchFile"); //retVal.BatchMode = genInput.GetEx<bool>("EC_EnviromentalConditions_BatchEnabled"); - retVal.CompressorType = genInput.GetEx<string>("AC_CompressorType"); + retVal.CompressorType = ACCompressorTypeExtensions.ParseEnum(genInput.GetEx<string>("AC_CompressorType")); retVal.CompressorCapacity = genInput.GetEx<double>("AC_CompressorCapacitykW").SI(Unit.SI.Kilo.Watt).Cast<Watt>(); retVal.VentilationOnDuringHeating = genInput.GetEx<bool>("VEN_VentilationOnDuringHeating"); retVal.VentilationWhenBothHeatingAndACInactive = genInput.GetEx<bool>("VEN_VentilationWhenBothHeatingAndACInactive"); diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs index 2e0056a131..60afee78a7 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Common/AbstractXMLResource.cs @@ -1,7 +1,6 @@ using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Common { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs index cec5b2c3be..71370defa7 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/AbstractCommonComponentType.cs @@ -1,11 +1,9 @@ -using System.Collections.Generic; using System.Xml; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { public abstract class AbstractCommonComponentType : AbstractXMLResource diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs index d3079bbbe9..6347928b5d 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationADASDataProvider.cs @@ -2,7 +2,6 @@ using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; -using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs index cea58df100..ad38591df6 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAngledriveDataProvider.cs @@ -1,5 +1,4 @@ -using System.Collections.Generic; -using System.Xml; +using System.Xml; using System.Xml.Linq; using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.Exceptions; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs index b683dcae40..694b62482e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationAuxiliariesDataProvider.cs @@ -1,5 +1,4 @@ using System.Collections.Generic; -using System.Runtime.InteropServices; using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs index 5bc21e05d7..c383068a7f 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationGearboxDataProvider.cs @@ -5,7 +5,6 @@ using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; -using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs index 6912efe88f..05d479ce6e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationInputDataProvider.cs @@ -29,20 +29,13 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; -using System.IO; using System.Xml; using System.Xml.Linq; -using System.Xml.Schema; -using System.Xml.XPath; -using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.Utils; using TUGraz.VectoHashing; -using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs index 09fc27814a..af097295cc 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Factory/IDeclarationInjectFactory.cs @@ -1,5 +1,4 @@ using System.Xml; -using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs index f112e7534f..28e0538a03 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Interfaces/IXMLDeclarationVehicleData.cs @@ -1,8 +1,6 @@ using System.Xml; -using System.Xml.Schema; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs index 471805d8fa..5d0c184a92 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV10InjectModule.cs @@ -3,7 +3,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs index db88867af5..198ea92a45 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV20InjectModule.cs @@ -3,7 +3,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs index 41d1fec433..c319454491 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV21InjectModule.cs @@ -3,7 +3,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs index 69e4ab3ce8..c164265dd0 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationInputDataV22InjectModule.cs @@ -1,7 +1,6 @@ using Ninject.Modules; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs index 150912bf0b..11a246d4d2 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/NinjectModules/XMLDeclarationReaderInjectModule.cs @@ -2,8 +2,6 @@ using Ninject.Modules; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.NinjectModules; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory; using TUGraz.VectoCore.Utils.Ninject; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs index 11f8053498..8de2abbd6d 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLComponentReader.cs @@ -8,7 +8,6 @@ using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs index f01a6b7b3e..7262a7d542 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationInputReader.cs @@ -5,7 +5,6 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Factory; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs index e0c62e2470..04cbb2d6f0 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLJobDataReader.cs @@ -1,5 +1,4 @@ -using System; -using System.Xml; +using System.Xml; using System.Xml.Linq; using Ninject; using TUGraz.VectoCommon.InputData; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs index 1ae7fdaade..75cc361312 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/AbstractCommonComponentType.cs @@ -1,13 +1,8 @@ using System.Xml; -using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; -using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs index 8a3840c466..f9eaaa5b3b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLCyclesDataProvider.cs @@ -6,7 +6,6 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.InputData.Impl; using TUGraz.VectoCore.Models.Declaration; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs index 01cdd8c4d3..35452ed9fe 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLDriverAcceleration.cs @@ -3,7 +3,6 @@ using TUGraz.IVT.VectoXML; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.InputData.Impl; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs index 5187bfdc15..ec66c26b98 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringAuxiliariesDataProvider.cs @@ -9,7 +9,6 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.InputData.Impl; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs index becb17d3fe..0cc501deab 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverDataProvider.cs @@ -1,7 +1,6 @@ using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Common; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs index 21a3803714..03dd035377 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringDriverLookAhead.cs @@ -5,7 +5,6 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs index 107a5f47ca..a0af355bae 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringEngineDataProvider.cs @@ -41,7 +41,6 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs index e5e77ce40b..146e113f97 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearboxDataProvider.cs @@ -39,7 +39,6 @@ using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs index f306f43cb5..d2938a0dc6 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringGearshiftData.cs @@ -3,7 +3,6 @@ using System.Xml.Linq; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs index 37601906a3..15be0e45f2 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringInputDataProvider.cs @@ -5,7 +5,6 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs index 356b55c478..8cc8ae0c61 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringJobInputDataProvider.cs @@ -5,7 +5,6 @@ using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs index afeabcf202..70c2375676 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringOverspeed.cs @@ -1,11 +1,9 @@ using System; using System.Xml; using System.Xml.Linq; -using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Common; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs index 3de51b55a6..034f2b7354 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderInjectModule.cs @@ -1,12 +1,7 @@ using Ninject.Extensions.Factory; using Ninject.Modules; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Factory; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader; -using TUGraz.VectoCore.Utils; using TUGraz.VectoCore.Utils.Ninject; namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs index afbe4b1677..aee361bb36 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderTestOverrides.cs @@ -2,7 +2,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs index 3f77b20923..85858334ee 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV07InjectModule.cs @@ -4,7 +4,6 @@ using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader.Impl; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs index 9dc5e11aa1..4e24bc7a4e 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/NinjectModules/XMLEngineeringReaderV10InjectModule.cs @@ -1,11 +1,9 @@ -using System; -using Ninject.Modules; +using Ninject.Modules; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Impl; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader.Impl; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.NinjectModules { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs index c939345a3d..643841e2e8 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/Reader/IXMLDriverDataReader.cs @@ -1,5 +1,4 @@ using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Interfaces; namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.Reader diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs index f203504ac7..ba724f649b 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/XMLInputDataNinjectModule.cs @@ -1,5 +1,4 @@ -using Ninject.Modules; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; +using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; using TUGraz.VectoCore.InputData.FileIO.XML.Engineering; namespace TUGraz.VectoCore.InputData.FileIO.XML diff --git a/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs b/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs index 21f36416f3..b72c19dd30 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XMLReports/XMLManufacturerReportReader.cs @@ -33,7 +33,6 @@ using System; using System.Collections.Generic; using System.Xml; using TUGraz.VectoCommon.Hashing; -using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/PneumaticActuationsMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/ActuationsMapReader.cs similarity index 84% rename from VectoCore/VectoCore/InputData/Reader/ComponentData/PneumaticActuationsMapReader.cs rename to VectoCore/VectoCore/InputData/Reader/ComponentData/ActuationsMapReader.cs index 1c9566da33..96d06cd647 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/PneumaticActuationsMapReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/ActuationsMapReader.cs @@ -10,21 +10,21 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.Reader.ComponentData { - public static class PneumaticActuationsMapReader + public static class ActuationsMapReader { public static readonly string[] Header = new[] { Fields.ConsumerName, Fields.CycleName, Fields.Actuations }; - public static IPneumaticActuationsMap Read(string fileName) + public static IActuationsMap Read(string fileName) { return Create(VectoCSVFile.Read(fileName), Path.GetFullPath(fileName)); } - public static IPneumaticActuationsMap ReadStream(Stream str) + public static IActuationsMap ReadStream(Stream str) { return Create(VectoCSVFile.ReadStream(str), null); } - public static IPneumaticActuationsMap Create(DataTable data, string source) + public static IActuationsMap Create(DataTable data, string source) { if (!HeaderIsValid(data.Columns)) { throw new VectoException("Invalid header for pneumatic actuations. expected: {0}, got: {1}", @@ -41,7 +41,7 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData retVal[key] = row.Field<string>(Fields.Actuations).ToInt(); } - return new PneumaticActuationsMap(retVal, source); + return new ActuationsMap(retVal, source); } private static bool HeaderIsValid(DataColumnCollection cols) diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs index 2031600f51..8dfbf81391 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/AlternatorReader.cs @@ -1,7 +1,6 @@ using System; using System.Collections.Generic; using System.Data; -using System.Globalization; using System.IO; using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; @@ -102,37 +101,5 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData public const string PulleyRatio = "PulleyRatio"; } - // Helpers - public static IList<ICombinedAlternatorMapRow> CreateDefaultMap() - { - var map = new List<ICombinedAlternatorMapRow>(); - - map.Add(new CombinedAlternatorMapRow("Alt1", 2000.RPMtoRad(), 10.SI<Ampere>(), 62, 3.6)); - map.Add(new CombinedAlternatorMapRow("Alt1", 2000.RPMtoRad(), 27.SI<Ampere>(), 70, 3.6)); - map.Add(new CombinedAlternatorMapRow("Alt1", 2000.RPMtoRad(), 53.SI<Ampere>(), 30, 3.6)); - - map.Add(new CombinedAlternatorMapRow("Alt1", 4000.RPMtoRad(), 10.SI<Ampere>(), 64, 3.6)); - map.Add(new CombinedAlternatorMapRow("Alt1", 4000.RPMtoRad(), 63.SI<Ampere>(), 74, 3.6)); - map.Add(new CombinedAlternatorMapRow("Alt1", 4000.RPMtoRad(), 125.SI<Ampere>(), 68, 3.6)); - - map.Add(new CombinedAlternatorMapRow("Alt1", 6000.RPMtoRad(), 10.SI<Ampere>(), 53, 3.6)); - map.Add(new CombinedAlternatorMapRow("Alt1", 6000.RPMtoRad(), 68.SI<Ampere>(), 70, 3.6)); - map.Add(new CombinedAlternatorMapRow("Alt1", 6000.RPMtoRad(), 136.SI<Ampere>(), 62, 3.6)); - - map.Add(new CombinedAlternatorMapRow("Alt2", 2000.RPMtoRad(), 10.SI<Ampere>(), 62, 3)); - map.Add(new CombinedAlternatorMapRow("Alt2", 2000.RPMtoRad(), 27.SI<Ampere>(), 70, 3)); - map.Add(new CombinedAlternatorMapRow("Alt2", 2000.RPMtoRad(), 53.SI<Ampere>(), 30, 3)); - - map.Add(new CombinedAlternatorMapRow("Alt2", 4000.RPMtoRad(), 10.SI<Ampere>(), 64, 3)); - map.Add(new CombinedAlternatorMapRow("Alt2", 4000.RPMtoRad(), 63.SI<Ampere>(), 74, 3)); - map.Add(new CombinedAlternatorMapRow("Alt2", 4000.RPMtoRad(), 125.SI<Ampere>(), 68, 3)); - - map.Add(new CombinedAlternatorMapRow("Alt2", 6000.RPMtoRad(), 10.SI<Ampere>(), 53, 3)); - map.Add(new CombinedAlternatorMapRow("Alt2", 6000.RPMtoRad(), 68.SI<Ampere>(), 70, 3)); - map.Add(new CombinedAlternatorMapRow("Alt2", 6000.RPMtoRad(), 136.SI<Ampere>(), 62, 3)); - - return map; - } - } } diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs index 9b616f5211..564f483acf 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/CompressorMapReader.cs @@ -1,5 +1,4 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs index e348d59b3f..2225515973 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/ElectricConsumerReader.cs @@ -8,7 +8,6 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; -using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.Reader.ComponentData diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs index 02d2a6f103..f7dd3ee092 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/EnvironmentalContidionsMapReader.cs @@ -1,8 +1,5 @@ -using System; -using System.Collections; -using System.Collections.Generic; +using System.Collections.Generic; using System.Data; -using System.Globalization; using System.IO; using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; @@ -10,7 +7,6 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; -using TUGraz.VectoCore.Models.BusAuxiliaries.Util; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.Reader.ComponentData diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs index 4e88d36432..89b1f2847d 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/FuelConsumptionMapReader.cs @@ -32,6 +32,7 @@ using System; using System.Data; using System.Linq; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; diff --git a/VectoCore/VectoCore/InputData/Reader/ComponentData/HVACTechBenefitsReader.cs b/VectoCore/VectoCore/InputData/Reader/ComponentData/SSMTechnologiesReader.cs similarity index 86% rename from VectoCore/VectoCore/InputData/Reader/ComponentData/HVACTechBenefitsReader.cs rename to VectoCore/VectoCore/InputData/Reader/ComponentData/SSMTechnologiesReader.cs index b6fdd703eb..aa3c3ec48b 100644 --- a/VectoCore/VectoCore/InputData/Reader/ComponentData/HVACTechBenefitsReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/ComponentData/SSMTechnologiesReader.cs @@ -4,14 +4,12 @@ using System.IO; using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.Reader.ComponentData { - public class HVACTechBenefitsReader + public class SSMTechnologiesReader { protected static string[] headerCols = new[] { @@ -22,17 +20,17 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData Fields.ActiveVC, Fields.ActiveVH, Fields.ActiveVV }; - public static ITechlistBenefitLines ReadFromFile(string fileName) + public static ISSMTechnologies ReadFromFile(string fileName) { return Create(VectoCSVFile.Read(fileName), fileName); } - public static ITechlistBenefitLines ReadFromStream(Stream str) + public static ISSMTechnologies ReadFromStream(Stream str) { return Create(VectoCSVFile.ReadStream(str), null); } - public static ITechlistBenefitLines Create(DataTable data, string fileName) + public static ISSMTechnologies Create(DataTable data, string fileName) { if (!HeaderIsValid(data.Columns)) { throw new VectoException("invalid header for techlist file. expected: {0} got: {1}", @@ -40,9 +38,9 @@ namespace TUGraz.VectoCore.InputData.Reader.ComponentData ); } - var retVal = new List<ITechListBenefitLine>(); + var retVal = new List<ISSMTechnology>(); foreach (DataRow row in data.Rows) { - retVal.Add(new TechListBenefitLine() + retVal.Add(new SSMTechnology() { Category = row.Field<string>(Fields.Category), BenefitName = row.Field<string>(Fields.BenefitName), diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs index 648b559e00..55fe134f8a 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/AbstractSimulationDataAdapter.cs @@ -37,7 +37,6 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs index 65d8a48c47..9469d38e77 100644 --- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs +++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapter.cs @@ -203,6 +203,8 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter var retVal = SetCommonCombustionEngineData(engine, vehicle.TankSystem); retVal.IdleSpeed = VectoMath.Max(mode.IdleSpeed, vehicle.EngineIdleSpeed); + + retVal.Fuels = new List<CombustionEngineFuelData>(); foreach (var fuel in mode.Fuels) { retVal.Fuels.Add(new CombustionEngineFuelData() { @@ -604,7 +606,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter }; } - public ISSMInputs CreateSSMModelParameters(IVehicleData vehicleData, FuelData.Entry heatingFuel) + public ISSMInputs CreateSSMModelParameters(IVehicleData vehicleData, IFuelProperties heatingFuel) { return new SSMInputs(vehicleData, null, heatingFuel) { Technologies = DeclarationData.BusAuxiliaries.SSMTechnologyList, @@ -619,7 +621,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter LowVentilation = Constants.BusAuxiliaries.SteadyStateModel.LowVentilation, SpecificVentilationPower = Constants.BusAuxiliaries.SteadyStateModel.SpecificVentilationPower, // TODO! MQ 2019-19-29 Compressor Type and CompressorCapacity from input data? - CompressorType = "2-stage", + CompressorType = ACCompressorType.TwoStage, // "2-stage", CompressorCapacity = 18.SI(Unit.SI.Kilo.Watt).Cast<Watt>(), AuxHeaterEfficiency = Constants.BusAuxiliaries.SteadyStateModel.AuxHeaterEfficiency, diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs index b62a79a22a..d6997c48b2 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/EngineeringVTPModeVectoRunDataFactory.cs @@ -29,16 +29,13 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; using System.Collections.Generic; using System.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.InputData.Reader.DataObjectAdapter; -using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; namespace TUGraz.VectoCore.InputData.Reader.Impl diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs index b303d1ff3d..29a2210694 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AdvancedAuxiliaries.cs @@ -11,17 +11,14 @@ using System; using System.Collections.Generic; -using System.Windows.Forms; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.InputData.Reader.ComponentData; 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.Util; namespace TUGraz.VectoCore.Models.BusAuxiliaries { @@ -66,21 +63,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { private IM13 M13; private IM14 M14; - //private string vectoDirectory; - - private IHVACConstants hvacConstants; - - // Event Handler top level bubble. - // Public Sub VectoEventHandler(ByRef sender As Object, message As String, messageType As AdvancedAuxiliaryMessageType) _ - // Handles compressorMap.AuxiliaryEvent, alternatorMap.AuxiliaryEvent, ssmTool.Message, ssmToolModule14.Message - - // If Signals.AuxiliaryEventReportingLevel <= messageType Then - - // RaiseEvent AuxiliaryEvent(sender, message, messageType) - - // End If - // End Sub - + public void VectoEventHandler(ref object sender, string message, AdvancedAuxiliaryMessageType messageType) { //if (Signals.AuxiliaryEventReportingLevel <= messageType) { @@ -98,14 +81,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { // Initialise Model - public void Initialise(IAuxiliaryConfig auxCfg /*string IAuxPath, string vectoFilePath*/) + public void Initialise(IAuxiliaryConfig auxCfg, IFuelProperties fuelProperties /*string IAuxPath, string vectoFilePath*/) { - //var vectoDirectory = ""; // FilePathUtils.fPATH(vectoFilePath); - - //var auxPath = FilePathUtils.ResolveFilePath(vectoDirectory, IAuxPath); - - hvacConstants = auxCfg.HvacUserInputsConfig.HVACConstants; - Signals.CurrentCycleTimeInSeconds = 0; auxConfig = auxCfg; //new AuxiliaryConfig(auxPath); @@ -154,13 +131,11 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { M1 = new M01Impl( M0, auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, - auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, - Signals, ssmTool); + auxConfig.PneumaticUserInputsConfig.CompressorGearEfficiency, ssmTool); M2 = new M02Impl(m0_1, M0, - auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage, - Signals); + auxConfig.ElectricalUserInputsConfig.AlternatorGearEfficiency, auxConfig.ElectricalUserInputsConfig.PowerNetVoltage); M3 = new M03Impl(auxConfig, compressorMap, actuationsMap, Signals); @@ -171,11 +146,11 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { M7 = new M07Impl(M5, M6, Signals); M8 = new M08Impl(M1, M6, M7, Signals); M9 = new M09Impl(M1, M4, M6, M8, fuelMap, auxConfig.PneumaticAuxillariesConfig, Signals); - M10 = new M10Impl(M3, M9, Signals); + M10 = new M10Impl(M3, M9); M11 = new M11Impl(M1, M3, M6, M8, fuelMap, Signals); - M12 = new M12Impl(M10, M11, Signals); + M12 = new M12Impl(M10, M11); M13 = new M13Impl(M10, M11, M12, Signals); - M14 = new M14Impl(M13, ssmToolModule14, hvacConstants, Signals); + M14 = new M14Impl(M13, ssmToolModule14, fuelProperties, Signals); //compressorMap.AuxiliaryEvent += VectoEventHandler; //alternatorMap.AuxiliaryEvent += VectoEventHandler; @@ -232,10 +207,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { } } - public bool RunStart(IAuxiliaryConfig auxCfg) + public bool RunStart(IAuxiliaryConfig auxCfg, IFuelProperties fuelProperties) { try { - Initialise(auxCfg); + Initialise(auxCfg, fuelProperties); } catch (Exception ) { return false; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs index cc44a7e862..17b82ffbb2 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/AuxiliaryConfig.cs @@ -10,14 +10,8 @@ // See the LICENSE.txt for the specific language governing permissions and limitations. using System; -using System.Collections.Generic; -using System.Deployment.Internal; using Newtonsoft.Json; -using Newtonsoft.Json.Linq; using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCore.InputData.FileIO.JSON; -using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; namespace TUGraz.VectoCore.Models.BusAuxiliaries { [Serializable()] @@ -32,12 +26,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { public IPneumaticsAuxilliariesConfig PneumaticAuxillariesConfig { get; internal set; } - // Hvac - public IHVACUserInputsConfig HvacUserInputsConfig { get; internal set; } - public ISSMInputs SSMInputs { get; internal set; } - public IPneumaticActuationsMap ActuationsMap { get; internal set; } + public IActuationsMap ActuationsMap { get; internal set; } public string Cycle { get; internal set; } @@ -89,8 +80,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { thisConsumer.ConsumerName != otherConsumer.ConsumerName || thisConsumer.NominalConsumptionAmps != otherConsumer.NominalConsumptionAmps || thisConsumer.NumberInActualVehicle != otherConsumer.NumberInActualVehicle || - thisConsumer.PhaseIdle_TractionOn != otherConsumer.PhaseIdle_TractionOn) // || - //thisConsumer.TotalAvgConumptionAmps() != otherConsumer.TotalAvgConumptionAmps()) + thisConsumer.PhaseIdle_TractionOn != otherConsumer.PhaseIdle_TractionOn) { return false; } @@ -105,54 +95,16 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { if (!ElectricalUserInputsConfig.ResultCardIdle.Equals(other.ElectricalUserInputsConfig.ResultCardIdle)) { return false; } - //if (ElectricalUserInputsConfig.ResultCardIdle.Results.Count != - // other.ElectricalUserInputsConfig.ResultCardIdle.Results.Count) { - // return false; - //} - - //for (i = 0; i <= ElectricalUserInputsConfig.ResultCardIdle.Results.Count - 1; i++) { - // if (ElectricalUserInputsConfig.ResultCardIdle.Results[i].Amps != - // other.ElectricalUserInputsConfig.ResultCardIdle.Results[i].Amps || - // ElectricalUserInputsConfig.ResultCardIdle.Results[i].SmartAmps != - // other.ElectricalUserInputsConfig.ResultCardIdle.Results[i].SmartAmps) { - // return false; - // } - //} // ResultCardOverrun if (!ElectricalUserInputsConfig.ResultCardOverrun.Equals(other.ElectricalUserInputsConfig.ResultCardOverrun)) { return false; } - //if (ElectricalUserInputsConfig.ResultCardOverrun.Results.Count != - // other.ElectricalUserInputsConfig.ResultCardOverrun.Results.Count) { - // return false; - //} - - //for (i = 0; i <= ElectricalUserInputsConfig.ResultCardOverrun.Results.Count - 1; i++) { - // if (ElectricalUserInputsConfig.ResultCardOverrun.Results[i].Amps != - // other.ElectricalUserInputsConfig.ResultCardOverrun.Results[i].Amps || - // ElectricalUserInputsConfig.ResultCardOverrun.Results[i].SmartAmps != - // other.ElectricalUserInputsConfig.ResultCardOverrun.Results[i].SmartAmps) { - // return false; - // } - //} // ResultCardTraction if (!ElectricalUserInputsConfig.ResultCardTraction.Equals(other.ElectricalUserInputsConfig.ResultCardTraction)) { return false; } - //if (ElectricalUserInputsConfig.ResultCardTraction.Results.Count != - // other.ElectricalUserInputsConfig.ResultCardTraction.Results.Count) - // return false; - - //for (i = 0; i <= ElectricalUserInputsConfig.ResultCardTraction.Results.Count - 1; i++) { - // if (ElectricalUserInputsConfig.ResultCardTraction.Results[i].Amps != - // other.ElectricalUserInputsConfig.ResultCardTraction.Results[i].Amps || - // ElectricalUserInputsConfig.ResultCardTraction.Results[i].SmartAmps != - // other.ElectricalUserInputsConfig.ResultCardTraction.Results[i].SmartAmps) { - // return false; - // } - //} // SmartElectrical if (ElectricalUserInputsConfig.SmartElectrical != other.ElectricalUserInputsConfig.SmartElectrical) { @@ -240,17 +192,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { return true; } - //private bool CompareHVACConfig(IAuxiliaryConfig other) - //{ - // if (HvacUserInputsConfig.SSMFilePath != other.HvacUserInputsConfig.SSMFilePath) - // return false; - // if (HvacUserInputsConfig.BusDatabasePath != other.HvacUserInputsConfig.BusDatabasePath) - // return false; - // if (HvacUserInputsConfig.SSMDisabled != other.HvacUserInputsConfig.SSMDisabled) - // return false; - - // return true; - //} public bool ConfigValuesAreTheSameAs(IAuxiliaryConfig other) { @@ -282,106 +223,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries { return base.GetHashCode(); } - // Persistance Functions - - - - - // Persistance Helpers - //public void AssumeValuesOfOther(AuxiliaryConfig other) - //{ - // CloneElectricaConfiguration(other); - // ClonePneumaticsAuxiliariesConfig(other); - // ClonePneumaticsUserInputsConfig(other); - // CloneHVAC(other); - //} - - //private void CloneElectricaConfiguration(AuxiliaryConfig other) - //{ - // // AlternatorGearEfficiency - // ElectricalUserInputsConfig.AlternatorGearEfficiency = other.ElectricalUserInputsConfig.AlternatorGearEfficiency; - - // // AlternatorMap - // ElectricalUserInputsConfig.AlternatorMap = other.ElectricalUserInputsConfig.AlternatorMap; - - // // DoorActuationTimeSecond - // ElectricalUserInputsConfig.DoorActuationTimeSecond = other.ElectricalUserInputsConfig.DoorActuationTimeSecond; - - // // Electrical Consumer list - // ElectricalUserInputsConfig.ElectricalConsumers.Items.Clear(); - // foreach (var otherConsumer in other.ElectricalUserInputsConfig.ElectricalConsumers.Items) { - // var newConsumer = new ElectricalConsumer( - // otherConsumer.BaseVehicle, otherConsumer.Category, otherConsumer.ConsumerName, otherConsumer.NominalConsumptionAmps, - // otherConsumer.PhaseIdle_TractionOn, otherConsumer.PowerNetVoltage, otherConsumer.NumberInActualVehicle, - // otherConsumer.Info); - - // ElectricalUserInputsConfig.ElectricalConsumers.Items.Add(newConsumer); - // } - - // // PowerNetVoltage - // ElectricalUserInputsConfig.PowerNetVoltage = other.ElectricalUserInputsConfig.PowerNetVoltage; - - // // ResultCardIdle - // ElectricalUserInputsConfig.ResultCardIdle.Results.Clear(); - // foreach (var result in other.ElectricalUserInputsConfig.ResultCardIdle.Results) - // ElectricalUserInputsConfig.ResultCardIdle.Results.Add(new SmartResult(result.Amps, result.SmartAmps)); - - // // ResultCardOverrun - // ElectricalUserInputsConfig.ResultCardOverrun.Results.Clear(); - // foreach (var result in other.ElectricalUserInputsConfig.ResultCardOverrun.Results) - // ElectricalUserInputsConfig.ResultCardOverrun.Results.Add(new SmartResult(result.Amps, result.SmartAmps)); - - // // ResultCardTraction - // ElectricalUserInputsConfig.ResultCardTraction.Results.Clear(); - // foreach (var result in other.ElectricalUserInputsConfig.ResultCardTraction.Results) - // ElectricalUserInputsConfig.ResultCardTraction.Results.Add(new SmartResult(result.Amps, result.SmartAmps)); - - // // SmartElectrical - // ElectricalUserInputsConfig.SmartElectrical = other.ElectricalUserInputsConfig.SmartElectrical; - //} - - //private void ClonePneumaticsAuxiliariesConfig(AuxiliaryConfig other) - //{ - // PneumaticAuxillariesConfig.AdBlueNIperMinute = other.PneumaticAuxillariesConfig.AdBlueNIperMinute; - // PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute = - // other.PneumaticAuxillariesConfig.AirControlledSuspensionNIperMinute; - // PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG = other.PneumaticAuxillariesConfig.BrakingNoRetarderNIperKG; - // PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG = other.PneumaticAuxillariesConfig.BrakingWithRetarderNIperKG; - // PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM = - // other.PneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM; - // PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour = - // other.PneumaticAuxillariesConfig.DeadVolBlowOutsPerLitresperHour; - // PneumaticAuxillariesConfig.DeadVolumeLitres = other.PneumaticAuxillariesConfig.DeadVolumeLitres; - // PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand = - // other.PneumaticAuxillariesConfig.NonSmartRegenFractionTotalAirDemand; - // PneumaticAuxillariesConfig.PerDoorOpeningNI = other.PneumaticAuxillariesConfig.PerDoorOpeningNI; - // PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG = - // other.PneumaticAuxillariesConfig.PerStopBrakeActuationNIperKG; - // PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand = - // other.PneumaticAuxillariesConfig.SmartRegenFractionTotalAirDemand; - // PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction = - // other.PneumaticAuxillariesConfig.OverrunUtilisationForCompressionFraction; - //} - - //private void ClonePneumaticsUserInputsConfig(AuxiliaryConfig other) - //{ - // PneumaticUserInputsConfig.ActuationsMap = other.PneumaticUserInputsConfig.ActuationsMap; - // PneumaticUserInputsConfig.AdBlueDosing = other.PneumaticUserInputsConfig.AdBlueDosing; - // PneumaticUserInputsConfig.AirSuspensionControl = other.PneumaticUserInputsConfig.AirSuspensionControl; - // PneumaticUserInputsConfig.CompressorGearEfficiency = other.PneumaticUserInputsConfig.CompressorGearEfficiency; - // PneumaticUserInputsConfig.CompressorGearRatio = other.PneumaticUserInputsConfig.CompressorGearRatio; - // PneumaticUserInputsConfig.CompressorMap = other.PneumaticUserInputsConfig.CompressorMap; - // PneumaticUserInputsConfig.Doors = other.PneumaticUserInputsConfig.Doors; - // PneumaticUserInputsConfig.KneelingHeightMillimeters = other.PneumaticUserInputsConfig.KneelingHeightMillimeters; - // PneumaticUserInputsConfig.RetarderBrake = other.PneumaticUserInputsConfig.RetarderBrake; - // PneumaticUserInputsConfig.SmartAirCompression = other.PneumaticUserInputsConfig.SmartAirCompression; - // PneumaticUserInputsConfig.SmartRegeneration = other.PneumaticUserInputsConfig.SmartRegeneration; - //} - - //private void CloneHVAC(AuxiliaryConfig other) - //{ - // //HvacUserInputsConfig.HVACConstants = other.HvacUserInputsConfig.HVACConstants; - - //} } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs index f2e3185630..084339ff30 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/Alternator.cs @@ -10,7 +10,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric // Model based on CombinedALTS_V02_Editable.xlsx public class Alternator : IAlternator { - private ICombinedAlternatorSignals signals; + //private ICombinedAlternatorSignals signals; // D6 public string AlternatorName { get; set; } @@ -31,38 +31,31 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric public List<Table4Row> RangeTable { get; set; } = new List<Table4Row>(); // S9 - public PerSecond SpindleSpeed - { - get { return signals.CrankRPM * PulleyRatio; } - } + //public PerSecond SpindleSpeed + //{ + // get { return signals.CrankRPM * PulleyRatio; } + //} // S10 - public double Efficiency + public double GetEfficiency(PerSecond crankSpeed, Ampere currentDemand) { - get { - // First build RangeTable, table 4 + // First build RangeTable, table 4 InitialiseRangeTable(); - CalculateRangeTable(); + CalculateRangeTable(currentDemand); // Calculate ( Interpolate ) Efficiency var range = RangeTable.Select(s => new AltUserInput<PerSecond>(s.RPM, s.Efficiency)).ToList(); - return Alternator.Iterpolate(range, SpindleSpeed); - } + return Iterpolate(range, crankSpeed * PulleyRatio); + } // Constructors public Alternator() { } - public Alternator(ICombinedAlternatorSignals isignals, List<ICombinedAlternatorMapRow> inputs) + public Alternator(List<ICombinedAlternatorMapRow> inputs) { - if (isignals == null) { - throw new ArgumentException("Alternator - ISignals supplied is nothing"); - } - - signals = isignals; - AlternatorName = inputs.First().AlternatorName; PulleyRatio = inputs.First().PulleyRatio; @@ -115,7 +108,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric return retVal; } - private void CalculateRangeTable() + private void CalculateRangeTable(Ampere currentDemand) { // M10=Row0-Rpm - N10=Row0-Eff // M11=Row1-Rpm - N11=Row1-Eff @@ -128,15 +121,15 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric // EFFICIENCY // 2000 - var N12 = Alternator.Iterpolate(InputTable2000, signals.CurrentDemandAmps); + var N12 = Iterpolate(InputTable2000, currentDemand); RangeTable[2].Efficiency = N12; // 4000 - var N13 = Alternator.Iterpolate(InputTable4000, signals.CurrentDemandAmps); + var N13 = Iterpolate(InputTable4000, currentDemand); RangeTable[3].Efficiency = N13; // 6000 - var N14 = Alternator.Iterpolate(InputTable6000, signals.CurrentDemandAmps); + var N14 = Iterpolate(InputTable6000, currentDemand); RangeTable[4].Efficiency = N14; // Row0 & Row1 Efficiency =IF(N13>N12,0,MAX(N12:N14)) - Example Alt 1 N13= diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs index 23a705e2e6..31fc8df7e0 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/AlternatorMap.cs @@ -11,9 +11,7 @@ using System; using System.Collections.Generic; -using System.IO; using System.Linq; -using System.Text; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; @@ -149,15 +147,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric private void GetMapRanges() { - ;/* -Input: - - _yRange = (From coords As MapPoint In _map Order By coords.Y Select coords.Y Distinct).ToList() - */ - ;/* -Input: - _xRange = (From coords As MapPoint In _map Order By coords.x Select coords.x Distinct).ToList() - */ _yRange = _map.Select(x => x.Y).Distinct().OrderBy(x => x).ToList(); _xRange = _map.Select(x => x.X).Distinct().OrderBy(x => x).ToList(); @@ -239,9 +228,9 @@ Input: } // Get Alternator Efficiency - public double GetEfficiency(PerSecond rpm, Ampere amps) + public double GetEfficiency(PerSecond rpm, Ampere currentDemand) { - return GetValue(rpm, amps); + return GetValue(rpm, currentDemand); } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs index adb69723be..faff9a18d0 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternator.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Globalization; using System.IO; using System.Linq; using System.Text; @@ -8,7 +7,6 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; -using TUGraz.VectoCore.Models.BusAuxiliaries.Util; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { @@ -16,7 +14,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric { public List<IAlternator> Alternators { get; set; } = new List<IAlternator>(); - private ICombinedAlternatorSignals altSignals; private ISignals Signals; private double AverageAlternatorsEfficiency; @@ -26,7 +23,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric Source = source; Signals = signals; - altSignals = new CombinedAlternatorSignals(); + Initialise(alternatorData); @@ -54,21 +51,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric public string Source { get; } // Interface Implementation - public double GetEfficiency(PerSecond CrankRPM, Ampere Amps) + public double GetEfficiency(PerSecond crankSpeed, Ampere currentDemand) { - altSignals.CrankRPM = CrankRPM; - altSignals.CurrentDemandAmps = (Amps.Value() / (double)Alternators.Count).SI<Ampere>(); - - ; - - //if (Signals == null/* || Signals.RunningCalc*/) { - // If running calc cycle get efficiency from interpolation function - var alternatorMapValues = Alternators.Average(a => a.Efficiency) / 100.0; - //} else { - // // If running Pre calc cycle get an average of inputs - // alternatorMapValues = AverageAlternatorsEfficiency; - //} + var currentDemandSingle = (currentDemand.Value() / Alternators.Count).SI<Ampere>(); + + var alternatorMapValues = Alternators.Average(a => a.GetEfficiency(crankSpeed, currentDemandSingle)) / 100.0; if (alternatorMapValues <= 0) { alternatorMapValues = 0.01; @@ -85,24 +73,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric Alternators.Clear(); foreach (var alt in map.GroupBy(g => g.AlternatorName)) { - Alternators.Add(new Alternator(altSignals, alt.ToList())); + Alternators.Add(new Alternator(alt.ToList())); } } - - //event Interfaces.AuxiliaryEventEventHandler IAuxiliaryEvent.AuxiliaryEvent - //{ - // add { - // //throw new NotImplementedException(); - // } - - // remove { - // //throw new NotImplementedException(); - // } - //} - - + // Grid Management private bool AddNewAlternator(List<ICombinedAlternatorMapRow> list, ref string feeback) { @@ -115,7 +91,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric return false; } - IAlternator alternator = new Alternator(altSignals, list.ToList()); + IAlternator alternator = new Alternator(list.ToList()); Alternators.Add(alternator); @@ -196,8 +172,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric } // Add Model Source - sb.AppendLine("[MODELSOURCE]"); - sb.Append(ToString()); + sb.AppendLine("# [MODELSOURCE]"); + sb.Append(ToString().Split(new [] {Environment.NewLine}, StringSplitOptions.None).Select(x => "# " + x)); // Write the stream cotnents to a new file named "AllTxtFiles.txt" using (var outfile = new StreamWriter(aaltPath)) { @@ -246,26 +222,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric } } - // sb.AppendLine("") - // sb.AppendLine("********* COMBINED EFFICIENCY VALUES **************") - // sb.AppendLine("") - // sb.AppendLine(vbTab + "RPM VALUES") - // sb.AppendLine("AMPS" + vbTab + "500" + vbTab + "1500" + vbTab + "2500" + vbTab + "3500" + vbTab + "4500" + vbTab + "5500" + vbTab + "6500" + vbTab + "7500") - // For a As Single = 1 To Alternators.Count * 50 - - // sb.Append(a.ToString("0") + vbTab) - // For Each r As Single In {500, 1500, 2500, 3500, 4500, 5500, 6500, 7500} - - // Dim eff As Single = GetEfficiency(r, a).Efficiency - - // sb.Append(eff.ToString("0.000") + vbTab) - - // Next - // sb.AppendLine("") - - // Next - - return sb.ToString(); } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs index df38ef9245..7de6125650 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorMapRow.cs @@ -1,7 +1,6 @@ using System; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { @@ -10,27 +9,25 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric public class CombinedAlternatorMapRow : ICombinedAlternatorMapRow { - public string AlternatorName { get; set; } - public PerSecond RPM { get; set; } - public Ampere Amps { get; set; } - public double Efficiency { get; set; } - public double PulleyRatio { get; set; } + public string AlternatorName { get; } + public PerSecond RPM { get; } + public Ampere Amps { get; } + public double Efficiency { get; } + public double PulleyRatio { get; } - // Constructors - public CombinedAlternatorMapRow() + public CombinedAlternatorMapRow( + string alternatorName, PerSecond rpm, Ampere amps, double efficiency, double pulleyRatio) { - } - - public CombinedAlternatorMapRow(string alternatorName, PerSecond rpm, Ampere amps, double efficiency, double pulleyRatio) - { - // Sanity Check - if (alternatorName.Trim().Length == 0) + if (alternatorName.Trim().Length == 0) { throw new ArgumentException("Alternator name cannot be zero length"); - if (efficiency < 0 | efficiency > 100) + } + if (efficiency < 0 | efficiency > 100) { throw new ArgumentException("Alternator Efficiency must be between 0 and 100"); - if (pulleyRatio <= 0) + } + if (pulleyRatio <= 0) { throw new ArgumentException("Alternator Pully ratio must be a positive number"); + } // Assignments AlternatorName = alternatorName; diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs deleted file mode 100644 index 3da6a42949..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/CombinedAlternatorSignals.cs +++ /dev/null @@ -1,16 +0,0 @@ -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics -{ - // Used by the CombinedAlternator class and any other related classes. - public class CombinedAlternatorSignals : ICombinedAlternatorSignals - { - public PerSecond CrankRPM { get; set; } - - public Ampere CurrentDemandAmps { get; set; } - - // Number of alternators in the Combined Alternator - public int NumberOfAlternators { get; set; } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs index 02dfbebf62..04f5963463 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricalConsumerList.cs @@ -10,13 +10,8 @@ // See the LICENSE.txt for the specific language governing permissions and limitations. -using System; using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Configuration; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { @@ -31,90 +26,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric _items = consumer; } - //public ElectricalConsumerList(Volt powernetVoltage, double doorDutyCycle_ZeroToOne) - //{ - // //_powernetVoltage = powernetVoltage; - - // //if (createDefaultList) - // // _items = GetDefaultConsumerList(); - - - // DoorDutyCycleFraction = 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 vehicle", 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 IReadOnlyList<IElectricalConsumer> Items @@ -123,32 +34,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric 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) - //{ - // return excludeOnBase - // ? Items.Where(x => x.BaseVehicle == false) - // .Sum(consumer => consumer.TotalAvgConumptionAmps(DoorDutyCycleFraction)) - // : Items.Sum(x => x.TotalAvgConumptionAmps(DoorDutyCycleFraction)); - - // //Aggregate item In Items Into Sum(item.TotalAvgConumptionAmps(DoorDutyCycleFraction)) - //} + } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs index 31e57c6175..56213464a3 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ElectricsUserInputsConfig.cs @@ -9,10 +9,8 @@ // // See the LICENSE.txt for the specific language governing permissions and limitations. -using System.Collections.Generic; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics @@ -34,24 +32,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric public bool SmartElectrical { get; set; } - - //public ElectricsUserInputsConfig(bool setToDefaults = false, VectoInputs vectoInputs = null/* TODO Change to default(_) if this is not a reference type */) - //{ - // if (setToDefaults) - // SetPropertiesToDefaults(vectoInputs); - //} - - //public void SetPropertiesToDefaults() - //{ - // DoorActuationTimeSecond = 4.SI<Second>(); - // StoredEnergyEfficiency = 0.935; - // AlternatorGearEfficiency = 0.92; - // //PowerNetVoltage = vectoInputs.PowerNetVoltage; - // ResultCardIdle = new ResultCard(new List<SmartResult>()); - // ResultCardOverrun = new ResultCard(new List<SmartResult>()); - // ResultCardTraction = new ResultCard(new List<SmartResult>()); - // SmartElectrical = false; - // AlternatorMap = new List<ICombinedAlternatorMapRow>(); - //} } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs index aef5bd79bb..18518c0154 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M00Impl.cs @@ -1,7 +1,6 @@ using System; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -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; @@ -10,19 +9,13 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric { public class M00Impl : AbstractModule, IM0_NonSmart_AlternatorsSetEfficiency { - protected Ampere _getHVACElectricalPowerDemandAmps; - protected double _alternatorsEfficiency; protected IAlternatorMap _alternatorEfficiencyMap; protected Volt _powernetVoltage; protected ISignals _signals; - protected ISSMTOOL _steadyStateModelHVAC; protected Watt _ElectricalPowerW; - protected Watt _MechanicalPowerW; - protected KilogramPerSecond _FuelingLPerH; private IM0_1_AverageElectricLoadDemand _m0_1; - public M00Impl( - IM0_1_AverageElectricLoadDemand m0_1, IAlternatorMap alternatorEfficiencyMap, Volt powernetVoltage, + public M00Impl(IM0_1_AverageElectricLoadDemand m0_1, IAlternatorMap alternatorEfficiencyMap, Volt powernetVoltage, ISignals signals, ISSMTOOL ssmHvac) { if (m0_1 == null) { @@ -49,13 +42,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric _signals = signals; - _steadyStateModelHVAC = ssmHvac; - _ElectricalPowerW = ssmHvac.ElectricalWAdjusted; - - _MechanicalPowerW = ssmHvac.MechanicalWBaseAdjusted; - - _FuelingLPerH = ssmHvac.FuelPerHBaseAdjusted; } #region Implementation of IM0_NonSmart_AlternatorsSetEfficiency diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs index c14bae8f5e..d6a921ef44 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M02Impl.cs @@ -1,7 +1,5 @@ using System; -using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; @@ -16,7 +14,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric public M02Impl( IM0_1_AverageElectricLoadDemand m0_1, IM0_NonSmart_AlternatorsSetEfficiency m0, double altPulleyEfficiency, - Volt powerNetVoltage, ISignals signals) + Volt powerNetVoltage) { if (m0_1 == null) { throw new ArgumentException("Electrical Consumer List must be supplied"); diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs index 85f6edc4c2..ad41ff5261 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_1Impl.cs @@ -4,7 +4,6 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electrics { @@ -40,7 +39,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric } } - private double GetDoorActuationTimeFraction(IPneumaticActuationsMap actuations, string cycle) + private double GetDoorActuationTimeFraction(IActuationsMap actuations, string cycle) { var actuationsKey = new ActuationsKey(Constants.BusAuxiliaries.BrakeAndDoorsActuationKey , cycle); diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs index 783e72f32f..9560b56251 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/M0_5Impl.cs @@ -1,7 +1,6 @@ using System; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics; @@ -62,18 +61,16 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric private Ampere HvacPlusNonBaseCurrents() { - //'Stored Energy Efficience removed from V8.0 21/4/15 by Mike Preston //tb return _m0.GetHVACElectricalPowerDemandAmps + _m0_1.GetTotalAverageDemandAmpsWithoutBaseLoad; - //_electricalConsumables.GetTotalAverageDemandAmps(true); //'/ElectricConstants.StoredEnergyEfficiency) } public Ampere SmartIdleCurrent { get { - var hvac_Plus_None_Base = HvacPlusNonBaseCurrents(); - var smart_idle_current = _resultCardIdle.GetSmartCurrentResult(hvac_Plus_None_Base); + var hvacPlusNoneBase = HvacPlusNonBaseCurrents(); + var smartIdleCurrent = _resultCardIdle.GetSmartCurrentResult(hvacPlusNoneBase); - return smart_idle_current; + return smartIdleCurrent; } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs index d1aad6bd94..472cd57ba2 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Electrics/ResultCard.cs @@ -58,116 +58,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Electric private Ampere GetOrInterpolate(Ampere amps) { // TODO: MQ 2019-10-29 - simplify? - Ampere pre; - Ampere post; - Ampere dAmps; - Ampere dSmartAmps; - double smartAmpsSlope; - Ampere smartAmps; - - var maxKey = _results.Max().Amps; - var minKey = _results.Min().Amps; - - var compareKey = new SmartResult(amps, 0.SI<Ampere>()); - - // Is on boundary check - if (_results.Contains(compareKey)) - return _results.OrderBy(x => x.Amps).First(x => x.Amps == compareKey.Amps).SmartAmps; - - // Is over map - Extrapolate - if (amps > maxKey) { - // get the entries before and after the supplied key - pre = (from a in _results - orderby a.Amps - where a.Amps < maxKey - select a).Last().Amps; - post = maxKey; - - // get the delta values - dAmps = post - pre; - dSmartAmps = (from da in _results - orderby da.Amps - where da.Amps == post - select da).First().SmartAmps - (from da in _results - orderby da.Amps - where da.Amps == pre - select da).First().SmartAmps; - - // calculate the slopes - smartAmpsSlope = dSmartAmps / dAmps; - - // calculate the new values - smartAmps = ((amps - post) * smartAmpsSlope) + (from da in _results - orderby da.Amps - where da.Amps == post - select da).First().SmartAmps; - - return smartAmps; - } - // Is under map - Extrapolate - if (amps < minKey) { - // get the entries before and after the supplied key - // Post is the first entry and pre is the penultimate to first entry - post = minKey; - pre = (from k in _results - orderby k.Amps - where k.Amps > minKey - select k).First().Amps; - - // get the delta values - dAmps = post - pre; - dSmartAmps = (from da in _results - orderby da.Amps - where da.Amps == post - select da).First().SmartAmps - (from da in _results - orderby da.Amps - where da.Amps == pre - select da).First().SmartAmps; - - // calculate the slopes - smartAmpsSlope = dSmartAmps / dAmps; - - // calculate the new values - smartAmps = ((amps - post) * smartAmpsSlope) + (from da in _results - orderby da.Amps - where da.Amps == post - select da).First().SmartAmps; - - return smartAmps; - } + var s = _results.GetSection(x => amps > x.Amps); + return VectoMath.Interpolate(s.Item1.Amps, s.Item2.Amps, s.Item1.SmartAmps, s.Item2.SmartAmps, amps); - // Is Inside map - Interpolate - - // get the entries before and after the supplied rpm - pre = (from m in _results - orderby m.Amps - where m.Amps < amps - select m).Last().Amps; - post = (from m in _results - where m.Amps > amps - select m).First().Amps; - - // get the delta values for rpm and the map values - dAmps = post - pre; - dSmartAmps = (from da in _results - orderby da.Amps - where da.Amps == post - select da).First().SmartAmps - (from da in _results - orderby da.Amps - where da.Amps == pre - select da).First().SmartAmps; - - // calculate the slopes - smartAmpsSlope = dSmartAmps / dAmps; - - // calculate the new values - smartAmps = ((amps - post) * smartAmpsSlope) + (from da in _results - orderby da.Amps - where da.Amps == post - select da).First().SmartAmps; - - return smartAmps; } public override bool Equals(object other) diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs deleted file mode 100644 index a4c4491311..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/Bus.cs +++ /dev/null @@ -1,207 +0,0 @@ -using System; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public class Bus : IBus - { - - // Private Property Backing - private int _id; - private string _model; - private string _floorType; - private string _engineType; - private double _lengthInMetres; - private double _widthInMetres; - private double _heightInMetres; - private int _registeredPassengers; - private bool _isDoubleDecker; - - public int Id - { - get { - return _id; - } - } - - public string Model - { - get { - return _model; - } - set { - if (!ModelOK(value)) - throw new ArgumentException("Model argument is invalid"); - _model = value; - } - } - - public string FloorType - { - get { - return _floorType; - } - set { - if (!FloorTypeOK(value)) - throw new ArgumentException("Model argument is invalid"); - _floorType = value; - } - } - - public string EngineType - { - get { - return _engineType; - } - set { - if (!EngineOK(value)) - throw new ArgumentException("EngineType argument is invalid"); - _engineType = value; - } - } - - public double LengthInMetres - { - get { - return _lengthInMetres; - } - set { - if (!DimensionOK(value)) - throw new ArgumentException("Invalid Length"); - _lengthInMetres = value; - } - } - - public double WidthInMetres - { - get { - return _widthInMetres; - } - set { - if (!DimensionOK(value)) - throw new ArgumentException("Invalid Width"); - _widthInMetres = value; - } - } - - public double HeightInMetres - { - get { - return _heightInMetres; - } - set { - if (!DimensionOK(value)) - throw new ArgumentException("Invalid Height"); - _heightInMetres = value; - } - } - - public int RegisteredPassengers - { - get { - return _registeredPassengers; - } - set { - if (!PassengersOK(value)) - throw new ArgumentException("Invalid Number Of Passengers"); - _registeredPassengers = value; - } - } - - public bool IsDoubleDecker - { - get { - return _isDoubleDecker; - } - set { - _isDoubleDecker = value; - } - } - - // Constructors - public Bus(int _id, string _model, string _floorType, string _engineType, double _lengthInMetres, double _widthInMetres, double _heightInMetres, int _registeredPassengers, bool _doubleDecker) - { - - - // Validity checks. - if (!ModelOK(_model)) - throw new ArgumentException("Model argument is invalid"); - if (!FloorTypeOK(_floorType)) - throw new ArgumentException("Model argument is invalid"); - if (!EngineOK(_engineType)) - throw new ArgumentException("EngineType argument is invalid"); - if (!DimensionOK(_lengthInMetres)) - throw new ArgumentException("Invalid Length"); - if (!DimensionOK(_widthInMetres)) - throw new ArgumentException("Invalid Width"); - if (!DimensionOK(_heightInMetres)) - throw new ArgumentException("Invalid Height"); - if (!PassengersOK(_registeredPassengers)) - throw new ArgumentException("Invalid Number Of Passengers"); - - - // Set Private Members - this._id = _id; - this._model = _model; - this._floorType = _floorType; - this._engineType = _engineType; - this._lengthInMetres = _lengthInMetres; - this._widthInMetres = _widthInMetres; - this._heightInMetres = _heightInMetres; - this._registeredPassengers = _registeredPassengers; - this._isDoubleDecker = _doubleDecker; - } - - // Construction Validators Helpers - private bool ModelOK(string model) - { - model = model.ToLower(); - - if (model == null || model.Trim().Length == 0) - return false; - - return true; - } - - private bool FloorTypeOK(string floorType) - { - floorType = floorType.ToLower(); - - if (floorType == null || floorType.Trim().Length == 0) - return false; - - if (floorType != "raised floor" && floorType != "low floor" && floorType != "semi low floor") - return false; - - return true; - } - - private bool EngineOK(string engine) - { - engine = engine.ToLower(); - - if (engine == null || engine.Trim().Length == 0) - return false; - - if (engine != "diesel" && engine != "gas" && engine != "hybrid") - return false; - - return true; - } - - private bool DimensionOK(double dimension) - { - return dimension > 0.5; - } - - private bool PassengersOK(int registeredPassengers) - { - return registeredPassengers > 1; - } - - // To String function - public override string ToString() - { - return string.Format("{0},{1},{2},{3},{4},{5},{6},{7}", _model, _floorType, _engineType, _lengthInMetres, _widthInMetres, _heightInMetres, _registeredPassengers, _isDoubleDecker); - } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs deleted file mode 100644 index b1275fb68c..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusDatabase.cs +++ /dev/null @@ -1,136 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Globalization; -using System.IO; -using System.Linq; -using System.Text; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public class BusDatabase : IBusDatabase - { - private List<IBus> buses = new List<IBus>(); - private List<IBus> selectListBuses = new List<IBus>(); - - public bool AddBus(IBus bus) - { - var result = true; - - try { - buses.Add(bus); - } catch (Exception ) { - result = false; - } - - return result; - } - - public List<IBus> GetBuses(string busModel, bool AsSelectList = false) - { - if (AsSelectList) { - selectListBuses = new List<IBus>(); - selectListBuses = buses.Where(v => v.Model == "" || v.Model.ToLower().Contains(busModel.ToLower())).ToList(); - selectListBuses.Insert(0, new Bus(0, "<Select>", "low floor", "gas", 1, 1, 1, 2, false)); - return selectListBuses; - } - - return buses.Where(v => v.Model == "" || v.Model.ToLower().Contains(busModel.ToLower())).ToList(); - } - - public bool Initialise(string filepath) - { - var returnStatus = true; - - if (File.Exists(filepath)) { - using (var sr = new StreamReader(filepath)) { - // get array og lines fron csv - 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.Length < 2) { - return false; - } - - var firstline = true; - - var id = 1; - - foreach (var line in lines) { - if (!firstline) { - - // split the line - var elements = line.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); - // 7 or 8 entries per line required - if ((elements.Length != 7 && elements.Length != 8)) - throw new ArgumentException("Incorrect number of values in csv file"); - - // Bus - try { - 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 ) { - - // Indicate problems - returnStatus = false; - } - - id = id + 1; - } else { - firstline = false; - } - } - } - } else { - returnStatus = false; - } - - var uniqueBuses = buses.Select(b => b.Model).Distinct().Count(); - if (buses.Count != uniqueBuses) { - returnStatus = false; - } - - return returnStatus; - } - - public bool UpdateBus(int id, IBus bus) - { - var result = true; - - try { - var existingBus = buses.Single(b => b.Id == id); - - existingBus.Model = bus.Model; - existingBus.RegisteredPassengers = bus.RegisteredPassengers; - existingBus.FloorType = bus.FloorType; - existingBus.LengthInMetres = bus.LengthInMetres; - existingBus.WidthInMetres = bus.WidthInMetres; - existingBus.HeightInMetres = bus.HeightInMetres; - existingBus.IsDoubleDecker = bus.IsDoubleDecker; - } catch (Exception ) { - result = false; - } - - return result; - } - - public bool Save(string filepath) - { - var result = true; - var output = new StringBuilder(); - - try { - output.AppendLine("Bus Model,Type,engine Type,length in m,wide in m,height in m,registered passengers,double decker"); - - foreach (var bus in buses) - output.AppendLine(bus.ToString()); - - File.WriteAllText(filepath, output.ToString()); - } catch (Exception ) { - result = false; - } - - return result; - } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs deleted file mode 100644 index 3ba51da9fe..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/BusEngineType.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public enum BusEngineType - { - Diesal = 1, - Gas = 2, - Hybrid = 3 - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs index 706709e99f..647a794c95 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionMapEntry.cs @@ -1,8 +1,5 @@ -using System.Collections.Generic; -using System.Linq; -using TUGraz.VectoCommon.BusAuxiliaries; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs index 6033b3aa0c..38fa000244 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/EnvironmentalConditionsMap.cs @@ -1,13 +1,6 @@ -using System; -using System.Collections.Generic; +using System.Collections.Generic; using System.Collections.ObjectModel; -using System.Globalization; -using System.IO; -using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -using TUGraz.VectoCore.Models.BusAuxiliaries.Util; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs deleted file mode 100644 index 4a77815e71..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACConstants.cs +++ /dev/null @@ -1,62 +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 Newtonsoft.Json; -using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCommon.Utils; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public class HVACConstants : IHVACConstants - { - [JsonProperty("FuelDensity")] - private readonly double _fuelDensity; - [JsonProperty("DieselGCVJperGram")] - private readonly double _dieselGcvJperGram = 44800; - - public HVACConstants() - { - // TODO:!! MQ 2019-10-21: Use Fuel config from VECTO Declaration Data! - - _fuelDensity = 835; // .SI(Of KilogramPerCubicMeter)() - } - - public HVACConstants(KilogramPerCubicMeter fuelDensitySingle) - { - _fuelDensity = fuelDensitySingle.Value(); - } - - - [JsonIgnore] - public JoulePerKilogramm DieselGCVJperGram - { - get { - return _dieselGcvJperGram.SI(Unit.SI.Joule.Per.Gramm).Cast<JoulePerKilogramm>(); - } - } - - [JsonIgnore()] - public KilogramPerCubicMeter FuelDensity - { - get { - return _fuelDensity.SI<KilogramPerCubicMeter>(); - } - } - - [JsonIgnore()] - public double FuelDensityAsGramPerLiter - { - get { - return _fuelDensity * 1000; - } - } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs deleted file mode 100644 index e2aeba16e5..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/HVACUserInputsConfig.cs +++ /dev/null @@ -1,33 +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 TUGraz.VectoCommon.BusAuxiliaries; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public class HVACUserInputsConfig : IHVACUserInputsConfig - { - public HVACUserInputsConfig() - { - HVACConstants = new HVACConstants(); - } - - //public ISSMInputs SSMInputs { get; internal set; } - - public IHVACConstants HVACConstants { get; } - - //public string SSMFilePath { get; set; } - - //public string BusDatabasePath { get; set; } - - //public bool SSMDisabled { get; set; } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs deleted file mode 100644 index 2d8e8154b3..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBus.cs +++ /dev/null @@ -1,16 +0,0 @@ -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public interface IBus - { - int Id { get; } - - string Model { get; set; } - string FloorType { get; set; } - string EngineType { get; set; } - double LengthInMetres { get; set; } - double WidthInMetres { get; set; } - double HeightInMetres { get; set; } - int RegisteredPassengers { get; set; } - bool IsDoubleDecker { get; set; } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs deleted file mode 100644 index 61839df27a..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/IBusDatabase.cs +++ /dev/null @@ -1,17 +0,0 @@ -using System.Collections.Generic; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC -{ - public interface IBusDatabase - { - bool AddBus(IBus bus); - - List<IBus> GetBuses(string busModel, bool AsSelectList = false); - - bool Initialise(string busFileCSV); - - bool UpdateBus(int id, IBus bus); - - bool Save(string filepath); - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs index f134c09b72..062bc7b787 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/M01Impl.cs @@ -1,7 +1,5 @@ using System; -using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -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; @@ -13,15 +11,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC protected IM0_NonSmart_AlternatorsSetEfficiency _m0; protected Double _alternatorGearEfficiency; protected Double _compressorGearEfficiency; - protected ISignals _signals; - protected Volt _powernetVoltage; - protected ISSMTOOL _steadyStateModel; - + protected Watt _ElectricalPowerW; protected Watt _MechanicalPowerW; protected KilogramPerSecond _FuelingLPerH; - public M01Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, double altGearEfficiency, double compressorGearEfficiency, Volt powernetVoltage, ISignals signals, ISSMTOOL ssm) + public M01Impl(IM0_NonSmart_AlternatorsSetEfficiency m0, double altGearEfficiency, double compressorGearEfficiency, ISSMTOOL ssm) { //'Sanity Check - Illegal operations without all params. if (m0 == null) { @@ -30,23 +25,11 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC if (altGearEfficiency < ElectricConstants.AlternatorPulleyEfficiencyMin || altGearEfficiency > ElectricConstants.AlternatorPulleyEfficiencyMax) { - throw new ArgumentException( - string.Format - ( - "Gear efficiency must be between {0} and {1}", + throw new ArgumentException(string.Format("Gear efficiency must be between {0} and {1}", ElectricConstants.AlternatorPulleyEfficiencyMin, ElectricConstants.AlternatorPulleyEfficiencyMax)); } - if (signals == null) { - throw new Exception("Signals object as supplied is null"); - } - - if (powernetVoltage < ElectricConstants.PowenetVoltageMin || powernetVoltage > ElectricConstants.PowenetVoltageMax) { - throw new ArgumentException( - string.Format( - "PowenetVoltage supplied must be in the range {0} to {1}", ElectricConstants.PowenetVoltageMin, - ElectricConstants.PowenetVoltageMax)); - } - + + if (ssm == null ) { throw new ArgumentException("Steady State model was not supplied"); } @@ -58,14 +41,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC //'Assign _m0 = m0; _alternatorGearEfficiency = altGearEfficiency; - _signals = signals; + _compressorGearEfficiency = compressorGearEfficiency; - _powernetVoltage = powernetVoltage; - - - _steadyStateModel = ssm; - + _ElectricalPowerW = ssm.ElectricalWAdjusted; _MechanicalPowerW = ssm.MechanicalWBaseAdjusted; _FuelingLPerH = ssm.FuelPerHBaseAdjusted; // ' SI(Of LiterPerHour)() diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs index 93e741bd8b..c788f3c219 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMCalculate.cs @@ -170,16 +170,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // Base Values - public Watt BaseHeatingW_Mechanical - { - get { return 0.SI<Watt>(); } - } - - public Watt BaseHeatingW_ElectricalCoolingHeating - { - get { return 0.SI<Watt>(); } - } - + public Watt BaseHeatingW_ElectricalVentilation(Kelvin environmentalTemperature, WattPerSquareMeter solar) { @@ -248,7 +239,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC return environmentalTemperature < gen.BoundaryConditions.TemperatureCoolingTurnsOff ? 0.SI<Watt>() - : gen.ACSystem.CompressorTypeDerived.ToLower() == "electrical" + : gen.ACSystem.CompressorType.IsElectrical() ? 0.SI<Watt>() : run1TotalW > 0 && run2TotalW > 0 ? VectoMath.Min(run1TotalW, run2TotalW) @@ -271,7 +262,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC var run2TotalW = Run2.TotalW(environmentalTemperature, solar); return environmentalTemperature < gen.BoundaryConditions.TemperatureCoolingTurnsOff ? 0.SI<Watt>() - : gen.ACSystem.CompressorTypeDerived.ToLower() == "electrical" + : gen.ACSystem.CompressorType.IsElectrical() ? run1TotalW > 0 && run2TotalW > 0 ? VectoMath.Min(run1TotalW, run2TotalW) : 0.SI<Watt>() @@ -306,21 +297,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC : 0.SI<Watt>(); } - public Watt BaseCoolingW_FuelFiredHeating - { - get { return 0.SI<Watt>(); } - } - - public Watt BaseVentilationW_Mechanical - { - get { return 0.SI<Watt>(); } - } - - public Watt BaseVentilationW_ElectricalCoolingHeating - { - get { return 0.SI<Watt>(); } - } - public Watt BaseVentilationW_ElectricalVentilation(Kelvin environmentalTemperature, WattPerSquareMeter solar) { @@ -354,22 +330,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } - public Watt BaseVentilationW_FuelFiredHeating - { - get { return 0.SI<Watt>(); } - } - + // Adjusted Values - public double TechListAdjustedHeatingW_Mechanical - { - get { return default(Double); } - } - - public double TechListAdjustedHeatingW_ElectricalCoolingHeating - { - get { return default(Double); } - } - + public double TechListAdjustedHeatingW_ElectricalVentilation { get { @@ -424,14 +387,14 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // Math.Max(If(gen.AC_CompressorType.ToLower() = "mechanical", tl.CValueVariation, 0), // -gen.BC_MaxPossibleBenefitFromTechnologyList)) - result = (gen.ACSystem.CompressorType.ToLower() == "mechanical" + result = (gen.ACSystem.CompressorType.IsMechanical() ? tl.CValueVariation : 0) > 0 ? Math.Min( - gen.ACSystem.CompressorType.ToLower() == "mechanical" ? tl.CValueVariation : 0, + gen.ACSystem.CompressorType.IsMechanical() ? tl.CValueVariation : 0, gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList) : Math.Max( - gen.ACSystem.CompressorType.ToLower() == "mechanical" ? tl.CValueVariation : 0, + gen.ACSystem.CompressorType.IsMechanical() ? tl.CValueVariation : 0, -gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList); return result; @@ -451,14 +414,14 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // Dim C43 As Double = gen.BC_MaxPossibleBenefitFromTechnologyList // Dim C53 As string = gen.AC_CompressorType - result = gen.ACSystem.CompressorType.ToLower() == "mechanical" + result = gen.ACSystem.CompressorType.IsMechanical() ? 0 : tl.CValueVariation > 0 ? Math.Min( - gen.ACSystem.CompressorType.ToLower() == "mechanical" ? 0 : tl.CValueVariation, + gen.ACSystem.CompressorType.IsMechanical() ? 0 : tl.CValueVariation, gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList) : Math.Max( - gen.ACSystem.CompressorType.ToLower() == "mechanical" ? 0 : tl.CValueVariation, + gen.ACSystem.CompressorType.IsMechanical() ? 0 : tl.CValueVariation, -gen.BoundaryConditions.MaxPossibleBenefitFromTechnologyList); return result; @@ -482,20 +445,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - public double TechListAdjustedCoolingW_FuelFiredHeating - { - get { return 0; } - } - - public double TechListAdjustedVentilationW_Mechanical - { - get { return default(Double); } - } - - public double TechListAdjustedVentilationW_ElectricalCoolingHeating - { - get { return default(Double); } - } + public double TechListAdjustedVentilationW_ElectricalVentilation { @@ -514,12 +464,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - public double TechListAdjustedVentilationW_FuelFiredHeating - { - get { return 0; } - } - - // Provides Diagnostic Information for the user which can be displayed on the form. // Based on the inputs generated, can be used to cross reference the Excel Model with the // Outputs generated here. diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs index ac4045d463..2b7d6e234f 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMInputs.cs @@ -1,13 +1,9 @@ using System; -using System.Collections.Generic; using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.SimulationComponent.Data; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { @@ -15,11 +11,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC public class SSMInputs : ISSMInputs, ISSMBoundaryConditions, IEnvironmentalConditions, IACSystem, IVentilation, IAuxHeater, ISSMBusParameters { - private ITechlistBenefitLines _technologies; + private IFuelProperties HeatingFuel; - private FuelData.Entry HeatingFuel; - - public SSMInputs(IVehicleData vehicle, string source, FuelData.Entry? heatingFuel = null) + public SSMInputs(IVehicleData vehicle, string source, IFuelProperties heatingFuel = null) { Vehicle = vehicle; Source = source; @@ -305,12 +299,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // C53 - "Continous/2-stage/3-stage/4-stage - public string CompressorType { get; set; } + public ACCompressorType CompressorType { get; set; } // mechanical/electrical public string CompressorTypeDerived { - get { return CompressorType == "Continuous" ? "Electrical" : "Mechanical"; } + get { return CompressorType == ACCompressorType.Continuous ? "Electrical" : "Mechanical"; } } // C54 - ( KW ) @@ -320,18 +314,22 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC public double COP { get { - var cop = 3.5D; - - if ((CompressorType != null)) { - cop = CompressorType.ToLower() == "3-stage" ? cop * 1.02 : cop; - cop = CompressorType.ToLower() == "4-stage" ? cop * 1.02 : cop; - cop = CompressorType.ToLower() == "continuous" - ? BusFloorType == FloorType.LowFloor + var cop = 3.5; + + switch (CompressorType) { + case ACCompressorType.TwoStage: break; + case ACCompressorType.ThreeStage: + case ACCompressorType.FourStage: + cop = cop * 1.02; + break; + case ACCompressorType.Continuous: + cop = BusFloorType == FloorType.LowFloor ? cop * 1.04 - : cop * 1.06 - : cop; + : cop * 1.06; + break; + default: throw new ArgumentOutOfRangeException(); } - + return Math.Round(cop, 2); } } @@ -367,90 +365,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC public double CoolantHeatTransferredToAirCabinHeater { get; set; } - //private void SetDefaults() - //{ - // // BUS Parameterisation - // // ******************** - // 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_BusSurfaceArea : Calculated - // // BP_BusWindowSurface : Calculated - // // BP_BusVolume : Calculated - - // // BOUNDRY CONDITIONS - // // ****************** - - // GFactor = 0.95D; - - // // BC_SolarClouding As Double :Calculated - // // BC_HeatPerPassengerIntoCabinW :Calculated - // //PassengerBoundaryTemperature = 12.0.DegCelsiusToKelvin(); - - // // BC_PassengerDensityLowFloor :Calculated - // // BC_PassengerDensitySemiLowFloor :Calculated - // // BC_PassengerDensityRaisedFloor :Calculated - // // BC_CalculatedPassengerNumber :Calculated - // // BC_UValues :Calculated - // HeatingBoundaryTemperature = 18.0.DegCelsiusToKelvin(); - // CoolingBoundaryTemperature = 23.0.DegCelsiusToKelvin(); - - // // BC_CoolingBoundaryTemperature : ReadOnly Static - // HighVentilation = 20.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>(); - // LowVentilation = 7.0.SI(Unit.SI.Per.Hour).Cast<PerSecond>(); - - // // BC_High :Calculated - // // BC_Low :Calculated - // // BC_HighVentPower :Calculated - // // BC_LowVentPower :Calculated - // SpecificVentilationPower = 0.56.SI(Unit.SI.Watt.Hour.Per.Cubic.Meter).Cast<JoulePerCubicMeter>(); - - // // BC_COP :Calculated - // AuxHeaterEfficiency = 0.84D; - // //GCVDieselOrHeatingOil = 11.8.SI(Unit.SI.Kilo.Watt.Hour.Per.Kilo.Gramm).Cast<JoulePerKilogramm>(); - - // // BC_WindowAreaPerUnitBusLength :Calculated - // // BC_FrontRearWindowArea :Calculated - // //MaxTemperatureDeltaForLowFloorBusses = 3.0.SI<Kelvin>(); - // //MaxPossibleBenefitFromTechnologyList = 0.5D; - - // // Environmental Conditions - // // ************************ - // //EnviromentalTemperature = 25.0.DegCelsiusToKelvin(); - // //Solar = 400.0.SI<WattPerSquareMeter>(); - // //EnviromentalConditions_BatchEnabled = true; - // //EnviromentalConditions_BatchFile = "DefaultClimatic.aenv"; - - // // AC SYSTEM - // // ********* - // CompressorType = "2-stage"; - // CompressorCapacity = 18.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>(); - - // // VENTILATION - // // *********** - // VentilationOnDuringHeating = true; - // VentilationWhenBothHeatingAndACInactive = true; - // VentilationDuringAC = true; - // VentilationFlowSettingWhenHeatingAndACInactive = VentilationLevel.High; //"high"; - // VentilationDuringHeating = VentilationLevel.High; //"high"; - // VentilationDuringCooling = VentilationLevel.High; //"high"; - - // // AUX HEATER - // // ********** - // FuelFiredHeaterPower = 30.0.SI(Unit.SI.Kilo.Watt).Cast<Watt>(); - // FuelEnergyToHeatToCoolant = 0.2; - // CoolantHeatTransferredToAirCabinHeater = 0.75; - // //EngineWasteHeatkW = 0.SI<Watt>(); - //} - #region Implementation of ISSMInputs public ISSMBusParameters BusParameters @@ -458,12 +372,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC get { return this; } } - public ITechlistBenefitLines Technologies - { - get { return _technologies; } - set { _technologies = value; } - } - public ISSMBoundaryConditions BoundaryConditions { get { return this; } @@ -489,6 +397,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC get { return this; } } + public ISSMTechnologies Technologies { get; set; } + + #endregion } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs index f38758d25a..c37e9a1222 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMRun.cs @@ -1,9 +1,7 @@ using System; -using System.Text; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { @@ -17,8 +15,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC public SSMRun(ISSMTOOL ssm, int runNbr) { - if (runNbr != 1 && runNbr != 2) + if (runNbr != 1 && runNbr != 2) { throw new ArgumentException("Run number must be either 1 or 2"); + } runNumber = runNbr; ssmTOOL = ssm; @@ -28,8 +27,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC public Kelvin TCalc(Kelvin enviromentalTemperature) { - - // C24 = BC_HeatingBoundaryTemperature // C25 = BC_CoolingBoundary Temperature // C6 = BP_BusFloorType @@ -76,11 +73,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC public Watt FuelW(Kelvin enviromentalTemperature, WattPerSquareMeter solarFactor) { - // =IF(AND(N79<0,N79<(C60*-1)),N79-(C60*-1),0)*1000 - var gen = ssmTOOL.SSMInputs.AuxHeater; - // Dim N79 as Double = TotalKW // Dim C60 As Double = gen.AH_EngineWasteHeatkW @@ -95,7 +89,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // =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) - var gen = ssmTOOL.SSMInputs.AuxHeater; var TLFFH = ssmTOOL.Calculate.TechListAdjustedHeatingW_FuelFiredHeating; // Dim C60 As Double = gen.AH_EngineWasteHeatkW // Dim N79 As Double = Me.TotalKW @@ -112,30 +105,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC : 0.SI<Watt>(); } - - // Provides Diagnostic Information - // To be utilised by the User. - //public override string ToString() - //{ - // var sb = new StringBuilder(); - - // var vbTab = "\t"; - // var temp = ssmTOOL.SSMInputs.EnvironmentalConditions.EnviromentalTemperature; - // sb.AppendLine(string.Format("Run : {0}", runNumber)); - // sb.AppendLine(string.Format("************************************")); - // sb.AppendLine(string.Format("HVAC OP " + vbTab + ": {0}", HVACOperation(temp))); - // sb.AppendLine(string.Format("TCALC " + vbTab + ": {0}", TCalc(temp))); - // sb.AppendLine(string.Format("Tempurature D " + vbTab + ": {0}", (temp - TCalc(temp)))); - // sb.AppendLine(string.Format("QWall " + vbTab + ": {0}", QWall(temp))); - // sb.AppendLine(string.Format("WattsPerPass " + vbTab + ": {0}", WattsPerPass)); - // sb.AppendLine(string.Format("Solar " + vbTab + ": {0}", Solar)); - // sb.AppendLine(string.Format("TotalW " + vbTab + ": {0}", TotalW(temp))); - // sb.AppendLine(string.Format("TotalKW " + vbTab + ": {0}", TotalW(temp).Value() * 1000)); - // sb.AppendLine(string.Format("Fuel W " + vbTab + ": {0}", FuelW(temp))); - // sb.AppendLine(string.Format("Fuel Tech Adj " + vbTab + ": {0}", TechListAmendedFuelW(temp))); - - - // return sb.ToString(); - //} } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs index dce34c21b9..181c3e28f5 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTOOL.cs @@ -38,8 +38,6 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // Repeat Warning Flags private bool CompressorCapacityInsufficientWarned; - //private bool FuelFiredHeaterInsufficientWarned; - // Base Values public Watt ElectricalWBase { @@ -93,26 +91,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } public Watt EngineWasteHeatkW { get; protected set; } - - - // Clone values from another object of same type - //public void Clone(ISSMTOOL from) - //{ - // var feedback = string.Empty; - - // SSMInputs.InjectFrom(((SSMTOOL)from).SSMInputs); - - // TechList.Clear(); - - // foreach (var line in from.TechList.TechLines) { - // var newLine = new TechListBenefitLine(this.SSMInputs); - // // newLine.InjectFrom() - // newLine.InjectFrom(line); - // TechList.Add(newLine, ref feedback); - // } - //} - // Persistance Functions diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs index 99942a2939..d2e6ed3e0c 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechList.cs @@ -1,35 +1,34 @@ using System; using System.Collections.Generic; -using System.Globalization; -using System.IO; using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { // Used By SSMTOOL Class. public class SSMTechList : ISSMTechList { - private readonly List<ITechListBenefitLine> _techLines; + private readonly List<ISSMTechnology> _techLines; private FloorType _busFloorType; // Constructors public SSMTechList(FloorType busFloorType) { - _techLines = new List<ITechListBenefitLine>(); + _techLines = new List<ISSMTechnology>(); BusFloorType = busFloorType; } - public IReadOnlyList<ITechListBenefitLine> TechLines + public IReadOnlyList<ISSMTechnology> TechLines { get { return _techLines; } set { _techLines.Clear(); - var fb = ""; - foreach (var entry in value) { - Add(entry, ref fb); + foreach (var item in value) { + if (TechLines.Any(w => w.Category == item.Category && w.BenefitName == item.BenefitName)) { + throw new ArgumentException("entry already exists"); + } + item.BusFloorType = BusFloorType; + _techLines.Add(item); } } } @@ -96,105 +95,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - // Member Management - public bool Add(ITechListBenefitLine item, ref string feedback) - { - var initialCount = TechLines.Count; - - if (TechLines.Any(w => w.Category == item.Category && w.BenefitName == item.BenefitName)) { - // Failure - feedback = "Item already exists."; - return false; - } - - - try { - item.BusFloorType = BusFloorType; - _techLines.Add(item); - - if (TechLines.Count == initialCount + 1) { - - // Success - feedback = "OK"; - //_dirty = true; - return true; - } - - // Failure - feedback = "The system was unable to add the new tech benefit list item."; - return false; - } catch (Exception ) { - feedback = "The system threw an exception and was unable to add the new tech benefit list item."; - return false; - } - } - - public void Clear() - { - if (_techLines.Count > 0) - //_dirty = true; - - _techLines.Clear(); - } - - public ITechListBenefitLine Find(string category, string benefitName) - { - return _techLines.Find(f => f.Category == category && f.BenefitName == benefitName); - } - - public bool Delete(ITechListBenefitLine item, ref string feedback) - { - var currentCount = TechLines.Count; - - if ((TechLines.Count(c => c.Category == item.Category && c.BenefitName == item.BenefitName) == 1)) { - try { - _techLines.RemoveAt(_techLines.FindIndex(c => c.Category == item.Category && c.BenefitName == item.BenefitName)); - - if (TechLines.Count == currentCount - 1) { - // This succeeded - //_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) { - feedback = "An exception occured, the removal failed."; - return false; - } - } else { - feedback = "the item was not found in the list."; - return false; - } - } - - public bool Modify(ITechListBenefitLine originalItem, ITechListBenefitLine newItem, ref string feedback) - { - var fi = _techLines.Find(f => f.Category == originalItem.Category && f.BenefitName == originalItem.BenefitName); - - if (fi != null) { - try { - fi.CloneFrom(newItem); - - if (newItem == fi) { - // This succeeded - //_dirty = true; - return true; - } - - // No Exception, but this failed for some reason. - feedback = "The system was unable to remove the item from the list."; - return false; - } catch (Exception ) { - feedback = "An exception occured, the update failed."; - return false; - } - } - - feedback = "the item was not found so cannot be modified."; - return false; - } - } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechnology.cs similarity index 76% rename from VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechnology.cs index 1299220484..c45b029246 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/TechListBenefitLine.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/HVAC/SSMTechnology.cs @@ -1,7 +1,5 @@ using System.Collections.Generic; using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; -using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC { @@ -10,24 +8,24 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC // Or PDF Model Document which articulates the same spreadsheet functionality // But within the context of the Vecto interpretation of the same. - public class TechBenefitLines : ITechlistBenefitLines + public class TechBenefitLines : ISSMTechnologies { #region Implementation of ITechlistBenefitLines - public TechBenefitLines(IReadOnlyList<ITechListBenefitLine> items, string source) + public TechBenefitLines(IReadOnlyList<ISSMTechnology> items, string source) { Items = items; Source = source; } - public IReadOnlyList<ITechListBenefitLine> Items { get; } + public IReadOnlyList<ISSMTechnology> Items { get; } public string Source { get; } #endregion } - public class TechListBenefitLine : ITechListBenefitLine + public class SSMTechnology : ISSMTechnology { //private float _h, _vh, _vv, _vc, _c; public FloorType BusFloorType { protected get; set; } @@ -160,39 +158,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC } } - public TechListBenefitLine() { } + public SSMTechnology() { } - public TechListBenefitLine( - string category, string benefitName, double lowFloorH, double lowFloorV, - double lowFloorC, double semiLowFloorH, double semiLowFloorV, double semiLowFloorC, double raisedFloorH, - double raisedFloorV, double raisedFloorC, bool onVehicle, bool activeVH, bool activeVV, - bool activeVC - ) - { - //BusFloorType = geninputs; - //Units = units; - Category = category; - BenefitName = benefitName; - LowFloorH = lowFloorH; - LowFloorV = lowFloorV; - LowFloorC = lowFloorC; - SemiLowFloorH = semiLowFloorH; - SemiLowFloorV = semiLowFloorV; - SemiLowFloorC = semiLowFloorC; - RaisedFloorH = raisedFloorH; - RaisedFloorV = raisedFloorV; - RaisedFloorC = raisedFloorC; - OnVehicle = onVehicle; - //LineType = lineType; - ActiveVH = activeVH; - ActiveVV = activeVV; - ActiveVC = activeVC; - } - // Operator Overloads - public static bool operator ==(TechListBenefitLine op1, TechListBenefitLine op2) + public static bool operator ==(SSMTechnology op1, SSMTechnology op2) { if ((op1.Category == op2.Category && op1.BenefitName == op2.BenefitName && op1.ActiveVC == op2.ActiveVC && op1.ActiveVH == op2.ActiveVH && op1.ActiveVV == op2.ActiveVV && /*op1.LineType == op2.LineType &&*/ @@ -207,7 +178,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC return false; } - public static bool operator !=(TechListBenefitLine op1, TechListBenefitLine op2) + public static bool operator !=(SSMTechnology op1, SSMTechnology op2) { if ((op1.Category != op2.Category || op1.BenefitName != op2.BenefitName || op1.ActiveVC != op2.ActiveVC || op1.ActiveVH != op2.ActiveVH || op1.ActiveVV != op2.ActiveVV || /*op1.LineType != op2.LineType ||*/ @@ -224,7 +195,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC #region Equality members - protected bool Equals(TechListBenefitLine other) + protected bool Equals(SSMTechnology other) { return Equals(BusFloorType, other.BusFloorType) && /*string.Equals(Units, other.Units) &&*/ string.Equals(Category, other.Category) && string.Equals(BenefitName, other.BenefitName) && @@ -248,7 +219,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC return false; } - return Equals((TechListBenefitLine)obj); + return Equals((SSMTechnology)obj); } public override int GetHashCode() @@ -278,33 +249,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC #endregion - public void CloneFrom(ITechListBenefitLine source) - { - //this.Units = source.Units; - Category = source.Category; - BenefitName = source.BenefitName; - LowFloorH = source.LowFloorH; - LowFloorV = source.LowFloorV; - LowFloorC = source.LowFloorC; - - SemiLowFloorH = source.SemiLowFloorH; - SemiLowFloorV = source.SemiLowFloorV; - SemiLowFloorC = source.SemiLowFloorC; - - RaisedFloorH = source.RaisedFloorH; - RaisedFloorV = source.RaisedFloorV; - RaisedFloorC = source.RaisedFloorC; - - OnVehicle = source.OnVehicle; - ActiveVH = source.ActiveVH; - ActiveVV = source.ActiveVV; - ActiveVC = source.ActiveVC; - //LineType = source.LineType; - } - - public bool IsEqualTo(ITechListBenefitLine source) + public bool IsEqualTo(ISSMTechnology source) { - var mySource = (TechListBenefitLine)source; + var mySource = (SSMTechnology)source; if (ReferenceEquals(mySource, null)) { return false; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs index 9a059cab55..25f2bf11ad 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M06Impl.cs @@ -1,7 +1,6 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs index c4282efae6..cdaf1bad9e 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M07Impl.cs @@ -1,6 +1,5 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl @@ -14,7 +13,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl protected IM5_SmartAlternatorSetGeneration _m5; protected IM6 _m6; - protected ISignals _signals; + protected readonly ISignals _signals; public M07Impl(IM5_SmartAlternatorSetGeneration m5, IM6 m6, ISignals signals) { diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs index f07e26111e..00bca59c62 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M08Impl.cs @@ -1,6 +1,5 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl @@ -11,10 +10,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl protected Watt _smartElectricalAlternatorPowerGenAtCrank; protected bool _compressorFlag; - protected IM1_AverageHVACLoadDemand _m1; - protected IM6 _m6; - protected IM7 _m7; - protected ISignals _signals; + protected readonly IM1_AverageHVACLoadDemand _m1; + protected readonly IM6 _m6; + protected readonly IM7 _m7; + protected readonly ISignals _signals; public M08Impl(IM1_AverageHVACLoadDemand m1, IM6 m6, IM7 m7, ISignals signals) { diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs index ce4b7b1693..c1576eb421 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M09Impl.cs @@ -1,7 +1,6 @@ using System; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl @@ -25,13 +24,13 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl #endregion - protected IM1_AverageHVACLoadDemand M1; - protected IM4_AirCompressor M4; - protected IM6 M6; - protected IM8 M8; - protected IFuelConsumptionMap FMAP; - protected IPneumaticsAuxilliariesConfig PSAC; - protected ISignals Signals; + protected readonly IM1_AverageHVACLoadDemand M1; + protected readonly IM4_AirCompressor M4; + protected readonly IM6 M6; + protected readonly IM8 M8; + protected readonly IFuelConsumptionMap FMAP; + protected readonly IPneumaticsAuxilliariesConfig PSAC; + protected readonly ISignals Signals; public M09Impl(IM1_AverageHVACLoadDemand m1, IM4_AirCompressor m4, IM6 m6, IM8 m8, IFuelConsumptionMap fmap, IPneumaticsAuxilliariesConfig psac, ISignals signals) { diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs index 3c1b3b035c..88e278703c 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M10Impl.cs @@ -1,7 +1,5 @@ using System; -using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl @@ -11,21 +9,20 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl protected Kilogram _averageLoadsFuelConsumptionInterpolatedForPneumatics; protected Kilogram _fuelConsumptionSmartPneumaticsAndAverageElectricalPowerDemand; - protected IM3_AveragePneumaticLoadDemand M3; + protected readonly IM3_AveragePneumaticLoadDemand M3; - protected IM9 M9; + protected readonly IM9 M9; //'Not Currently used but there for ease of refactoring in future. - protected ISignals Signals; - + //'Aggregators protected NormLiter _AverageAirConsumedLitre; - public M10Impl(IM3_AveragePneumaticLoadDemand m3, IM9 m9, ISignals signals) + public M10Impl(IM3_AveragePneumaticLoadDemand m3, IM9 m9) { M3 = m3; M9 = m9; - Signals = signals; + _AverageAirConsumedLitre = 0.SI<NormLiter>(); } @@ -97,7 +94,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl public void CycleStep(Second stepTimeInSeconds) { - _AverageAirConsumedLitre += double.IsNaN(M3.AverageAirConsumed().Value()) ? 0.SI<NormLiter>() : M3.AverageAirConsumed() * stepTimeInSeconds; + _AverageAirConsumedLitre += double.IsNaN(M3.AverageAirConsumed().Value()) + ? 0.SI<NormLiter>() + : M3.AverageAirConsumed() * stepTimeInSeconds; } #endregion diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs index 077c0db2d2..bb474fdd26 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M11Impl.cs @@ -1,20 +1,12 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M11Impl : AbstractModule, IM11 { - protected Joule _smartElectricalTotalCycleElectricalEnergyGeneratedDuringOverrunOnly; - protected Joule _smartElectricalTotalCycleEletricalEnergyGenerated; - protected Joule _totalCycleElectricalDemand; - protected Kilogram _totalCycleFuelConsumptionSmartElectricalLoad; - protected Kilogram _totalCycleFuelConsumptionZeroElectricalLoad; - protected Joule _stopStartSensitiveTotalCycleElectricalDemand; - protected Kilogram _totalCycleFuelConsuptionAverageLoads; - + #region "Private Aggregates" protected Joule AG1; protected Joule AG2; @@ -25,12 +17,12 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl protected Kilogram AG7; #endregion - protected IM1_AverageHVACLoadDemand M1; - protected IM3_AveragePneumaticLoadDemand M3; - protected IM6 M6; - protected IM8 M8; - protected IFuelConsumptionMap FMAP; - protected ISignals Signals; + protected readonly IM1_AverageHVACLoadDemand M1; + protected readonly IM3_AveragePneumaticLoadDemand M3; + protected readonly IM6 M6; + protected readonly IM8 M8; + protected readonly IFuelConsumptionMap FMAP; + protected readonly ISignals Signals; public M11Impl(IM1_AverageHVACLoadDemand m1, IM3_AveragePneumaticLoadDemand m3, IM6 m6, IM8 m8, IFuelConsumptionMap fmap, ISignals signals) { diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs index fa7319d64e..94cbdd195f 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M12Impl.cs @@ -1,5 +1,4 @@ -using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; @@ -8,19 +7,17 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M12Impl : AbstractModule, IM12 { - protected IM11 M11; - protected IM10 M10; - protected ISignals Signals; + protected readonly IM11 M11; + protected readonly IM10 M10; protected Kilogram _fuelconsumptionwithsmartElectricsandAveragePneumaticPowerDemand; protected Kilogram _baseFuelConsumptionWithTrueAuxiliaryLoads; protected double _stopStartCorrection; - public M12Impl(IM10 m10, IM11 m11, ISignals signals) + public M12Impl(IM10 m10, IM11 m11) { M10 = m10; M11 = m11; - Signals = signals; } private class Point diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs index f71f3587d6..8bf90458cd 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M13Impl.cs @@ -9,10 +9,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl public class M13Impl : AbstractModule, IM13 { - protected IM10 M10; - protected IM11 M11; - protected IM12 M12; - protected ISignals Signals; + protected readonly IM10 M10; + protected readonly IM11 M11; + protected readonly IM12 M12; + protected readonly ISignals Signals; private Kilogram _whtcTotalCycleFuelConsumptionGrams; diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs index 9399b7f013..143dab9125 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/M14Impl.cs @@ -1,38 +1,38 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; +using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl { public class M14Impl : AbstractModule, IM14 { - protected IM13 M13; - protected ISignals Signals; - protected IHVACConstants Constants; - protected ISSMTOOL SSM; + protected readonly IM13 M13; + protected readonly ISignals Signals; + protected readonly ISSMTOOL SSM; protected Kilogram _totalCycleFcGrams; - + private readonly IFuelProperties EngineFuel; + - public M14Impl(IM13 m13, ISSMTOOL ssm, IHVACConstants hvacConstants, ISignals signals) + public M14Impl(IM13 m13, ISSMTOOL ssm, IFuelProperties engineFuel, ISignals signals) { M13 = m13; SSM = ssm; - Constants = hvacConstants; + EngineFuel = engineFuel; Signals = signals; } protected override void DoCalculate() { - var s1 = M13.WHTCTotalCycleFuelConsumption * Constants.DieselGCVJperGram; + var s1 = M13.WHTCTotalCycleFuelConsumption * EngineFuel.LowerHeatingValueVectoEngine; var s2 = SSM.SSMInputs.AuxHeater.FuelEnergyToHeatToCoolant * s1; var s3 = s2 * SSM.SSMInputs.AuxHeater.CoolantHeatTransferredToAirCabinHeater; var s4 = s3 / Signals.CurrentCycleTimeInSeconds.SI<Second>(); - var s5 = Signals.CurrentCycleTimeInSeconds.SI<Second>(); // ' / 3600 - var s6 = s5 * SSM.FuelPerHBaseAsjusted(s4); // * Constants.FuelDensity; + var s5 = Signals.CurrentCycleTimeInSeconds.SI<Second>(); + var s6 = s5 * SSM.FuelPerHBaseAsjusted(s4); var s7 = M13.WHTCTotalCycleFuelConsumption + s6; _totalCycleFcGrams = s7; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/ActuationsMap.cs similarity index 88% rename from VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs rename to VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/ActuationsMap.cs index 7e87e32fcb..537bb0e655 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticActuationsMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/ActuationsMap.cs @@ -15,11 +15,11 @@ using TUGraz.VectoCommon.BusAuxiliaries; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics { - public class PneumaticActuationsMap : IPneumaticActuationsMap + public class ActuationsMap : IActuationsMap { private Dictionary<ActuationsKey, int> _map; - public PneumaticActuationsMap(Dictionary<ActuationsKey, int> map, string source) + public ActuationsMap(Dictionary<ActuationsKey, int> map, string source) { _map = map; Source = source; diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs index c10ea4afb2..9a202b691c 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/CompressorMap.cs @@ -9,10 +9,7 @@ // // See the LICENSE.txt for the specific language governing permissions and limitations. -using System; using System.Collections.Generic; -using System.Globalization; -using System.IO; using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; @@ -62,9 +59,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati Source = source; Entries = entries; var powerDividedByFlowRateSum = 0.0.SI<JoulePerNormLiter>(); - foreach (var entry in Entries) + foreach (var entry in Entries) { powerDividedByFlowRateSum += (entry.PowerCompressorOn - entry.PowerCompressorOff) / entry.FlowRate; + } _averagePowerDemandPerCompressorUnitFlowRateLitresperSec = (powerDividedByFlowRateSum / Entries.Count); } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs index a12ef542a5..99841a3316 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M03Impl.cs @@ -1,7 +1,6 @@ using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics @@ -10,35 +9,29 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati { protected IPneumaticUserInputsConfig _pneumaticUserInputsConfig; protected IPneumaticsAuxilliariesConfig _pneumaticAuxillariesConfig; - protected IPneumaticActuationsMap _pneumaticsActuationsMap; + protected IActuationsMap ActuationsMap; protected ICompressorMap _pneumaticsCompressorFlowRateMap; protected Kilogram _vehicleMassKG; protected string _cycleName; protected ISignals _signals; - protected JoulePerNormLiter _averagePowerDemandPerCompressorUnitFlowRateInWPerLitresPerSecond; protected NormLiter _totalAirDemand; private Second totalCycleTimeSeconds; //public M03Impl(IPneumaticUserInputsConfig pneumaticsUserInputConfig, IPneumaticsAuxilliariesConfig pneumaticsAuxillariesConfig, IPneumaticActuationsMap pneumaticsActuationsMap, ICompressorMap pneumaticsCompressorFlowRateMap, Kilogram vehicleMassKG, string cycleName, ISignals signals) - public M03Impl(IAuxiliaryConfig auxConfig, ICompressorMap compressorMap, IPneumaticActuationsMap actuationsMap, ISignals signals) + public M03Impl(IAuxiliaryConfig auxConfig, ICompressorMap compressorMap, IActuationsMap actuationsMap, ISignals signals) { _pneumaticUserInputsConfig = auxConfig.PneumaticUserInputsConfig; _pneumaticAuxillariesConfig = auxConfig.PneumaticAuxillariesConfig; - _pneumaticsActuationsMap = actuationsMap; + ActuationsMap = actuationsMap; _pneumaticsCompressorFlowRateMap = compressorMap; _vehicleMassKG = auxConfig.VehicleData.TotalVehicleWeight; _cycleName = auxConfig.Cycle; _signals = signals; - totalCycleTimeSeconds = _pneumaticsActuationsMap + totalCycleTimeSeconds = ActuationsMap .GetNumActuations(new ActuationsKey(Constants.BusAuxiliaries.CycleTimeActuationKey, auxConfig.Cycle)).SI<Second>(); - - //'Total up the blow demands from compressor map - _averagePowerDemandPerCompressorUnitFlowRateInWPerLitresPerSecond = - (_pneumaticsCompressorFlowRateMap.GetAveragePowerDemandPerCompressorUnitFlowRate()); - //'Calculate the Total Required Air Delivery Rate L / S _totalAirDemand = TotalAirDemandCalculation(); } @@ -50,7 +43,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati //'* * Breaks * * - double numActuationsPerCycle = _pneumaticsActuationsMap.GetNumActuations(new ActuationsKey("Brakes", _cycleName)); + double numActuationsPerCycle = ActuationsMap.GetNumActuations(new ActuationsKey("Brakes", _cycleName)); //'=IF(K10 = "yes", IF(COUNTBLANK(F33), G33, F33), IF(COUNTBLANK(F34), G34, F34)) * K16 var airConsumptionPerActuation = (_pneumaticUserInputsConfig.RetarderBrake ? _pneumaticAuxillariesConfig.BrakingWithRetarderNIperKG @@ -59,7 +52,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati //'* * ParkBrakesBreakplus2Doors * *Park break +2 doors numActuationsPerCycle = - _pneumaticsActuationsMap.GetNumActuations(new ActuationsKey(Constants.BusAuxiliaries.BrakeAndDoorsActuationKey, _cycleName)); + ActuationsMap.GetNumActuations(new ActuationsKey(Constants.BusAuxiliaries.BrakeAndDoorsActuationKey, _cycleName)); //'=SUM(IF(K14 = "electric", 0, IF(COUNTBLANK(F36), G36, F36)), PRODUCT(K16 * IF(COUNTBLANK(F37), G37, F37))) airConsumptionPerActuation = _pneumaticUserInputsConfig.Doors == ConsumerTechnology.Electrically ? 0.SI<NormLiter>() @@ -68,7 +61,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati var parkBrakesplus2Doors = (numActuationsPerCycle * airConsumptionPerActuation); //'* * Kneeling * * - numActuationsPerCycle = _pneumaticsActuationsMap.GetNumActuations(new ActuationsKey("Kneeling", _cycleName)); + numActuationsPerCycle = ActuationsMap.GetNumActuations(new ActuationsKey("Kneeling", _cycleName)); //'=IF(COUNTBLANK(F35), G35, F35) * K11 * K16 airConsumptionPerActuation = _pneumaticAuxillariesConfig.BreakingPerKneelingNIperKGinMM * _pneumaticUserInputsConfig.KneelingHeightMillimeters * _vehicleMassKG; diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs index 155a62d84c..59d353a136 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/M04Impl.cs @@ -1,7 +1,6 @@ using System; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules; namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs index c66a70cb0c..961db5b3c8 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticUserInputsConfig.cs @@ -9,7 +9,6 @@ // // See the LICENSE.txt for the specific language governing permissions and limitations. -using System.Collections.Generic; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; @@ -31,32 +30,8 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati public ConsumerTechnology Doors { get; set; } public Meter KneelingHeightMillimeters { get; set; } - // PneumaticActuationsMap - //public Dictionary<ActuationsKey, int> ActuationsMap { get; set; } - public bool RetarderBrake { get; set; } public bool SmartAirCompression { get; set; } public bool SmartRegeneration { get; set; } - - //public PneumaticUserInputsConfig() - //{ - // if (setToDefaults) - // SetPropertiesToDefaults(); - //} - - //public void SetPropertiesToDefaults() - //{ - // //CompressorMap = string.Empty; - // CompressorGearRatio = 1.0; - // CompressorGearEfficiency = 0.97; - // AdBlueDosing = ConsumerTechnology.Pneumatic; // "Pneumatic"; - // AirSuspensionControl = ConsumerTechnology.Mechanical; // "Mechanically"; - // Doors = ConsumerTechnology.Pneumatic; // "Pneumatic"; - // KneelingHeightMillimeters = 70.SI(Unit.SI.Milli.Meter).Cast<Meter>(); - // ActuationsMap = null; - // RetarderBrake = true; - // SmartAirCompression = false; - // SmartRegeneration = false; - //} } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs index 43d6842b51..b378d19b0e 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/DownstreamModules/Impl/Pneumatics/PneumaticsAuxilliariesConfig.cs @@ -40,27 +40,5 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati public double SmartRegenFractionTotalAirDemand { get; set; } - - //public PneumaticsAuxilliariesConfig() - //{ - // //if (setToDefaults) - // // SetDefaults(); - //} - - //public void SetDefaults() - //{ - // AdBlueNIperMinute = 21.25.SI(Unit.SI.Liter.Per.Minute).Cast<NormLiterPerSecond>(); - // AirControlledSuspensionNIperMinute = 15.SI(Unit.SI.Liter.Per.Minute).Cast<NormLiterPerSecond>(); - // BrakingNoRetarderNIperKG = 0.00081.SI(Unit.SI.Liter.Per.Kilo.Gramm).Cast<NormLiterPerKilogram>(); - // BrakingWithRetarderNIperKG = 0.0006.SI(Unit.SI.Liter.Per.Kilo.Gramm).Cast<NormLiterPerKilogram>(); - // BreakingPerKneelingNIperKGinMM = 0.000066.SI(Unit.SI.Liter.Per.Kilo.Gramm.Meter).Cast<NormLiterPerKilogramMeter>(); - // DeadVolBlowOutsPerLitresperHour = 24.SI(Unit.SI.Per.Hour).Cast<PerSecond>(); - // DeadVolumeLitres = 30.SI<NormLiter>(); - // NonSmartRegenFractionTotalAirDemand = 0.26; - // OverrunUtilisationForCompressionFraction = 0.97; - // PerDoorOpeningNI = 12.7.SI<NormLiter>(); - // PerStopBrakeActuationNIperKG = 0.00064.SI(Unit.SI.Liter.Per.Kilo.Gramm).Cast<NormLiterPerKilogram>(); - // SmartRegenFractionTotalAirDemand = 0.12; - //} } } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs index 718a1fedb3..36e1d979a7 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/IAlternator.cs @@ -25,11 +25,9 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.El // G6 double PulleyRatio { get; set; } - // S9 - PerSecond SpindleSpeed { get; } - + // S10 - double Efficiency { get; } + double GetEfficiency(PerSecond crankSpeed, Ampere currentDemand); // C10-D15 List<AltUserInput<Ampere>> InputTable2000 { get; set; } diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs deleted file mode 100644 index 5fedc0cf7a..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/Electrics/ICombinedAlternatorSignals.cs +++ /dev/null @@ -1,12 +0,0 @@ -using TUGraz.VectoCommon.Utils; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.Electrics -{ - // Used by CombinedAlternator - public interface ICombinedAlternatorSignals - { - int NumberOfAlternators { get; set; } - PerSecond CrankRPM { get; set; } - Ampere CurrentDemandAmps { get; set; } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs deleted file mode 100644 index 3c97ddaeb5..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/DownstreamModules/HVAC/Class1.cs +++ /dev/null @@ -1,8 +0,0 @@ -namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC -{ - public enum TechLineType - { - Normal, - HVCActiveSelection - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs index cbe7f14e11..4efddaeaa5 100644 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs +++ b/VectoCore/VectoCore/Models/BusAuxiliaries/Interfaces/IAdvancedAuxiliaries.cs @@ -122,9 +122,10 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces { /// Initialises AAUX Environment ( Begin Processs ) /// </summary> /// <param name="auxcConfig"></param> + /// <param name="fuelProperties"></param> /// <returns></returns> /// <remarks></remarks> - bool RunStart(IAuxiliaryConfig auxcConfig); + bool RunStart(IAuxiliaryConfig auxcConfig, IFuelProperties fuelProperties); /// <summary> /// Any Termination Which Needs to be done ( Model depenent ) diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs deleted file mode 100644 index f53e202c2b..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cDelaunayMap.cs +++ /dev/null @@ -1,476 +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; - -namespace TUGraz.VectoCore.BusAuxiliaries.Legacy { - public class cDelaunayMap - { - public int ptDim; - - public List<dPoint> ptList; - private List<dTriangle> lDT; - private List<double[]> planes; - - public bool DualMode; - private List<dPoint> ptListXZ; - private List<double[]> planesXZ; - private List<dTriangle> lDTXZ; - - public bool ExtrapolError; - - - public cDelaunayMap() - { - ptList = new List<dPoint>(); - ptListXZ = new List<dPoint>(); - DualMode = false; - } - - public void AddPoints(double X, double Y, double Z) - { - ptList.Add(new dPoint(X, Y, Z)); - if (DualMode) - ptListXZ.Add(new dPoint(X, Z, Y)); - } - - public bool Triangulate() - { - //dTriangle tr; - dTriangulation DT; - - ptDim = ptList.Count - 1; - - // XY-triangulation - try { - DT = new dTriangulation(); - lDT = DT.Triangulate(ptList); - } catch (Exception ) { - return false; - } - - planes = new List<double[]>(); - - foreach (var tr in lDT) - planes.Add(GetPlane(tr)); - - - // #If DEBUG Then - // Dim i As Int16 - // Debug.Print("#,x1,y1,z1,x2,y2,z2") - // i = -1 - // For Each tr In lDT - // i += 1 - // Debug.Print(i & "," & tr.P1.X & "," & tr.P1.Y & "," & tr.P1.Z & "," & tr.P2.X & "," & tr.P2.Y & "," & tr.P2.Z) - // Debug.Print(i & "," & tr.P3.X & "," & tr.P3.Y & "," & tr.P3.Z & "," & tr.P2.X & "," & tr.P2.Y & "," & tr.P2.Z) - // Debug.Print(i & "," & tr.P1.X & "," & tr.P1.Y & "," & tr.P1.Z & "," & tr.P3.X & "," & tr.P3.Y & "," & tr.P3.Z) - // Next - // #End If - - - // XZ-triangulation - if (DualMode) { - if (ptDim != ptListXZ.Count - 1) - return false; - - try { - DT = new dTriangulation(); - lDTXZ = DT.Triangulate(ptListXZ); - } catch (Exception ) { - return false; - } - - planesXZ = new List<double[]>(); - - foreach (var tr in lDTXZ) - planesXZ.Add(GetPlane(tr)); - } - - return true; - } - - // XY => Z Interpolation - public double Intpol(double x, double y) - { - int j; - double[] l0; - //dTriangle tr; - - ExtrapolError = false; - - // Try exact solution for IsInside() - j = -1; - foreach (var tr in lDT) { - j += 1; - if (IsInside(tr, x, y, true)) { - l0 = planes[j]; - return (l0[3] - x * l0[0] - y * l0[1]) / l0[2]; - } - } - - // Try approx. solution (fixes rounding errors when points lies exactly on an edge of a triangle) - j = -1; - foreach (var tr in lDT) { - j += 1; - if (IsInside(tr, x, y, false)) { - l0 = planes[j]; - return (l0[3] - x * l0[0] - y * l0[1]) / l0[2]; - } - } - - - // ERROR: Extrapolation - ExtrapolError = true; - - return default(Double); - } - - // XZ => Y Interpolation - public double IntpolXZ(double x, double z) - { - int j; - double[] l0; - //dTriangle tr; - - ExtrapolError = false; - - if (DualMode) { - j = -1; - - // Try exact solution for IsInside() - foreach (var tr in lDTXZ) { - j += 1; - if (IsInside( tr, x, z, true)) { - l0 = planesXZ[j]; - return (l0[3] - x * l0[0] - z * l0[1]) / l0[2]; - } - } - - // Try approx. solution (fixes rounding errors when points lies exactly on an edge of a triangle) - j = -1; - foreach (var tr in lDTXZ) { - j += 1; - if (IsInside( tr, x, z, false)) { - l0 = planesXZ[j]; - return (l0[3] - x * l0[0] - z * l0[1]) / l0[2]; - } - } - - // ERROR: Extrapolation - ExtrapolError = true; - return default(Double); - } else { - - // ERROR: Extrapolation - ExtrapolError = true; - return default(Double); - } - } - - private double[] GetPlane(dTriangle tr) - { - dPoint AB; - dPoint AC; - dPoint cross; - var l = new double[4]; - dPoint pt1; - dPoint pt2; - dPoint pt3; - - pt1 = tr.P1; - pt2 = tr.P2; - pt3 = tr.P3; - - AB = new dPoint(pt2.X - pt1.X, pt2.Y - pt1.Y, pt2.Z - pt1.Z); - AC = new dPoint(pt3.X - pt1.X, pt3.Y - pt1.Y, pt3.Z - pt1.Z); - - cross = new dPoint(AB.Y * AC.Z - AB.Z * AC.Y, AB.Z * AC.X - AB.X * AC.Z, AB.X * AC.Y - AB.Y * AC.X); - - l[0] = cross.X; - l[1] = cross.Y; - l[2] = cross.Z; - - l[3] = pt1.X * cross.X + pt1.Y * cross.Y + pt1.Z * cross.Z; - - return l; - } - - private bool IsInside(dTriangle tr, double xges, double yges, bool Exact) - { - var v0 = new double[2]; - var v1 = new double[2]; - var v2 = new double[2]; - double dot00; - double dot01; - double dot02; - double dot11; - double dot12; - double invDenom; - double u; - double v; - dPoint pt1; - dPoint pt2; - dPoint pt3; - - pt1 = tr.P1; - pt2 = tr.P2; - pt3 = tr.P3; - - // Quelle: http://www.blackpawn.com/texts/pointinpoly/default.html (Barycentric Technique) - - // Compute vectors - v0[0] = pt3.X - pt1.X; - v0[1] = pt3.Y - pt1.Y; - - v1[0] = pt2.X - pt1.X; - v1[1] = pt2.Y - pt1.Y; - - v2[0] = xges - pt1.X; - v2[1] = yges - pt1.Y; - - // Compute dot products - dot00 = v0[0] * v0[0] + v0[1] * v0[1]; - dot01 = v0[0] * v1[0] + v0[1] * v1[1]; - dot02 = v0[0] * v2[0] + v0[1] * v2[1]; - dot11 = v1[0] * v1[0] + v1[1] * v1[1]; - dot12 = v1[0] * v2[0] + v1[1] * v2[1]; - - // Compute barycentric coordinates - invDenom = 1 / (dot00 * dot11 - dot01 * dot01); - u = (dot11 * dot02 - dot01 * dot12) * invDenom; - v = (dot00 * dot12 - dot01 * dot02) * invDenom; - - // Debug.Print(u & ", " & v & ", " & u + v) - - // Check if point is in triangle - if (Exact) - return (u >= 0) & (v >= 0) & (u + v <= 1); - else - return (u >= -0.001) & (v >= -0.001) & (u + v <= 1.001); - } - - public struct dPoint - { - public double X; - public double Y; - public double Z; - - public dPoint(double xd, double yd, double zd) - { - X = xd; - Y = yd; - Z = zd; - } - - public static bool operator ==(dPoint left, dPoint right) - { - - // If DirectCast(left, Object) = DirectCast(right, Object) Then - // Return True - // End If - - // If (DirectCast(left, Object) Is Nothing) OrElse (DirectCast(right, Object) Is Nothing) Then - // Return False - // End If - - // Just compare x and y here... - if (left.X != right.X) - return false; - - if (left.Y != right.Y) - return false; - - return true; - } - - public static bool operator !=(dPoint left, dPoint right) - { - return !(left == right); - } - } - - public class dTriangle - { - public dPoint P1; - public dPoint P2; - public dPoint P3; - - public dTriangle( dPoint pp1, dPoint pp2, dPoint pp3) - { - P1 = pp1; - P2 = pp2; - P3 = pp3; - } - - public double ContainsInCircumcircle(dPoint pt) - { - var ax = this.P1.X - pt.X; - var ay = this.P1.Y - pt.Y; - var bx = this.P2.X - pt.X; - var by = this.P2.Y - pt.Y; - var cx = this.P3.X - pt.X; - var cy = this.P3.Y - pt.Y; - var det_ab = ax * by - bx * ay; - var det_bc = bx * cy - cx * by; - var det_ca = cx * ay - ax * cy; - var a_squared = ax * ax + ay * ay; - var b_squared = bx * bx + by * by; - var c_squared = cx * cx + cy * cy; - - return a_squared * det_bc + b_squared * det_ca + c_squared * det_ab; - } - - public bool SharesVertexWith(dTriangle triangle) - { - if (this.P1.X == triangle.P1.X && this.P1.Y == triangle.P1.Y) - return true; - if (this.P1.X == triangle.P2.X && this.P1.Y == triangle.P2.Y) - return true; - if (this.P1.X == triangle.P3.X && this.P1.Y == triangle.P3.Y) - return true; - - if (this.P2.X == triangle.P1.X && this.P2.Y == triangle.P1.Y) - return true; - if (this.P2.X == triangle.P2.X && this.P2.Y == triangle.P2.Y) - return true; - if (this.P2.X == triangle.P3.X && this.P2.Y == triangle.P3.Y) - return true; - - if (this.P3.X == triangle.P1.X && this.P3.Y == triangle.P1.Y) - return true; - if (this.P3.X == triangle.P2.X && this.P3.Y == triangle.P2.Y) - return true; - if (this.P3.X == triangle.P3.X && this.P3.Y == triangle.P3.Y) - return true; - - return false; - } - } - - public class dEdge - { - public dPoint StartPoint; - public dPoint EndPoint; - - public dEdge(dPoint p1, dPoint p2) - { - StartPoint = p1; - EndPoint = p2; - } - - public static bool operator ==(dEdge left, dEdge right) - { - // If DirectCast(left, Object) = DirectCast(right, Object) Then - // Return True - // End If - - // If (DirectCast(left, Object) Is Nothing) Or (DirectCast(right, Object) Is Nothing) Then - // Return False - // End If - - return ((left.StartPoint == right.StartPoint && left.EndPoint == right.EndPoint) || (left.StartPoint == right.EndPoint && left.EndPoint == right.StartPoint)); - } - - public static bool operator !=(dEdge left, dEdge right) - { - return !(left == right); - } - } - - public class dTriangulation - { - public List<dTriangle> Triangulate(List<dPoint> triangulationPoints) - { - if (triangulationPoints.Count < 3) - throw new ArgumentException("Can not triangulate less than three vertices!"); - - // The triangle list - var triangles = new List<dTriangle>(); - - - // The "supertriangle" which encompasses all triangulation points. - // This triangle initializes the algorithm and will be removed later. - var superTriangle = this.SuperTriangle(triangulationPoints); - triangles.Add(superTriangle); - - // Include each point one at a time into the existing triangulation - for (var i = 0; i <= triangulationPoints.Count - 1; i++) { - // Initialize the edge buffer. - var EdgeBuffer = new List<dEdge>(); - - // If the actual vertex lies inside the circumcircle, then the three edges of the - // triangle are added to the edge buffer and the triangle is removed from list. - for (var j = triangles.Count - 1; j >= 0; j += -1) { - var t = triangles[j]; - if (t.ContainsInCircumcircle(triangulationPoints[i]) > 0) { - EdgeBuffer.Add(new dEdge(t.P1, t.P2)); - EdgeBuffer.Add(new dEdge(t.P2, t.P3)); - EdgeBuffer.Add(new dEdge(t.P3, t.P1)); - triangles.RemoveAt(j); - } - } - - // Remove duplicate edges. This leaves the convex hull of the edges. - // The edges in this convex hull are oriented counterclockwise! - for (var j = EdgeBuffer.Count - 2; j >= 0; j += -1) { - for (var k = EdgeBuffer.Count - 1; k >= j + 1; k += -1) { - if (EdgeBuffer[j] == EdgeBuffer[k]) { - EdgeBuffer.RemoveAt(k); - EdgeBuffer.RemoveAt(j); - k -= 1; - continue; - } - } - } - - // Generate new counterclockwise oriented triangles filling the "hole" in - // the existing triangulation. These triangles all share the actual vertex. - for (var j = 0; j <= EdgeBuffer.Count - 1; j++) - triangles.Add(new dTriangle(EdgeBuffer[j].StartPoint, EdgeBuffer[j].EndPoint, triangulationPoints[i])); - } - - // We don't want the supertriangle in the triangulation, so - // remove all triangles sharing a vertex with the supertriangle. - for (var i = triangles.Count - 1; i >= 0; i += -1) { - if (triangles[i].SharesVertexWith(superTriangle)) - triangles.RemoveAt(i); - } - - // Return the triangles - return triangles; - } - - - private dTriangle SuperTriangle(List<dPoint> triangulationPoints) - { - var M = triangulationPoints[0].X; - - // get the extremal x and y coordinates - for (var i = 1; i <= triangulationPoints.Count - 1; i++) { - var xAbs = Math.Abs(triangulationPoints[i].X); - var yAbs = Math.Abs(triangulationPoints[i].Y); - if (xAbs > M) - M = xAbs; - if (yAbs > M) - M = yAbs; - } - - // make a triangle - var sp1 = new dPoint(10 * M, 0, 0); - var sp2 = new dPoint(0, 10 * M, 0); - var sp3 = new dPoint(-10 * M, -10 * M, 0); - - return new dTriangle( sp1, sp2, sp3); - } - } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs deleted file mode 100644 index ae1cd8155c..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cFile_V3.cs +++ /dev/null @@ -1,175 +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.IO; -using Microsoft.VisualBasic.FileIO; -using TUGraz.VectoCore.Models.BusAuxiliaries.Util; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy { - public class cFile_V3 - { - private TextFieldParser TxtFldParser; - private StreamWriter StrWrter; - private FileMode Mode; - private string Path; - private string Sepp; - private bool SkipCom; - private bool StopE; - private bool FileOpen; - private string[] PreLine; - private bool FileEnd; - - // File format - private System.Text.Encoding FileFormat = System.Text.Encoding.UTF8; - - public cFile_V3() - { - Reset(); - } - - private void Reset() - { - FileOpen = false; - Mode = FileMode.Undefined; - PreLine = null; - FileEnd = false; - } - - public bool OpenRead(string FileName, string Separator = ",", bool SkipComment = true, bool StopAtE = false) - { - Reset(); - StopE = StopAtE; - Path = FileName; - Sepp = Separator; - SkipCom = SkipComment; - if (!(Mode == FileMode.Undefined)) - return false; - if (!File.Exists(Path)) - return false; - Mode = FileMode.Read; - try { - TxtFldParser = new TextFieldParser(Path, System.Text.Encoding.Default); - FileOpen = true; - } catch (Exception ) { - return false; - } - TxtFldParser.TextFieldType = FieldType.Delimited; - TxtFldParser.Delimiters = new string[] { Sepp }; - - // If TxtFldParser.EndOfData Then Return False - - ReadLine(); - return true; - } - - public string[] ReadLine() - { - var line = PreLine; - - lb10: - ; - if (TxtFldParser.EndOfData) { - FileEnd = true; - } else { - PreLine = TxtFldParser.ReadFields(); - var line0 = PreLine[0].Trim().ToUpper(); - - if (SkipCom) { - if (FilePathUtils.Left(line0, 1) == "#") - goto lb10; - } - - if (StopE) - FileEnd = (line0 == "E"); - } - - return line; - } - - public void Close() - { - switch (Mode) { - case FileMode.Read: { - if (FileOpen) - TxtFldParser.Close(); - TxtFldParser = null; - break; - } - - case FileMode.Write: { - if (FileOpen) - StrWrter.Close(); - StrWrter = null; - break; - } - } - Reset(); - } - - public bool EndOfFile - { - get { - return FileEnd; - } - } - - public bool OpenWrite(string FileName, string Separator = ",", bool AutoFlush = false, bool Append = false) - { - Reset(); - Path = FileName; - Sepp = Separator; - if (Mode != FileMode.Undefined) - return false; - Mode = FileMode.Write; - try { - if (!Append) { - File.Delete(Path); - } - StrWrter = new StreamWriter(File.OpenWrite(Path), FileFormat); - FileOpen = true; - } catch (Exception ) { - return false; - } - StrWrter.AutoFlush = AutoFlush; - return true; - } - - public void WriteLine(params object[] x) - { - //string St; - var StB = new System.Text.StringBuilder(); - bool Skip; - Skip = true; - foreach (var St in x) { - if (Skip) { - StB.Append(St); - Skip = false; - } else - StB.Append(Sepp + St); - } - StrWrter.WriteLine(StB.ToString()); - StB = null; - } - - public void WriteLine(string x) - { - StrWrter.WriteLine(x); - } - - private enum FileMode - { - Undefined, - Read, - Write - } - } -} diff --git a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs b/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs deleted file mode 100644 index cf87638f75..0000000000 --- a/VectoCore/VectoCore/Models/BusAuxiliaries/Legacy/cMAP.cs +++ /dev/null @@ -1,194 +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.Globalization; -using TUGraz.VectoCommon.BusAuxiliaries; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Utils; - -namespace TUGraz.VectoCore.Models.BusAuxiliaries.Legacy { - public class cMAP : IFuelConsumptionMap - { - private List<float> LnU; - private List<float> LTq; - private List<float> lFC; - - private string sFilePath; - private int iMapDim; - - private DelaunayMap FuelMap; - - private void ResetMe() - { - lFC = null; - LTq = null; - LnU = null; - iMapDim = -1; - FuelMap = new DelaunayMap("SomeMap"); - } - - public bool ReadFile(bool ShowMsg = true) - { - cFile_V3 file; - string[] line; - float nU; - //string MsgSrc; - - - //MsgSrc = "Main/ReadInp/MAP"; - - // Reset - ResetMe(); - - // Stop if there's no file - if (sFilePath == "" || !System.IO.File.Exists(sFilePath)) - return false; - - // Open file - file = new cFile_V3(); - if (!file.OpenRead(sFilePath)) { - file = null/* TODO Change to default(_) if this is not a reference type */; - return false; - } - - // Skip Header - file.ReadLine(); - - // Initi Lists (before version check so ReadOldFormat works) - lFC = new List<float>(); - LTq = new List<float>(); - LnU = new List<float>(); - - try { - while (!file.EndOfFile) { - - // Line read - line = file.ReadLine(); - - // Line counter up (was reset in ResetMe) - iMapDim += 1; - - // Revolutions - nU = float.Parse(line[0], CultureInfo.InvariantCulture); - - LnU.Add(nU); - - // Power - LTq.Add(float.Parse(line[1], CultureInfo.InvariantCulture)); - - // FC - // Check sign - if (System.Convert.ToSingle(line[2]) < 0) { - file.Close(); - - return false; - } - - lFC.Add(System.Convert.ToSingle(line[2])); - } - } catch (Exception ) { - goto lbEr; - } - - // Close file - file.Close(); - - file = null/* TODO Change to default(_) if this is not a reference type */; - - return true; - - - // ERROR-label for clean Abort - lbEr: - ; - file.Close(); - file = null/* TODO Change to default(_) if this is not a reference type */; - - return false; - } - - public bool Triangulate() - { - int i; - - //string MsgSrc; - - //MsgSrc = "MAP/Norm"; - - // FC Delauney - for (i = 0; i <= iMapDim; i++) - FuelMap.AddPoint(LnU[i], LTq[i], lFC[i]); - - FuelMap.Triangulate(); - return true; - } - - - public double fFCdelaunay_Intp(float nU, float Tq) - { - - var val = FuelMap.Interpolate(nU, Tq); - - if (val == null) { - return -10000; - } - - return val.Value; - } - - - public string FilePath - { - get { - return sFilePath; - } - set { - sFilePath = value; - } - } - - public int MapDim - { - get { - return iMapDim; - } - } - - public List<float> Tq - { - get { - return LTq; - } - } - - public List<float> FC - { - get { - return lFC; - } - } - - public List<float> nU - { - get { - return LnU; - } - } - - - public KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity) - { - return (fFCdelaunay_Intp(System.Convert.ToSingle(angularVelocity.AsRPM), System.Convert.ToSingle(torque.Value())) / 3600.0 / 1000.0).SI<KilogramPerSecond>(); - } - } -} diff --git a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs index 3f4326e3ea..ad5d2c4875 100644 --- a/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs +++ b/VectoCore/VectoCore/Models/Declaration/DeclarationData.cs @@ -39,16 +39,12 @@ using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Reader.ComponentData; -using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.HVAC; using TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumatics; -using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces.DownstreamModules.HVAC; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.Utils; -using IPneumaticUserInputsConfig = TUGraz.VectoCommon.BusAuxiliaries.IPneumaticUserInputsConfig; namespace TUGraz.VectoCore.Models.Declaration { @@ -133,9 +129,9 @@ namespace TUGraz.VectoCore.Models.Declaration //private static AuxiliaryConfig busAuxConfig = null; private static IElectricalConsumerList elUserConfig; - private static IPneumaticActuationsMap actuationsMap; + private static IActuationsMap actuationsMap; //private static PneumaticsAuxilliariesConfig pneumaticAuxConfig; - private static ITechlistBenefitLines ssmTechnologies; + private static ISSMTechnologies ssmTechnologies; //public static ISSMInputs SSMDefaultValues @@ -147,10 +143,10 @@ namespace TUGraz.VectoCore.Models.Declaration // } //} - public static ITechlistBenefitLines SSMTechnologyList + public static ISSMTechnologies SSMTechnologyList { get { - return ssmTechnologies ?? (ssmTechnologies = HVACTechBenefitsReader.ReadFromStream( + return ssmTechnologies ?? (ssmTechnologies = SSMTechnologiesReader.ReadFromStream( RessourceHelper.ReadStream(DeclarationDataResourcePrefix + ".Buses.SSMTechList.csv"))); } } @@ -172,10 +168,10 @@ namespace TUGraz.VectoCore.Models.Declaration } - public static IPneumaticActuationsMap ActuationsMap + public static IActuationsMap ActuationsMap { get { - return actuationsMap ?? (actuationsMap = PneumaticActuationsMapReader.ReadStream( + return actuationsMap ?? (actuationsMap = ActuationsMapReader.ReadStream( RessourceHelper.ReadStream(DeclarationDataResourcePrefix + ".Buses.DefaultActuationsMap.APAC"))); } } diff --git a/VectoCore/VectoCore/Models/Declaration/FuelData.cs b/VectoCore/VectoCore/Models/Declaration/FuelData.cs index 53bb0eda14..245b4e9bf6 100644 --- a/VectoCore/VectoCore/Models/Declaration/FuelData.cs +++ b/VectoCore/VectoCore/Models/Declaration/FuelData.cs @@ -29,11 +29,10 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; -using System.Collections; using System.Collections.Generic; using System.Data; using System.Linq; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; @@ -53,7 +52,7 @@ namespace TUGraz.VectoCore.Models.Declaration return _instance ?? (_instance = new FuelData()); } - private FuelData() {} + private FuelData() { } protected override string ResourceId { @@ -102,13 +101,49 @@ namespace TUGraz.VectoCore.Models.Declaration row.ParseDouble("ncv_stdengine").SI(Unit.SI.Kilo.Joule.Per.Kilo.Gramm).Cast<JoulePerKilogramm>() )); } - - } - public struct Entry + public class Entry : IFuelProperties { - public Entry(FuelType type, TankSystem? tankSystem, KilogramPerCubicMeter density, double weight, JoulePerKilogramm heatingValueVecto, JoulePerKilogramm heatingValueAnnex) + #region Equality members + + protected bool Equals(Entry other) + { + return FuelType == other.FuelType && TankSystem == other.TankSystem && Equals(FuelDensity, other.FuelDensity) && + CO2PerFuelWeight.Equals(other.CO2PerFuelWeight) && Equals(LowerHeatingValueVecto, other.LowerHeatingValueVecto) && + Equals(LowerHeatingValueVectoEngine, other.LowerHeatingValueVectoEngine); + } + + public override bool Equals(object obj) + { + if (ReferenceEquals(null, obj)) + return false; + if (ReferenceEquals(this, obj)) + return true; + if (obj.GetType() != this.GetType()) + return false; + + return Equals((Entry)obj); + } + + public override int GetHashCode() + { + unchecked { + var hashCode = (int)FuelType; + hashCode = (hashCode * 397) ^ TankSystem.GetHashCode(); + hashCode = (hashCode * 397) ^ (FuelDensity != null ? FuelDensity.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ CO2PerFuelWeight.GetHashCode(); + hashCode = (hashCode * 397) ^ (LowerHeatingValueVecto != null ? LowerHeatingValueVecto.GetHashCode() : 0); + hashCode = (hashCode * 397) ^ (LowerHeatingValueVectoEngine != null ? LowerHeatingValueVectoEngine.GetHashCode() : 0); + return hashCode; + } + } + + #endregion + + public Entry( + FuelType type, TankSystem? tankSystem, KilogramPerCubicMeter density, double weight, + JoulePerKilogramm heatingValueVecto, JoulePerKilogramm heatingValueAnnex) { FuelType = type; TankSystem = tankSystem; @@ -131,13 +166,18 @@ namespace TUGraz.VectoCore.Models.Declaration public JoulePerKilogramm LowerHeatingValueVectoEngine { get; } - public double HeatingValueCorrection { get { return LowerHeatingValueVectoEngine / LowerHeatingValueVecto; } } + public double HeatingValueCorrection + { + get { return LowerHeatingValueVectoEngine / LowerHeatingValueVecto; } + } public string GetLabel() { return (TankSystem != null ? (TankSystem == VectoCommon.InputData.TankSystem.Liquefied ? "L" : "C") : "") + - FuelType.GetLabel(); + FuelType.GetLabel(); } + + } } -} \ No newline at end of file +} diff --git a/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs b/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs index 0daa7e97b3..4d81f98301 100644 --- a/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs +++ b/VectoCore/VectoCore/Models/Declaration/StandardBodies.cs @@ -29,7 +29,6 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; using System.Collections.Generic; using System.Data; using System.Linq; diff --git a/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs b/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs index 359cb23383..85d5a23dcb 100644 --- a/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs +++ b/VectoCore/VectoCore/Models/Declaration/WeightingGroups.cs @@ -33,7 +33,6 @@ using System; using System.Collections.Generic; using System.Data; using System.Linq; -using System.Net.NetworkInformation; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs b/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs index d691b6b5ed..211f8ad29a 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/ExemptedRun.cs @@ -33,7 +33,6 @@ using System; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCore.Models.Connector.Ports.Impl; -using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.OutputData; namespace TUGraz.VectoCore.Models.Simulation.Impl { diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index d917f4451a..df525b09a0 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -30,11 +30,9 @@ */ using System; -using System.Collections.Generic; using System.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs index dc3d9885ba..3cc5f1f74b 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/AuxiliaryData.cs @@ -31,7 +31,6 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; -using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.Utils; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs index 8097184063..df841a08ea 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CombustionEngineData.cs @@ -31,6 +31,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; @@ -130,6 +131,6 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data [Required, ValidateObject] public FuelConsumptionMap ConsumptionMap { get; internal set; } - public FuelData.Entry FuelData { get; internal set; } + public IFuelProperties FuelData { get; internal set; } } } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs index a4245dec53..1c4b2c8948 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/CrosswindCorrectionCdxALookup.cs @@ -35,7 +35,6 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.Models.Simulation.DataBus; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.SimulationComponent.Data { diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs index 0486ea6b4c..f7cb83dcf2 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/DriverData.cs @@ -31,7 +31,6 @@ using System; using System.ComponentModel.DataAnnotations; -using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.Declaration; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs index be913101ac..bf6c283c89 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/FuelConsumptionMap.cs @@ -32,6 +32,7 @@ using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Diagnostics; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; @@ -39,7 +40,7 @@ using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine { - public class FuelConsumptionMap : SimulationComponentData + public class FuelConsumptionMap : SimulationComponentData, IFuelConsumptionMap { [Required, ValidateObject] private readonly DelaunayMap _fuelMap; @@ -107,5 +108,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Engine public KilogramPerSecond Value; public bool Extrapolated; } + + #region Implementation of IFuelConsumptionMap + + public KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity) + { + return GetFuelConsumption(torque, angularVelocity, true).Value; + } + + #endregion } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs index 5838b89c18..ea93b31f47 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Engine/WHRPowerMap.cs @@ -2,7 +2,6 @@ using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.InputData.Reader.ComponentData diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs index 21eca1fb7e..c522c2aecd 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Data/Gearbox/TorqueConverterData.cs @@ -35,7 +35,6 @@ using System.ComponentModel.DataAnnotations; using System.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox { diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs index 85c17be326..4c38491e42 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/BusAuxiliariesAdapter.cs @@ -30,14 +30,12 @@ */ using System; -using System.IO; using System.Linq; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.BusAuxiliaries; using TUGraz.VectoCore.Models.BusAuxiliaries.Interfaces; -using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; @@ -57,7 +55,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl protected IAdvancedAuxiliaries Auxiliaries; private readonly FuelConsumptionAdapter _fcMapAdapter; - public BusAuxiliariesAdapter(IDataBus container, IAuxiliaryConfig auxiliaryConfig, string cycleName, Kilogram vehicleWeight, + public BusAuxiliariesAdapter(IVehicleContainer container, IAuxiliaryConfig auxiliaryConfig, string cycleName, Kilogram vehicleWeight, FuelConsumptionMap fcMap, PerSecond engineIdleSpeed, IAuxPort additionalAux = null) { // mAAUX_Global.advancedAuxModel.Signals.DeclarationMode = Cfg.DeclMode @@ -90,7 +88,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl // call initialize _after_ setting the cycle time to get the correct consumtions - tmpAux.Initialise(auxiliaryConfig); + tmpAux.Initialise(auxiliaryConfig, container.RunData.EngineData.Fuels.First().FuelData); Auxiliaries = tmpAux; @@ -279,13 +277,14 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { protected internal FuelConsumptionMap FcMap; - public bool AllowExtrapolation { get; set; } + public bool AllowExtrapolation { get; set; } public KilogramPerSecond GetFuelConsumption(NewtonMeter torque, PerSecond angularVelocity) { return FcMap.GetFuelConsumption(torque, angularVelocity, AllowExtrapolation).Value; } - } + + } public class BusAuxState { diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs index 18b479edad..8dad8c9a54 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/CombustionEngine.cs @@ -31,6 +31,7 @@ using System; using System.Linq; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -395,10 +396,11 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl var result = fuel.ConsumptionMap.GetFuelConsumption( CurrentState.EngineTorque, avgEngineSpeed, DataBus.ExecutionMode != ExecutionMode.Declaration); + var fuelData = fuel.FuelData; if (DataBus.ExecutionMode != ExecutionMode.Declaration && result.Extrapolated) { Log.Warn( "FuelConsumptionMap for fuel {2} was extrapolated: range for FC-Map is not sufficient: n: {0}, torque: {1}", - avgEngineSpeed.Value(), CurrentState.EngineTorque.Value(), fuel.FuelData.FuelType.GetLabel()); + avgEngineSpeed.Value(), CurrentState.EngineTorque.Value(), fuelData.FuelType.GetLabel()); } var pt1 = ModelData.FullLoadCurves[DataBus.Gear].PT1(avgEngineSpeed); if (DataBus.ExecutionMode == ExecutionMode.Declaration && pt1.Extrapolated) { @@ -408,9 +410,9 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } var fc = result.Value; - var fcNCVcorr = fc * fuel.FuelData.HeatingValueCorrection; // TODO: wird fcNCVcorr + var fcNCVcorr = fc * fuelData.HeatingValueCorrection; // TODO: wird fcNCVcorr - var fcWHTC = fcNCVcorr * WHTCCorrectionFactor(fuel.FuelData); + var fcWHTC = fcNCVcorr * WHTCCorrectionFactor(fuelData); var fcAAUX = fcWHTC; var advancedAux = EngineAux as BusAuxiliariesAdapter; if (advancedAux != null) { @@ -419,7 +421,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } var fcFinal = fcAAUX; - container[ModalResultField.FCMap, fuel.FuelData] = fc; + container[ModalResultField.FCMap, fuelData] = fc; container[ModalResultField.FCNCVc, fuel.FuelData] = fcNCVcorr; container[ModalResultField.FCWHTCc, fuel.FuelData] = fcWHTC; container[ModalResultField.FCAAUX, fuel.FuelData] = fcAAUX; @@ -428,7 +430,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl } } - protected virtual double WHTCCorrectionFactor(FuelData.Entry fuel) + protected virtual double WHTCCorrectionFactor(IFuelProperties fuel) { return ModelData.Fuels.First(x=> x.FuelData.FuelType == fuel.FuelType).FuelConsumptionCorrectionFactor; } diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs index d947381014..55dc44c6a8 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/Driver.cs @@ -39,7 +39,6 @@ using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; -using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.Utils; using DriverData = TUGraz.VectoCore.Models.SimulationComponent.Data.DriverData; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs index dc95aa1e65..85464ff570 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/MeasuredSpeedDrivingCycle.cs @@ -38,7 +38,6 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.Connector.Ports; using TUGraz.VectoCore.Models.Connector.Ports.Impl; -using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs index 732d44a91f..f8edcc3a7a 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/PTOCycleController.cs @@ -29,7 +29,6 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System; using System.Linq; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs index a4ffebcf46..4e05382798 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/StopStartCombustionEngine.cs @@ -142,7 +142,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { var result = fuel.ConsumptionMap.GetFuelConsumption(auxDemand, ModelData.IdleSpeed); - var fcESS = result.Value * (1 - EngineStopStartUtilityFactor); + var fcESS = result.Value() * (1 - EngineStopStartUtilityFactor); var fcFinal = fcESS; container[ModalResultField.FCMap, fuel.FuelData] = fc; diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs index b5916b05dd..281e3b0f01 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/TorqueConverter.cs @@ -43,7 +43,6 @@ using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.DataBus; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; using TUGraz.VectoCore.OutputData; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs index 5c5267c138..2644fa0286 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCombustionEngine.cs @@ -31,15 +31,14 @@ using System; using System.Linq; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; using TUGraz.VectoCore.Models.Connector.Ports.Impl; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation; -using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.SimulationComponent.Data; -using TUGraz.VectoCore.OutputData; using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.SimulationComponent.Impl @@ -199,7 +198,7 @@ namespace TUGraz.VectoCore.Models.SimulationComponent.Impl // TODO: MQ 2019-07-30 - protected override double WHTCCorrectionFactor (FuelData.Entry fuel) + protected override double WHTCCorrectionFactor (IFuelProperties fuel) { var selected = ModelData.Fuels.First(x => x.FuelData.FuelType == fuel.FuelType); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs index dc72734e8a..dbb7d93c69 100644 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/VTPCycle.cs @@ -30,7 +30,6 @@ */ using System; -using System.Collections.Generic; using System.Linq; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -41,7 +40,6 @@ using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Models.Simulation.Impl; using TUGraz.VectoCore.Models.SimulationComponent.Data; using TUGraz.VectoCore.OutputData; -using TUGraz.VectoCore.Utils; namespace TUGraz.VectoCore.Models.SimulationComponent.Impl { diff --git a/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs b/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs index 8c463e10e8..1b872593f3 100644 --- a/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs +++ b/VectoCore/VectoCore/Ninject/VectoNinjectModule.cs @@ -1,7 +1,5 @@ using Ninject.Modules; using TUGraz.VectoCore.InputData.FileIO.XML; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering; using TUGraz.VectoCore.Models.Simulation; using TUGraz.VectoCore.OutputData.XML; diff --git a/VectoCore/VectoCore/OutputData/DeclarationReport.cs b/VectoCore/VectoCore/OutputData/DeclarationReport.cs index 27e4db1c27..5cbb31ca6a 100644 --- a/VectoCore/VectoCore/OutputData/DeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/DeclarationReport.cs @@ -32,6 +32,7 @@ using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Declaration; @@ -66,7 +67,7 @@ namespace TUGraz.VectoCore.OutputData public interface IResultEntry { - IList<FuelData.Entry> FuelData { get; set; } + IList<IFuelProperties> FuelData { get; set; } Kilogram Payload { get; set; } Kilogram TotalVehicleWeight { get; set; } CubicMeter CargoVolume { get; set; } diff --git a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs index 77267d441a..ce3bc606c8 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/BusAuxWriter.cs @@ -222,7 +222,7 @@ namespace TUGraz.VectoCore.OutputData.FileIO retVal["EC_Solar"] = ssmInputs.EnvironmentalConditions.DefaultConditions.Solar.Value(); //retVal["EC_EnviromentalConditions_BatchFile"] = ssmInputs.EnvironmentalConditions.EnviromentalConditions_BatchFile; //retVal["EC_EnviromentalConditions_BatchEnabled"] = ssmInputs.EnvironmentalConditions.EnviromentalConditions_BatchEnabled; - retVal["AC_CompressorType"] = ssmInputs.ACSystem.CompressorType; + retVal["AC_CompressorType"] = ssmInputs.ACSystem.CompressorType.ToString(); retVal["AC_CompressorCapacitykW"] = ssmInputs.ACSystem.CompressorCapacity.ConvertToKiloWatt().Value; retVal["VEN_VentilationOnDuringHeating"] = ssmInputs.Ventilation.VentilationOnDuringHeating; retVal["VEN_VentilationWhenBothHeatingAndACInactive"] = ssmInputs.Ventilation.VentilationWhenBothHeatingAndACInactive; diff --git a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs index 47770f6f77..e1c21ed998 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/JSONFileWriter.cs @@ -1,15 +1,7 @@ using System; using System.Collections.Generic; -using System.Diagnostics; -using System.Globalization; using System.IO; using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Security; -using System.Text; -using System.Threading.Tasks; -using Microsoft.VisualBasic; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using TUGraz.VectoCommon.InputData; diff --git a/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs b/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs index 876f367420..ad577d95d4 100644 --- a/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs +++ b/VectoCore/VectoCore/OutputData/FileIO/ShiftPolygonExport.cs @@ -32,7 +32,6 @@ using System; using System.Collections.Generic; using System.IO; -using System.Linq; using System.Text; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; diff --git a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs index e72c326cef..65f10fc793 100644 --- a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs @@ -33,7 +33,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Linq; -using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; @@ -57,7 +57,7 @@ namespace TUGraz.VectoCore.OutputData /// <returns></returns> object this[ModalResultField key] { get; set; } - object this[ModalResultField key, FuelData.Entry fuel] { get; set; } + object this[ModalResultField key, IFuelProperties fuel] { get; set; } /// <summary> /// Indexer for auxiliary fields of the DataWriter. @@ -73,7 +73,7 @@ namespace TUGraz.VectoCore.OutputData /// </summary> void CommitSimulationStep(); - IList<FuelData.Entry> FuelData { get; } + IList<IFuelProperties> FuelData { get; } VectoRun.Status RunStatus { get; } @@ -108,7 +108,7 @@ namespace TUGraz.VectoCore.OutputData /// </summary> void FinishSimulation(); - string GetColumnName(FuelData.Entry fuelData, ModalResultField mrf); + string GetColumnName(IFuelProperties fuelData, ModalResultField mrf); } public static class ModalDataContainerExtensions @@ -348,12 +348,12 @@ namespace TUGraz.VectoCore.OutputData } - public static KilogramPerSecond FuelConsumptionPerSecond(this IModalDataContainer data, ModalResultField mrf, FuelData.Entry fuelData) + public static KilogramPerSecond FuelConsumptionPerSecond(this IModalDataContainer data, ModalResultField mrf, IFuelProperties fuelData) { return data.TimeIntegral<Kilogram>(data.GetColumnName(fuelData, mrf)) / data.Duration(); } - public static KilogramPerMeter FuelConsumptionPerMeter(this IModalDataContainer data, ModalResultField mrf, FuelData.Entry fuelData) + public static KilogramPerMeter FuelConsumptionPerMeter(this IModalDataContainer data, ModalResultField mrf, IFuelProperties fuelData) { var distance = data.Distance(); if (distance == null || distance.IsEqual(0)) { @@ -363,7 +363,7 @@ namespace TUGraz.VectoCore.OutputData return data.TimeIntegral<Kilogram>(data.GetColumnName(fuelData, mrf)) / distance; } - public static Kilogram TotalFuelConsumption(this IModalDataContainer data, ModalResultField mrf, FuelData.Entry fuelData) + public static Kilogram TotalFuelConsumption(this IModalDataContainer data, ModalResultField mrf, IFuelProperties fuelData) { return data.TimeIntegral<Kilogram>(data.GetColumnName(fuelData, mrf)); } diff --git a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs index 33be4caf2a..8842956604 100644 --- a/VectoCore/VectoCore/OutputData/ModalDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/ModalDataContainer.cs @@ -35,6 +35,7 @@ using System.Data; using System.Globalization; using System.Linq; using System.Runtime.CompilerServices; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -56,7 +57,7 @@ namespace TUGraz.VectoCore.OutputData private readonly List<string> _additionalColumns = new List<string>(); private Exception SimException; - protected internal readonly Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>>(); + protected internal readonly Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>>(); public static readonly IList<ModalResultField> FuelConsumptionSignals = new[] { ModalResultField.FCMap, ModalResultField.FCNCVc, ModalResultField.FCWHTCc, ModalResultField.FCAAUX, @@ -88,17 +89,17 @@ namespace TUGraz.VectoCore.OutputData public bool WriteAdvancedAux { get; set; } - public ModalDataContainer(string runName, IList<FuelData.Entry> fuel, IModalDataWriter writer, bool writeEngineOnly = false, params IModalDataFilter[] filters) + public ModalDataContainer(string runName, IList<IFuelProperties> fuel, IModalDataWriter writer, bool writeEngineOnly = false, params IModalDataFilter[] filters) : this(0, runName, "", fuel, false, "", writer, _ => { }, writeEngineOnly, filters) {} - public ModalDataContainer(VectoRunData runData, IModalDataWriter writer, IList<FuelData.Entry> fuels, Action<ModalDataContainer> addReportResult, + public ModalDataContainer(VectoRunData runData, IModalDataWriter writer, IList<IFuelProperties> fuels, Action<ModalDataContainer> addReportResult, bool writeEngineOnly, params IModalDataFilter[] filter) : this( runData.JobRunId, runData.JobName, runData.Cycle.Name, fuels, runData.EngineData.MultipleEngineFuelModes, runData.ModFileSuffix, writer, addReportResult, writeEngineOnly, filter) {} - protected ModalDataContainer(int jobRunId, string runName, string cycleName, IList<FuelData.Entry> fuels, bool multipleEngineModes, string runSuffix, + protected ModalDataContainer(int jobRunId, string runName, string cycleName, IList<IFuelProperties> fuels, bool multipleEngineModes, string runSuffix, IModalDataWriter writer, Action<ModalDataContainer> addReportResult, bool writeEngineOnly, params IModalDataFilter[] filters) { @@ -150,7 +151,7 @@ namespace TUGraz.VectoCore.OutputData CurrentRow = Data.NewRow(); } - public IList<FuelData.Entry> FuelData + public IList<IFuelProperties> FuelData { get { return FuelColumns.Keys.ToList(); } } @@ -356,7 +357,7 @@ namespace TUGraz.VectoCore.OutputData set { CurrentRow[key.GetName()] = value; } } - public string GetColumnName(FuelData.Entry fuelData, ModalResultField mrf) + public string GetColumnName(IFuelProperties fuelData, ModalResultField mrf) { if (!FuelColumns.ContainsKey(fuelData) || !FuelColumns[fuelData].ContainsKey(mrf)) { throw new VectoException("unknown fuel {0} for key {1}", fuelData.GetLabel(), mrf.GetName()); @@ -365,7 +366,7 @@ namespace TUGraz.VectoCore.OutputData return FuelColumns[fuelData][mrf].ColumnName; } - public object this[ModalResultField key, FuelData.Entry fuel] + public object this[ModalResultField key, IFuelProperties fuel] { get { if (!FuelColumns.ContainsKey(fuel) || !FuelColumns[fuel].ContainsKey(key)) { diff --git a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs index b0dd779eb3..320960ed4a 100644 --- a/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs +++ b/VectoCore/VectoCore/OutputData/SummaryDataContainer.cs @@ -34,6 +34,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; using System.Runtime.CompilerServices; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; @@ -432,7 +433,7 @@ namespace TUGraz.VectoCore.OutputData } } - private void UpdateTableColumns(IList<FuelData.Entry> modDataFuelData, bool engineDataMultipleEngineFuelModes) + private void UpdateTableColumns(IList<IFuelProperties> modDataFuelData, bool engineDataMultipleEngineFuelModes) { foreach (var entry in modDataFuelData) { foreach (var column in fcColumns.Reverse()) { diff --git a/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs b/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs index a8ca35ccb2..0c8c73d21f 100644 --- a/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs +++ b/VectoCore/VectoCore/OutputData/XML/AttributeMappings.cs @@ -31,10 +31,8 @@ using System.Collections.Generic; using TUGraz.VectoCommon.Resources; -using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.InputData.Reader.ComponentData; using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; namespace TUGraz.IVT.VectoXML { diff --git a/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs b/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs index 5cc8a54dce..b0fe73b883 100644 --- a/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/Engineering/XMLEngineeringWriterInjectModule.cs @@ -1,14 +1,10 @@ using Ninject.Extensions.Factory; using Ninject.Modules; -using TUGraz.VectoCore.InputData.FileIO.XML.Engineering; using TUGraz.VectoCore.OutputData.XML.Engineering; using TUGraz.VectoCore.OutputData.XML.Engineering.Factory; using TUGraz.VectoCore.OutputData.XML.Engineering.Interfaces; -using TUGraz.VectoCore.OutputData.XML.Engineering.Writer; using TUGraz.VectoCore.OutputData.XML.Factory; using TUGraz.VectoCore.OutputData.XML.NinjectModules; -using TUGraz.VectoCore.OutputData.XML.Writer; -using TUGraz.VectoCore.Utils; using TUGraz.VectoCore.Utils.Ninject; namespace TUGraz.VectoCore.OutputData.XML diff --git a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs index 757f3a49d8..0dcf4df688 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLCustomerReport.cs @@ -33,7 +33,6 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Reflection; using System.Xml; using System.Xml.Linq; using TUGraz.IVT.VectoXML.Writer; diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs index 9ccb650719..24923adeeb 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs @@ -34,11 +34,9 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; using System.Linq; -using System.Text; -using System.Xml; using System.Xml.Linq; using System.Xml.XPath; -using TUGraz.VectoCommon.InputData; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; @@ -64,7 +62,7 @@ namespace TUGraz.VectoCore.OutputData.XML Distance = double.MaxValue.SI<Meter>(); } - public IList<FuelData.Entry> FuelData { get; set; } + public IList<IFuelProperties> FuelData { get; set; } public Kilogram Payload { get; set; } diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs index a56c939da7..61f482c9d3 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationWriter.cs @@ -43,7 +43,6 @@ using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Resources; using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.InputData.Reader; using TUGraz.VectoCore.InputData.Reader.ComponentData; namespace TUGraz.VectoCore.OutputData.XML diff --git a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs index 58ea0ac5ca..d1153c4c4d 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLManufacturerReport.cs @@ -33,7 +33,6 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Reflection; using System.Xml; using System.Xml.Linq; using TUGraz.IVT.VectoXML.Writer; diff --git a/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs index c286f9896d..507e3d918f 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLMonitoringReport.cs @@ -38,8 +38,6 @@ using System.Xml.Schema; using System.Xml.XPath; using TUGraz.IVT.VectoXML.Writer; using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Resources; -using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.Utils; using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType; diff --git a/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs b/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs index ed9d0ee6a1..93c1d55765 100644 --- a/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs +++ b/VectoCore/VectoCore/Utils/DataIntegrityHelper.cs @@ -29,7 +29,6 @@ * Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology */ -using System.Linq; using System.Security.Cryptography; using System.Text; diff --git a/VectoCore/VectoCore/Utils/XMLDefinitions.cs b/VectoCore/VectoCore/Utils/XMLDefinitions.cs index 7a5b6b6782..70e17fd0fe 100644 --- a/VectoCore/VectoCore/Utils/XMLDefinitions.cs +++ b/VectoCore/VectoCore/Utils/XMLDefinitions.cs @@ -1,7 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; -using System.Xml; namespace TUGraz.VectoCore.Utils { diff --git a/VectoCore/VectoCore/Utils/XMLValidator.cs b/VectoCore/VectoCore/Utils/XMLValidator.cs index cf7f1cb403..40bb4f8bfb 100644 --- a/VectoCore/VectoCore/Utils/XMLValidator.cs +++ b/VectoCore/VectoCore/Utils/XMLValidator.cs @@ -30,11 +30,7 @@ */ using System; -using System.Collections.Generic; using System.IO; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Xml; using System.Xml.Schema; using TUGraz.VectoCommon.Exceptions; diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index e77c71a87b..facac77f97 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -267,8 +267,8 @@ <Compile Include="InputData\Reader\ComponentData\CompressorMapReader.cs" /> <Compile Include="InputData\Reader\ComponentData\ElectricConsumerReader.cs" /> <Compile Include="InputData\Reader\ComponentData\EnvironmentalContidionsMapReader.cs" /> - <Compile Include="InputData\Reader\ComponentData\HVACTechBenefitsReader.cs" /> - <Compile Include="InputData\Reader\ComponentData\PneumaticActuationsMapReader.cs" /> + <Compile Include="InputData\Reader\ComponentData\SSMTechnologiesReader.cs" /> + <Compile Include="InputData\Reader\ComponentData\ActuationsMapReader.cs" /> <Compile Include="Models\BusAuxiliaries\AdvancedAuxiliaries.cs" /> <Compile Include="Models\BusAuxiliaries\AuxiliaryConfig.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\AbstractModule.cs" /> @@ -276,7 +276,6 @@ <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\Alternator.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\CombinedAlternator.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\CombinedAlternatorMapRow.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\CombinedAlternatorSignals.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ElectricalConsumer.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ElectricalConsumerList.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ElectricsUserInputsConfig.cs" /> @@ -287,22 +286,15 @@ <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\M0_1Impl.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\M0_5Impl.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Electrics\ResultCard.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\Bus.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\BusDatabase.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\BusEngineType.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\EnvironmentalConditionMapEntry.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\EnvironmentalConditionsMap.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\HVACConstants.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\HVACUserInputsConfig.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\IBus.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\IBusDatabase.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\M01Impl.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMCalculate.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMInputs.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMRun.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMTechList.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMTOOL.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\TechListBenefitLine.cs" /> + <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\HVAC\SSMTechnology.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\M06Impl.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\M07Impl.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\M08Impl.cs" /> @@ -315,7 +307,7 @@ <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\CompressorMap.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\M03Impl.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\M04Impl.cs" /> - <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticActuationsMap.cs" /> + <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\ActuationsMap.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticsAuxilliariesConfig.cs" /> <Compile Include="Models\BusAuxiliaries\DownstreamModules\Impl\Pneumatics\PneumaticUserInputsConfig.cs" /> <Compile Include="Models\BusAuxiliaries\Interfaces\DownstreamModules\Electrics\AltUserInput.cs" /> @@ -348,8 +340,6 @@ <Compile Include="Models\BusAuxiliaries\Interfaces\IAuxiliaryEvent.cs" /> <Compile Include="Models\BusAuxiliaries\Interfaces\IM12.cs" /> <Compile Include="Models\BusAuxiliaries\Interfaces\Signals.cs" /> - <Compile Include="Models\BusAuxiliaries\Legacy\cFile_V3.cs" /> - <Compile Include="Models\BusAuxiliaries\Legacy\cMAP.cs" /> <Compile Include="Models\BusAuxiliaries\Util\FilePathUtils.cs" /> <Compile Include="Models\SimulationComponent\Data\Engine\WHRPowerMap.cs" /> <Compile Include="InputData\Reader\ComponentData\WHRPowerReader.cs" /> diff --git a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs index 9dc8648a7e..84aa5b93cd 100644 --- a/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs +++ b/VectoCore/VectoCoreTest/Integration/BusAuxiliaries/AuxDemandTest.cs @@ -44,6 +44,7 @@ using System.IO; using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Tests.Integration.BusAuxiliaries { diff --git a/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs b/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs index 957b76d820..147c1f7e42 100644 --- a/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs +++ b/VectoCore/VectoCoreTest/Models/SimulationComponentData/FuelConsumptionMapTest.cs @@ -37,6 +37,7 @@ using TUGraz.VectoCommon.Utils; using TUGraz.VectoCore.Models.SimulationComponent.Data.Engine; using NUnit.Framework; using TUGraz.VectoCore.InputData.Reader.ComponentData; +using TUGraz.VectoCore.Models.Declaration; namespace TUGraz.VectoCore.Tests.Models.SimulationComponentData { diff --git a/VectoCore/VectoCoreTest/Reports/ModDataTest.cs b/VectoCore/VectoCoreTest/Reports/ModDataTest.cs index 465a206490..7718815030 100644 --- a/VectoCore/VectoCoreTest/Reports/ModDataTest.cs +++ b/VectoCore/VectoCoreTest/Reports/ModDataTest.cs @@ -627,8 +627,11 @@ namespace TUGraz.VectoCore.Tests.Reports jobContainer.WaitFinished(); foreach (var modalResults in modData) { - AssertModDataIntegrityAT(modalResults.Item1, auxKeys, modalResults.Item2, - FuelConsumptionMapReader.Create(((IEngineeringInputDataProvider)inputData).JobInputData.Vehicle.Components.EngineInputData.EngineModes.First().Fuels.First().FuelConsumptionMap), true); + AssertModDataIntegrityAT( + modalResults.Item1, auxKeys, modalResults.Item2, + FuelConsumptionMapReader.Create( + ((IEngineeringInputDataProvider)inputData) + .JobInputData.Vehicle.Components.EngineInputData.EngineModes.First().Fuels.First().FuelConsumptionMap), true); } AssertSumDataIntegrity(sumData, ExecutionMode.Engineering, true); @@ -659,7 +662,7 @@ namespace TUGraz.VectoCore.Tests.Reports // check fuel consumption interpolation var fuelConsumption = (SI)row[ModalResultField.FCMap.GetName()]; Assert.AreEqual(fuelConsumption.Value(), - consumptionMap.GetFuelConsumption(tqEngFcmap, nEngFcMap).Value.Value(), 1E-3, "time: {0} distance: {1}", + consumptionMap.GetFuelConsumption(tqEngFcmap, nEngFcMap, false).Value.Value(), 1E-3, "time: {0} distance: {1}", time, distance); // check P_eng_FCmap = T_eng_fcmap * n_eng diff --git a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs index edf11e45d2..071628d94e 100644 --- a/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs +++ b/VectoCore/VectoCoreTest/Reports/SumWriterTest.cs @@ -45,6 +45,7 @@ using TUGraz.VectoCore.OutputData.XML; using TUGraz.VectoCore.Tests.Utils; using TUGraz.VectoCore.Utils; using NUnit.Framework; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.Models.Declaration; @@ -73,7 +74,7 @@ namespace TUGraz.VectoCore.Tests.Reports var writer = new FileOutputWriter("testsumcalc_fixed"); var sumWriter = new SummaryDataContainer(writer); - var modData = new ModalDataContainer("testsumcalc_fixed", new [] { FuelData.Diesel}.ToList(), writer); + var modData = new ModalDataContainer("testsumcalc_fixed", new IFuelProperties[] { FuelData.Diesel}.ToList(), writer); modData.AddAuxiliary("FAN"); @@ -134,7 +135,7 @@ namespace TUGraz.VectoCore.Tests.Reports var writer = new FileOutputWriter("testsumcalc_var"); var sumWriter = new SummaryDataContainer(writer); - var modData = new ModalDataContainer("testsumcalc_var", new[] {FuelData.Diesel}.ToList(), writer); + var modData = new ModalDataContainer("testsumcalc_var", new IFuelProperties[] {FuelData.Diesel}.ToList(), writer); modData.AddAuxiliary("FAN"); var timeSteps = new[] diff --git a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs index d9b4030b49..6e1630554a 100644 --- a/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs +++ b/VectoCore/VectoCoreTest/Utils/MockModalDataContainer.cs @@ -33,6 +33,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Linq; +using TUGraz.VectoCommon.BusAuxiliaries; using TUGraz.VectoCommon.Exceptions; using TUGraz.VectoCommon.Models; using TUGraz.VectoCommon.Utils; @@ -48,7 +49,7 @@ namespace TUGraz.VectoCore.Tests.Utils /// </summary> internal class MockModalDataContainer : IModalDataContainer { - protected Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<FuelData.Entry, Dictionary<ModalResultField, DataColumn>>(); + protected Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>> FuelColumns = new Dictionary<IFuelProperties, Dictionary<ModalResultField, DataColumn>>(); public MockModalDataContainer() @@ -67,10 +68,10 @@ namespace TUGraz.VectoCore.Tests.Utils CurrentRow = Data.NewRow(); Auxiliaries = new Dictionary<string, DataColumn>(); - AddFuels(new[] { VectoCore.Models.Declaration.FuelData.Diesel }.ToList()); + AddFuels(new IFuelProperties[] { VectoCore.Models.Declaration.FuelData.Diesel }.ToList()); } - protected void AddFuels(List<FuelData.Entry> fuels) + protected void AddFuels(List<IFuelProperties> fuels) { foreach (var entry in fuels) { if (FuelColumns.ContainsKey(entry)) { @@ -98,7 +99,7 @@ namespace TUGraz.VectoCore.Tests.Utils get { return ""; } } - public object this[ModalResultField key, FuelData.Entry fuel] + public object this[ModalResultField key, IFuelProperties fuel] { get { if (!FuelColumns.ContainsKey(fuel) || !FuelColumns[fuel].ContainsKey(key)) { @@ -130,7 +131,7 @@ namespace TUGraz.VectoCore.Tests.Utils CurrentRow = Data.NewRow(); } - IList<FuelData.Entry> IModalDataContainer.FuelData { get { return FuelColumns.Keys.ToList(); } } + IList<IFuelProperties> IModalDataContainer.FuelData { get { return FuelColumns.Keys.ToList(); } } public FuelData.Entry FuelData { @@ -207,7 +208,7 @@ namespace TUGraz.VectoCore.Tests.Utils Data.Rows.Clear(); } - public string GetColumnName(FuelData.Entry fuelData, ModalResultField mrf) + public string GetColumnName(IFuelProperties fuelData, ModalResultField mrf) { if (!FuelColumns.ContainsKey(fuelData) || !FuelColumns[fuelData].ContainsKey(mrf)) { throw new VectoException("unknown fuel {0} for key {1}", fuelData.GetLabel(), mrf.GetName()); diff --git a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs index 8f0c2c4e33..29841b7c68 100644 --- a/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLDeclarationInputTest.cs @@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("560.00", fcMapTable.Rows[0][0]); var fcMap = FuelConsumptionMapReader.Create(fcMapTable); Assert.AreEqual(1256.SI(Unit.SI.Gramm.Per.Hour).Value(), - fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad()).Value.Value()); + fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad(), false).Value.Value()); var fldTable = engineDataProvider.EngineModes.First().FullLoadCurve; Assert.AreEqual(10, fldTable.Rows.Count); diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs index 97b354a582..0b7c3f7c87 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputRefTest.cs @@ -103,7 +103,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("560", fcMapTable.Rows[0][0]); var fcMap = FuelConsumptionMapReader.Create(fcMapTable); Assert.AreEqual(1256.SI(Unit.SI.Gramm.Per.Hour).Value(), - fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad()).Value.Value()); + fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad(), false).Value.Value()); var fldTable = engineDataProvider.EngineModes.First().FullLoadCurve; Assert.AreEqual(10, fldTable.Rows.Count); diff --git a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs index 5836e24699..068f99a0fd 100644 --- a/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs +++ b/VectoCore/VectoCoreTest/XML/XMLEngineeringInputSingleTest.cs @@ -107,7 +107,7 @@ namespace TUGraz.VectoCore.Tests.XML Assert.AreEqual("560.00", fcMapTable.Rows[0][0]); var fcMap = FuelConsumptionMapReader.Create(fcMapTable); Assert.AreEqual(1256.SI(Unit.SI.Gramm.Per.Hour).Value(), - fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad()).Value.Value()); + fcMap.GetFuelConsumption(0.SI<NewtonMeter>(), 560.RPMtoRad(), false).Value.Value()); var fldTable = engineDataProvider.EngineModes.First().FullLoadCurve; Assert.AreEqual(10, fldTable.Rows.Count); -- GitLab