using System;
|
using System.Collections.Generic;
|
using System.Drawing;
|
using System.Linq;
|
using System.Security.Cryptography;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Xml.Linq;
|
using static Hydro.Core.ObjectEnum;
|
|
namespace Hydro.Core.Model
|
{
|
[Serializable]
|
public class PumpModel : LinkCalcModel
|
{
|
/// <summary>
|
/// 泵类型
|
/// </summary>
|
public PumpType Type { get; set; }
|
/// <summary>
|
/// 额定转速
|
/// </summary>
|
public double RatedSpeed { get; set; } = 1500;
|
|
/// <summary>
|
/// 额定流量
|
/// </summary>
|
public double RatedFlow { get; set; } = 0;
|
|
/// <summary>
|
/// 额定扬程
|
/// </summary>
|
public double RatedHead { get; set; } = 0;
|
|
/// <summary>
|
/// 额定功率
|
/// </summary>
|
public double RatedPower { get; set; } = 75;
|
|
/// <summary>
|
/// 扬程曲线
|
/// </summary>
|
public string FlowCurveID { get; set; } = "PumpDefault";
|
|
/// <summary>
|
/// 参数
|
/// </summary>
|
public List<string> Parameters { get; set; }
|
|
/// <summary>
|
/// 流量曲线
|
/// </summary>
|
public FlowCurve FlowCurve { get; set; }
|
|
public override string ToString()
|
{
|
string para = Parameters == null ? null : string.Join("\t", Parameters);
|
return $"{ID}\t{Node1}\t{Node2}\tHead\t{FlowCurveID}\t{para}\t;\t";
|
}
|
|
/// <summary>
|
/// 生成流量曲线
|
/// </summary>
|
/// <returns></returns>
|
public string CreateFlowCurve()
|
{
|
StringBuilder txt = new StringBuilder();
|
if (FlowCurve != null)
|
{
|
foreach (PointF point in FlowCurve.Data)
|
{
|
txt.AppendLine($"{Name}\t{point.X}\t{point.Y}");
|
}
|
}
|
return txt.ToString();
|
}
|
}
|
}
|