From 1188e484f121e6dd87b0e04430be035ae0359502 Mon Sep 17 00:00:00 2001 From: Michael Krisper <michael.krisper@tugraz.at> Date: Tue, 12 Jul 2016 14:33:29 +0200 Subject: [PATCH] added AngularGear as new TransmissionComponent --- .../SimulationComponent/Impl/AngularGear.cs | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 VectoCore/VectoCore/Models/SimulationComponent/Impl/AngularGear.cs diff --git a/VectoCore/VectoCore/Models/SimulationComponent/Impl/AngularGear.cs b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AngularGear.cs new file mode 100644 index 0000000000..20d25aa0fb --- /dev/null +++ b/VectoCore/VectoCore/Models/SimulationComponent/Impl/AngularGear.cs @@ -0,0 +1,31 @@ +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Models.Simulation; +using TUGraz.VectoCore.Models.SimulationComponent.Data.Gearbox; +using TUGraz.VectoCore.OutputData; + +namespace TUGraz.VectoCore.Models.SimulationComponent.Impl +{ + // todo mk-2016-07-12: add dummy angular gear? + + public class AngularGear : TransmissionComponent + { + public AngularGear(IVehicleContainer container, TransmissionData modelData) : base(container, modelData) {} + + public override IResponse Request(Second absTime, Second dt, NewtonMeter torque, PerSecond angularVelocity, + bool dryRun = false) + { + var retVal = base.Request(absTime, dt, torque, angularVelocity, dryRun); + retVal.AngularGearPowerRequest = torque * (PreviousState.OutAngularVelocity + CurrentState.OutAngularVelocity) / 2.0; + return retVal; + } + + protected override void DoWriteModalResults(IModalDataContainer container) + { + //todo mk 2016-07-12: write angular gear modal results + var avgAngularVelocity = (PreviousState.InAngularVelocity + CurrentState.InAngularVelocity) / 2.0; + //container[ModalResultField.P_axle_loss] = (CurrentState.InTorque - CurrentState.OutTorque / ModelData.Ratio) *avgAngularVelocity; + //container[ModalResultField.P_axle_in] = CurrentState.InTorque * avgAngularVelocity; + } + } +} \ No newline at end of file -- GitLab