2023-06-13 11:03:49 +00:00
|
|
|
using InnovEnergy.Lib.Units.Power;
|
|
|
|
|
2023-03-01 09:52:21 +00:00
|
|
|
namespace InnovEnergy.Lib.Units.Composite;
|
|
|
|
|
2023-06-13 11:03:49 +00:00
|
|
|
public sealed class DcBus
|
2023-03-01 09:52:21 +00:00
|
|
|
{
|
2023-06-13 11:03:49 +00:00
|
|
|
private DcBus() {}
|
2023-04-25 09:27:57 +00:00
|
|
|
|
2023-06-13 11:03:49 +00:00
|
|
|
public Voltage Voltage { get; private init; } = null!;
|
|
|
|
public Current Current { get; private init; } = null!;
|
|
|
|
public ActivePower Power { get; private init; } = null!;
|
2023-05-04 07:36:30 +00:00
|
|
|
|
|
|
|
public static DcBus FromVoltageCurrent(Voltage voltage, Current current) => new()
|
2023-04-25 09:27:57 +00:00
|
|
|
{
|
|
|
|
Voltage = voltage,
|
|
|
|
Current = current,
|
2023-05-24 10:04:01 +00:00
|
|
|
Power = current.Value * voltage.Value,
|
2023-04-25 09:27:57 +00:00
|
|
|
};
|
2023-06-13 11:03:49 +00:00
|
|
|
|
|
|
|
public static DcBus Null { get; } = FromVoltageCurrent(0, 0);
|
2023-03-01 09:52:21 +00:00
|
|
|
}
|