diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index d0a562d0d3ec86662c1bc705441e1d73fafff6c1..c5ad84e3fa422e547937c3342b44a39c3ba3d3c4 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -712,7 +712,10 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl .AddAuxiliariesSerialHybrid(container, data); if (data.BusAuxiliaries != null) { - if (container.BusAux is BusAuxiliariesAdapter busAux) { + if (!data.BusAuxiliaries.ElectricalUserInputsConfig.ConnectESToREESS) { + throw new VectoException("BusAux must be supplied from REESS!"); + } + if (container.BusAux is BusAuxiliariesAdapter busAux) { var auxCfg = data.BusAuxiliaries; var electricStorage = auxCfg.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart ? new SimpleBattery(container, auxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity, auxCfg.ElectricalUserInputsConfig.StoredEnergyEfficiency) @@ -1525,7 +1528,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl var dcdc = new DCDCConverter(container, data.DCDCData.DCDCEfficiency); busAux.DCDCConverter = dcdc; es.Connect(dcdc); - em.BusAux = busAux; + //em.BusAux = busAux; } } else { AddElectricAuxiliaries(data, container, es, cycle); @@ -1741,7 +1744,24 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl new ATClutchInfo(container); new DummyGearboxInfo(container, new GearshiftPosition(0)); new DummyVehicleInfo(container); - } + + if (data.BusAuxiliaries != null) { + if (!(container.BusAux is BusAuxiliariesAdapter busAux)) { + throw new VectoException("BusAux data set but no BusAux component found!"); + } + + var auxCfg = data.BusAuxiliaries; + var electricStorage = auxCfg.ElectricalUserInputsConfig.AlternatorType == AlternatorType.Smart + ? new SimpleBattery(container, auxCfg.ElectricalUserInputsConfig.ElectricStorageCapacity, auxCfg.ElectricalUserInputsConfig.StoredEnergyEfficiency) + : (ISimpleBattery)new NoBattery(container); + busAux.ElectricStorage = electricStorage; + if (data.BusAuxiliaries.ElectricalUserInputsConfig.ConnectESToREESS) { + var dcdc = new DCDCConverter(container, data.DCDCData.DCDCEfficiency); + busAux.DCDCConverter = dcdc; + es.Connect(dcdc); + } + } + } /// <summary> /// Builds a simple hybrid powertrain. diff --git a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/PrimaryBus/S-HEV/PrimaryCoach_S2_Base_AMT.xml b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/PrimaryBus/S-HEV/PrimaryCoach_S2_Base_AMT.xml index 689b65991f2609a1cad8a4408fb3957009d9f00e..b5c5483b9494bd03f2ad6a86d89cc0839dfe592b 100644 --- a/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/PrimaryBus/S-HEV/PrimaryCoach_S2_Base_AMT.xml +++ b/VectoCore/VectoCoreTest/TestData/Integration/DeclarationMode/2nd_AmendmDeclMode/PrimaryBus/S-HEV/PrimaryCoach_S2_Base_AMT.xml @@ -3236,7 +3236,7 @@ </SteeringPump> <ElectricSystem> <AlternatorTechnology>conventional</AlternatorTechnology> - <SupplyFromHEVPossible>false</SupplyFromHEVPossible> + <SupplyFromHEVPossible>true</SupplyFromHEVPossible> </ElectricSystem> <PneumaticSystem> <SizeOfAirSupply>not applicable</SizeOfAirSupply>