From d7136a31fcd3d47d6920ada05dde079cc6014045 Mon Sep 17 00:00:00 2001
From: "VKMTHD\\haraldmartini" <harald.martini@student.tugraz.at>
Date: Wed, 28 Sep 2022 12:36:44 +0200
Subject: [PATCH] cleaned up DCDC converter

---
 .../SimulationComponent/DCDCConverter.cs      | 25 ++++++++-----------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs b/VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs
index 8e5438aa98..324aa905f8 100644
--- a/VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs
+++ b/VectoCore/VectoCore/Models/SimulationComponent/DCDCConverter.cs
@@ -37,18 +37,20 @@ namespace TUGraz.VectoCore.Models.SimulationComponent
 
 		public Watt PowerDemand(Second absTime, Second dt, bool dryRun)
 		{
-			
-			var dischargeEnergy = (-DataBus.BatteryInfo.MaxDischargePower(dt) * dt);
-			var chargeEnergy = (-DataBus.BatteryInfo.MaxChargePower(dt) * dt);
-			var efficiency = PreviousState.ConsumedEnergy > 0 ? 1 / Efficiency : Efficiency; //WHY ?
-
-
 			var electricConsumersPower =
 				_electricConsumers.Sum(aux => aux.PowerDemand(absTime, dt, dryRun)).DefaultIfNull(0);
+			var energyDemand = PreviousState.ConsumedEnergy + electricConsumersPower * dt;
+		
 
-			var powerDemand = PreviousState.ConsumedEnergy / dt * efficiency + electricConsumersPower / Efficiency;
+			var efficiency = energyDemand > 0 ? 1 / Efficiency : Efficiency;
+
+			var powerDemand = energyDemand / dt * efficiency;
+
+
+
+			var dischargeEnergy = (-DataBus.BatteryInfo.MaxDischargePower(dt) * dt);
+			var chargeEnergy = (-DataBus.BatteryInfo.MaxChargePower(dt) * dt);
 
-			
 
 			if (!dryRun) {
 				CurrentState.ElectricAuxPower = electricConsumersPower;
@@ -59,13 +61,8 @@ namespace TUGraz.VectoCore.Models.SimulationComponent
 				return powerDemand;
 			}
 
-			//if ((PreviousState.ConsumedEnergy * efficiency).IsBetween(chargeEnergy, dischargeEnergy)) {
-			//	return (PreviousState.ConsumedEnergy / dt * efficiency) + electricConsumersPower / Efficiency;
-			//}
-
-			// write in mod-file for post-processing correction
 			if (!dryRun) {
-				CurrentState.MissingEnergy = powerDemand * dt;
+				CurrentState.MissingEnergy = energyDemand;
 			}
 
 			return 0.SI<Watt>();
-- 
GitLab