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 6b550868 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

PowertrainBuilder: Reformated BuildFullPowertrainParallelHybrid

parent 3be435b7
Branches
Tags
No related merge requests found
...@@ -415,35 +415,27 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl ...@@ -415,35 +415,27 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl
HybridController ctl; HybridController ctl;
SwitchableClutch clutch = null; SwitchableClutch clutch = null;
if (data.GearboxData.Type.ManualTransmission()) { if (data.GearboxData.Type.ManualTransmission()) {
var strategy = new HybridStrategy(data, container); ctl = new HybridController(container, new HybridStrategy(data, container), es);
clutch = new SwitchableClutch(container, data.EngineData); clutch = new SwitchableClutch(container, data.EngineData);
ctl = new HybridController(container, strategy, es);
} else { } else {
var strategy = new HybridStrategyAT(data, container); ctl = new HybridController(container, new HybridStrategyAT(data, container), es);
ctl = new HybridController(container, strategy, es);
new ATClutchInfo(container); new ATClutchInfo(container);
} }
// add engine before gearbox so that gearbox can obtain if an ICE is available already in constructor // add engine before gearbox in the container, that gearbox can obtain it
var engine = new StopStartCombustionEngine(container, data.EngineData); var engine = new StopStartCombustionEngine(container, data.EngineData);
var gearbox = GetGearbox(container, ctl.ShiftStrategy); var gearbox = GetGearbox(container, ctl.ShiftStrategy);
var gbx = gearbox as IHybridControlledGearbox; if (!(gearbox is IHybridControlledGearbox gbx)) {
if (gbx == null) {
throw new VectoException("Gearbox can not be used for parallel hybrid"); throw new VectoException("Gearbox can not be used for parallel hybrid");
} }
var idleController = GetIdleController(data.PTO, engine, container); var idleController = GetIdleController(data.PTO, engine, container);
ctl.Gearbox = gbx; ctl.Gearbox = gbx;
ctl.Engine = engine; ctl.Engine = engine;
// DistanceBasedDrivingCycle --> driver --> vehicle --> wheels
// --> axleGear --> (retarder) --> gearBox --> (retarder) --> clutch --> engine <-- Aux
var cycle = new DistanceBasedDrivingCycle(container, data.Cycle); var cycle = new DistanceBasedDrivingCycle(container, data.Cycle);
cycle cycle.AddComponent(new Driver(container, data.DriverData, new DefaultDriverStrategy(container)))
.AddComponent(new Driver(container, data.DriverData, new DefaultDriverStrategy(container)))
.AddComponent(new Vehicle(container, data.VehicleData, data.AirdragData)) .AddComponent(new Vehicle(container, data.VehicleData, data.AirdragData))
.AddComponent(new Wheels(container, data.VehicleData.DynamicTyreRadius, data.VehicleData.WheelsInertia)) .AddComponent(new Wheels(container, data.VehicleData.DynamicTyreRadius, data.VehicleData.WheelsInertia))
.AddComponent(ctl) .AddComponent(ctl)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment