namespace Yw.Curve
|
{
|
/// <summary>
|
/// 泵特性曲线辅助类
|
/// </summary>
|
public class PumpFeatHelper
|
{
|
/// <summary>
|
/// 通过 频率 计算流量扬程曲线表达式
|
/// </summary>
|
public static CurveExpress CalcuCurveQhByHz(List<CurvePoint> pts, eFitType fit, double hz)
|
{
|
if (pts == null || pts.Count < 1)
|
{
|
return default;
|
}
|
var fitPow = FitHelper.GetFitPow(fit);
|
if (pts.Count < fitPow + 1)
|
{
|
return default;
|
}
|
double f_ratio = hz / 50.0;
|
var list = pts.Select(x => new CurvePoint(x.X * f_ratio, x.Y * f_ratio * f_ratio)).ToList();
|
return FitHelper.BuildCurveExpress(list, fit);
|
}
|
|
/// <summary>
|
/// 通过 频率 计算流量功率曲线表达式
|
/// </summary>
|
public static CurveExpress CalcuCurveQpByHz(List<CurvePoint> pts, eFitType fit, double hz)
|
{
|
if (pts == null || pts.Count < 1)
|
{
|
return default;
|
}
|
var fitPow = FitHelper.GetFitPow(fit);
|
if (pts.Count < fitPow + 1)
|
{
|
return default;
|
}
|
double f_ratio = hz / 50.0;
|
var list = pts.Select(x => new CurvePoint(x.X * f_ratio, x.Y * f_ratio * f_ratio * f_ratio)).ToList();
|
return FitHelper.BuildCurveExpress(list, fit);
|
}
|
|
|
}
|
}
|