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