Innovenergy_trunk/csharp/Lib/Units/Composite/AcPhase.cs

23 lines
519 B
C#

using static System.Math;
namespace InnovEnergy.Lib.Units.Composite;
public record AcPhase
{
public required Voltage Voltage { get; init; }
public required Current Current { get; init; }
public required Angle Phi { get; init; }
public AcPower Power => new()
{
Active = Voltage * Current * Cos(Phi),
Reactive = Voltage * Current * Sin(Phi),
};
public static AcPhase Zero => new AcPhase
{
Current = 0,
Voltage = 0,
Phi = 0,
};
}