Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS has been phased out. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit a9ee9b6d authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

adding support for mixed door drive technology; fixing bug for electric doors

parent 7b099bcc
Branches
Tags
No related merge requests found
......@@ -27,6 +27,7 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
Mechanically,
Electrically,
Pneumatically,
Mixed
}
......@@ -46,6 +47,8 @@ namespace TUGraz.VectoCommon.BusAuxiliaries
case "pneumatically":
case "pneumatic":
return ConsumerTechnology.Pneumatically;
case "mixed":
return ConsumerTechnology.Mixed;
default:
return ConsumerTechnology.Unknown;
}
......
......@@ -154,12 +154,13 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
(actuations.ParkBrakeAndDoors * Constants.BusAuxiliaries.ElectricalConsumers.DoorActuationTimeSecond) /
actuations.CycleTime;
var busAux = vehicleData.Components.BusAuxiliaries;
var electricDoors = vehicleData.DoorDriveTechnology == ConsumerTechnology.Electrically;
var electricDoors = vehicleData.DoorDriveTechnology == ConsumerTechnology.Electrically ||
vehicleData.DoorDriveTechnology == ConsumerTechnology.Mixed;
foreach (var consumer in DeclarationData.BusAuxiliaries.DefaultElectricConsumerList.Items) {
var applied = consumer.DefaultConsumer || consumer.Bonus
? 1.0
: GetNumberOfElectricalConsumersForMission(mission, consumer);
: GetNumberOfElectricalConsumersForMission(mission, consumer, vehicleData);
var nbr = consumer.DefaultConsumer
? GetNumberOfElectricalConsumersInVehicle(consumer.NumberInActualVehicle, mission, vehicleData)
: 1.0;
......@@ -184,12 +185,31 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
return retVal;
}
private double GetNumberOfElectricalConsumersForMission(Mission mission, ElectricalConsumer consumer)
private double GetNumberOfElectricalConsumersForMission(Mission mission, ElectricalConsumer consumer,
IVehicleDeclarationInputData vehicleData)
{
if (consumer.ConsumerName.Equals(Constants.BusAuxiliaries.ElectricalConsumers.DoorsPerVehicleConsumer,
StringComparison.CurrentCultureIgnoreCase)) {
var count = DeclarationData.BusAuxiliaries.DefaultElectricConsumerList.Items.First(x =>
x.ConsumerName.Equals(
Constants.BusAuxiliaries.ElectricalConsumers.DoorsPerVehicleConsumer,
StringComparison.CurrentCultureIgnoreCase)).NumberInActualVehicle.ToDouble();
switch (vehicleData.DoorDriveTechnology)
{
case ConsumerTechnology.Electrically:
return count;
case ConsumerTechnology.Mixed:
return count * 0.5;
default:
return 0;
}
}
if (mission.BusParameter.ElectricalConsumers.ContainsKey(consumer.ConsumerName)) {
return mission.BusParameter.ElectricalConsumers[consumer.ConsumerName];
}
return 0;
}
......
......@@ -41,7 +41,7 @@ namespace TUGraz.VectoCore.Models.BusAuxiliaries.DownstreamModules.Impl.Pneumati
//'* * ParkBrakesBreakplus2Doors * *Park break +2 doors
airConsumptionPerActuation = psUserConfig.Doors == ConsumerTechnology.Electrically
? 0.SI<NormLiter>()
: psAuxconfig.DoorOpening;
: (psUserConfig.Doors == ConsumerTechnology.Mixed ? 0.5 : 1) * psAuxconfig.DoorOpening;
airConsumptionPerActuation += psAuxconfig.StopBrakeActuation * vehicleMass;
var parkBrakesplus2Doors = actuations.ParkBrakeAndDoors * airConsumptionPerActuation;
......
......@@ -960,7 +960,8 @@ namespace TUGraz.VectoCore.Tests.Integration.CompletedBus
[TestCase(JobFile_Group41, 0, TestName = "PrintVectoRunData CompletedBus Group 41/32b CO/LL"),
TestCase(JobFile_Group42, 1, TestName = "PrintVectoRunData CompletedBus Group 42/33b HU/RL"),
TestCase(@"TestData\Integration\Buses\FactorMethod\CompletedBus_41-32b_AT-P.vecto", 0, TestName = "PrintVectoRunData CompletedBus Group 41/32b AT-P CO/LL"),
TestCase(@"TestData\Integration\Buses\FactorMethod\CompletedBus_41-32b_ES-AUX.vecto", 0, TestName = "PrintVectoRunData CompletedBus Group 41/32b ES-Aux CO/LL"),]
TestCase(@"TestData\Integration\Buses\FactorMethod\CompletedBus_41-32b_ES-AUX.vecto", 0, TestName = "PrintVectoRunData CompletedBus Group 41/32b ES-Aux CO/LL"),
TestCase(@"TestData\Integration\Buses\FactorMethod\CompletedBus_41-32b_ES-AUX_mixed.vecto", 0, TestName = "PrintVectoRunData CompletedBus Group 41/32b ES-Aux CO/LL mixedDoors"),]
public void PrintModelParametersCompletedBus(string jobFile, int pairIdx)
{
var runs = GetVectoRunData(jobFile);
......
{
"Header": {
"CreatedBy": "Markus Quaritsch, IVT, Graz University of Technology",
"Date": "2020-02-07T15:06:30.9725917Z",
"AppVersion": "2.2",
"FileVersion": 7
},
"Body": {
"CompletedVehicle": "vecto_vehicle-completed_heavyBus_41_mixed.xml",
"PrimaryVehicleResults": "vecto_vehicle-primary_heavyBus_ESS_electricFanSTP.RSLT_PIF.xml"
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<tns:VectoInputDeclaration schemaVersion="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns:v2.6="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6" xmlns:v2.1="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.1" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob https://citnet.tech.ec.europa.eu/CITnet/svn/VECTO/trunk/Share/XML/XSD//DEV/VectoDeclarationJob.xsd">
<v2.0:Vehicle id="VEH-1234567890_mixed" xsi:type="CompletedVehicleDeclarationType" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.6">
<Manufacturer>Some Manufacturer</Manufacturer>
<ManufacturerAddress>Infinite Loop 1</ManufacturerAddress>
<Model>Sample Bus Model</Model>
<VIN>VEH-1234567890_m</VIN>
<Date>2020-01-09T11:00:00Z</Date>
<LegislativeClass>M3</LegislativeClass>
<ClassBus>II+III</ClassBus>
<VehicleCode>CA</VehicleCode>
<CurbMassChassis>8300</CurbMassChassis>
<TechnicalPermissibleMaximumLadenMass>18000</TechnicalPermissibleMaximumLadenMass>
<NgTankSystem>Compressed</NgTankSystem>
<RegisteredPassengers>
<LowerDeck>30</LowerDeck>
<UpperDeck>0</UpperDeck>
</RegisteredPassengers>
<LowEntry>true</LowEntry>
<HeightIntegratedBody>3.000</HeightIntegratedBody>
<VehicleLength>11.830</VehicleLength>
<VehicleWidth>2.550</VehicleWidth>
<EntranceHeight>0.120</EntranceHeight>
<DoorDriveTechnology>mixed</DoorDriveTechnology>
<Components xsi:type="CompletedVehicleComponentsDeclarationType">
<v2.6:AirDrag xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0">
<Data id="CabinX23h" xsi:type="AirDragDataDeclarationType">
<Manufacturer>Generic Manufacturer</Manufacturer>
<Model>Generic Model</Model>
<CertificationNumber>e12*0815/8051*2017/05E0000*00</CertificationNumber>
<Date>2017-03-24T15:00:00Z</Date>
<AppVersion>Vecto AirDrag x.y</AppVersion>
<CdxA_0>6.31</CdxA_0>
<TransferredCdxA>6.32</TransferredCdxA>
<DeclaredCdxA>6.34</DeclaredCdxA>
</Data>
<Signature>
<di:Reference URI="#CabinX23h">
<di:Transforms>
<di:Transform Algorithm="urn:vecto:xml:2017:canonicalization"/>
<di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</di:Transforms>
<di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue>
</di:Reference>
</Signature>
</v2.6:AirDrag>
<Auxiliaries>
<Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType">
<ElectricSystem>
<AlternatorTechnology>default</AlternatorTechnology>
<LEDLights>
<Dayrunninglights>false</Dayrunninglights>
<Headlights>false</Headlights>
<Positionlights>false</Positionlights>
<Brakelights>false</Brakelights>
<Interiorlights>false</Interiorlights>
</LEDLights>
</ElectricSystem>
<HVAC>
<SystemConfiguration>7</SystemConfiguration>
<CompressorType>
<DriverAC>2-stage</DriverAC>
<PassengerAC>4-stage</PassengerAC>
</CompressorType>
<AuxiliaryHeaterPower>0</AuxiliaryHeaterPower>
<DoubleGlazing>true</DoubleGlazing>
<HeatPump>false</HeatPump>
<AdjustableAuxiliaryHeater>true</AdjustableAuxiliaryHeater>
<SeparateAirDistributionDucts>true</SeparateAirDistributionDucts>
</HVAC>
</Data>
</Auxiliaries>
</Components>
</v2.0:Vehicle>
</tns:VectoInputDeclaration>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment