diff --git a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs index 85eae3d14d7b6b343fd455997553d14e418741d6..500e683c43590b4498c76b22b968bc710bcb811d 100644 --- a/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs +++ b/VectoCore/VectoCore/InputData/Reader/DrivingCycleDataReader.cs @@ -625,7 +625,6 @@ namespace TUGraz.VectoCore.InputData.Reader var requiredCols = new[] { Fields.Time, Fields.VehicleSpeed, - //Fields.EngineSpeed, Fields.Gear }; var allowedCols = new[] { diff --git a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs index 82fcc98308c4c8bef3403e58db0144b12215b1fb..74409b1bf957c1462a8a2dfe5b763f9180a2560b 100644 --- a/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs +++ b/VectoCore/VectoCore/Models/Simulation/Impl/PowertrainBuilder.cs @@ -160,7 +160,7 @@ namespace TUGraz.VectoCore.Models.Simulation.Impl .AddComponent(data.AngularGearData != null ? new AngularGear(container, data.AngularGearData) : null) .AddRetarderAndGearbox(data.Retarder, new CycleGearbox(container, data.GearboxData), container); if (data.GearboxData.Type.ManualTransmission()) { - powertrain = powertrain.AddComponent(new CycleClutch(container)); + powertrain = powertrain.AddComponent(new Clutch(container, data.EngineData)); } powertrain.AddComponent(new CombustionEngine(container, data.EngineData)) .AddAuxiliaries(container, data); diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CycleClutch.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/CycleClutch.cs deleted file mode 100644 index 85051e2bddda30ee0aa642db37374926a837d19b..0000000000000000000000000000000000000000 --- a/VectoCore/VectoCore/Models/SimulationComponent/Impl/CycleClutch.cs +++ /dev/null @@ -1,95 +0,0 @@ -/* -* This file is part of VECTO. -* -* Copyright © 2012-2016 European Union -* -* Developed by Graz University of Technology, -* Institute of Internal Combustion Engines and Thermodynamics, -* Institute of Technical Informatics -* -* VECTO is licensed under the EUPL, Version 1.1 or - as soon they will be approved -* by the European Commission - subsequent versions of the EUPL (the "Licence"); -* You may not use VECTO except in compliance with the Licence. -* You may obtain a copy of the Licence at: -* -* https://joinup.ec.europa.eu/community/eupl/og_page/eupl -* -* Unless required by applicable law or agreed to in writing, VECTO -* distributed under the Licence is distributed on an "AS IS" basis, -* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -* See the Licence for the specific language governing permissions and -* limitations under the Licence. -* -* Authors: -* Stefan Hausberger, hausberger@ivt.tugraz.at, IVT, Graz University of Technology -* Christian Kreiner, christian.kreiner@tugraz.at, ITI, Graz University of Technology -* Michael Krisper, michael.krisper@tugraz.at, ITI, Graz University of Technology -* Raphael Luz, luz@ivt.tugraz.at, IVT, Graz University of Technology -* Markus Quaritsch, markus.quaritsch@tugraz.at, IVT, Graz University of Technology -* Martin Rexeis, rexeis@ivt.tugraz.at, IVT, Graz University of Technology -*/ - -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Utils; -using TUGraz.VectoCore.Configuration; -using TUGraz.VectoCore.Models.Connector.Ports.Impl; -using TUGraz.VectoCore.Models.Simulation; -using TUGraz.VectoCore.Utils; - -namespace TUGraz.VectoCore.Models.SimulationComponent.Impl -{ - /// <summary> - /// Clutch which mediates angularSpeed from powertrain (depending on vehicle speed) with engineSpeed directly set from driving cycle. - /// Can be thought as: Clutch which is always slipping. - /// </summary> - public class CycleClutch : Clutch - { - public CycleClutch(IVehicleContainer container) : base(container) {} - - public override IResponse Request(Second absTime, Second dt, NewtonMeter outTorque, PerSecond outAngularVelocity, - bool dryRun = false) - { - var angularVelocityIn = DataBus.CycleData.LeftSample.AngularVelocity; - - if (outAngularVelocity != null) { - // engaged - act like transmission torque converter (convert torque for angularVelocity to torque for angularVelocityIn) - // convert requested power to equivalent torque with angularVelocityIn - var torqueIn = outTorque * outAngularVelocity / angularVelocityIn; - - var retVal = NextComponent.Request(absTime, dt, torqueIn, angularVelocityIn, dryRun); - retVal.ClutchPowerRequest = outTorque * outAngularVelocity; - return retVal; - } else { - // disengaged -> clutch open - var retVal = NextComponent.Request(absTime, dt, outTorque, angularVelocityIn, dryRun); - if (dryRun) { - return retVal; - } - - var r = retVal as ResponseUnderload; - if (r != null) { - var angularSpeed = SearchAlgorithm.Search(angularVelocityIn, r.Delta, - Constants.SimulationSettings.EngineIdlingSearchInterval, - getYValue: result => ((ResponseDryRun)result).DeltaDragLoad, - evaluateFunction: n => NextComponent.Request(absTime, dt, outTorque, n, true), - criterion: result => ((ResponseDryRun)result).DeltaDragLoad.Value()); - Log.Debug( - "Found operating point for idling in cycle clutch. absTime: {0}, dt: {1}, torque: {2}, angularSpeed: {3}", - absTime, dt, outTorque, angularSpeed); - retVal = NextComponent.Request(absTime, dt, outTorque, angularSpeed); - } - return retVal; - } - } - - public override IResponse Initialize(NewtonMeter outTorque, PerSecond outAngularVelocity) - { - var angularVelocityIn = DataBus.CycleData.LeftSample.AngularVelocity; - var torqueIn = outTorque * outAngularVelocity / angularVelocityIn; - - var retVal = NextComponent.Initialize(torqueIn, angularVelocityIn); - retVal.ClutchPowerRequest = outTorque * outAngularVelocity; - return retVal; - } - } -} \ No newline at end of file diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj index 037ff19b54d93802766c92863cecfbab9b3f3365..48e120931a9e7cd5507addbb61605ee1aad49ba5 100644 --- a/VectoCore/VectoCore/VectoCore.csproj +++ b/VectoCore/VectoCore/VectoCore.csproj @@ -191,7 +191,6 @@ <Compile Include="Models\SimulationComponent\Impl\DummyRetarder.cs" /> <Compile Include="Models\SimulationComponent\Impl\EngineAuxiliary.cs" /> <Compile Include="Models\SimulationComponent\Impl\EngineOnlyCombustionEngine.cs" /> - <Compile Include="Models\SimulationComponent\Impl\CycleClutch.cs" /> <Compile Include="Models\SimulationComponent\Impl\MTShiftStrategy.cs" /> <Compile Include="Models\SimulationComponent\Impl\TransmissionComponent.cs" /> <Compile Include="Models\SimulationComponent\IShiftStrategy.cs" />