Files
douwco_thuisbatterij_simulator/Services/BatterySimulator.cs

43 lines
1.7 KiB
C#

using System.Collections.Generic;
using BattSim.Models;
namespace BattSim.Services
{
public static class BatterySimulator
{
public static List<BatteryDayResult> SimulateBattery(EnergyData[] data, double batteryCapacity)
{
var results = new List<BatteryDayResult>();
double remainingEnergy = 0;
foreach (var day in data)
{
// // Charge battery from production
// var chargedEnergy = System.Math.Min(day.TotalProduction, batteryCapacity);
// var excessProduction = day.TotalProduction - chargedEnergy;
// // Use battery for consumption
// var usedEnergy = System.Math.Min(chargedEnergy + remainingEnergy, day.TotalConsumption);
// var remainingAfterUse = chargedEnergy + remainingEnergy - usedEnergy;
// // Calculate reduced values
// var reducedConsumption = System.Math.Min(usedEnergy, day.TotalConsumption);
// var reducedProduction = day.TotalProduction - chargedEnergy;
// results.Add(new BatteryDayResult
// {
// Date = day.Date,
// ChargedEnergy = chargedEnergy,
// UsedEnergy = usedEnergy,
// RemainingEnergy = remainingAfterUse,
// ReducedConsumption = reducedConsumption,
// ReducedProduction = reducedProduction
// });
// remainingEnergy = remainingAfterUse;
}
return results;
}
}
}