WinFrmUI/DPumpHydr.WinFrmUI.Volute/基本参数/ViewModel/GeomBaseInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WinFrmUI/DPumpHydr.WinFrmUI.Volute/基本参数/ViewModel/HdrBaseInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WinFrmUI/DPumpHydr.WinFrmUI.Volute/断面设计/ViewModel/SectionBaseInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
WinFrmUI/DPumpHydr.WinFrmUI.Volute/»ù±¾²ÎÊý/ViewModel/GeomBaseInfo.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,104 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DPumpHydr.WinFrmUI.Volute.ViewModel { public class GeomBaseInfo { // D3min=D3max=D3=0.0; //b3min=b3max=b3=0.0; //FAI0=FAI0min=FAI0max=0.0; //K3=0.0; public double D3 { get;set;} public double D3_Min { get; set; } public double D3_Max { get; set; } public double B3 { get; set; } public double B3_Min { get; set; } public double B3_Max { get; set; } public double FAI0 { get; set; } public double FAI0_Min { get; set; } public double FAI0_Max { get; set; } public double K3 { get; set; } /// <summary> /// è¿æ¥çæ¬æä½æå¤§å¤ç´å¾ /// </summary> public double XgtBodyMaxDia { get; set; } /// <summary> /// 1. éèåäºåºå 0 éç¨æ£å¸¸åé¢ /// </summary> public bool IsQieYuJiYuan { get; set; } /// <summary> /// /// </summary> /// <param name="base_info"></param> public void Calc(HdrBaseInfo base_info) { //计ç®å¹¶è®¾ç½®K3 if (base_info.ns < 170) K3 = (69.1549 - 0.446605 * base_info.ns + 0.0014497 * base_info.ns * base_info.ns) / 100; else K3 = 0.35;//0.347; if (base_info.ShapeType == 2) K3 = K3 * 0.9;//0.8 ç¯å½¢ //èªå·±æ·»å çï¼é²æ¢å叿³µæªé¢è¿å° if (base_info.IsSXB) K3 = K3 * 0.85;// å叿³µ //ææ±¡æ³µ //if (DesignMode == YSSnxOpen::DesignMode::AssPawuQnshQw1) //{ // K3 = K3 * 0.75; //} this.D3 = Math.Round(Math.Max(1.05 * base_info.D2, XgtBodyMaxDia) + 2); //计ç®å¹¶è®¾ç½®b3 if (base_info.B2 <= 7) this.B3 = base_info.B2 * 3; if (base_info.B2 <= 32 && base_info.B2 > 7) this.B3 = base_info.B2 * 2; if (base_info.B2 > 32 && base_info.B2 <= 60) this.B3 = base_info.B2 * 1.5; if (base_info.B2 > 60) this.B3 = base_info.B2 * 1.2; this.B3_Min = base_info.B2 * 1.1; this.B3_Max = base_info.B2 * 3.5; //计ç®å¹¶è®¾ç½®FAIO if (base_info.ns < 100) { this.FAI0 = 25 + Math.Round(base_info.ns / 20,1); this.FAI0_Min = 25.0; this.FAI0_Max = 30.0; } if (base_info.ns >= 100 && base_info.ns < 200) { this.FAI0 = 30 + Math.Round((base_info.ns - 100) / 12.5, 1); this.FAI0_Min = 30.0; this.FAI0_Max = 38.0; } if (base_info.ns >= 200 && base_info.ns < 300) { this.FAI0 = 38 + Math.Round((base_info.ns - 200) / 50, 1); this.FAI0_Min = 38.0; this.FAI0_Max = 40.0; } if (base_info.ns > 300) { this.FAI0 = 42; this.FAI0_Min = 40.0; this.FAI0_Max = 45.0; } } } } WinFrmUI/DPumpHydr.WinFrmUI.Volute/»ù±¾²ÎÊý/ViewModel/HdrBaseInfo.cs
@@ -3,15 +3,39 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using static DPumpHydr.WinFrmUI.RLT.Util.RoundInt; namespace DPumpHydr.WinFrmUI.Volute.ViewModel { public class HdrBaseInfo { /// <summary> /// å½¢ç¶ç±»å 0 æè½¬å 1 åè壳å 2 ç¯å 3åæè½¬å /// </summary> public int ShapeType { get; set; } public double Q { get; set; } public double H { get; set; } public double n { get; set; } public double D2 { get; set; } public double B2 { get; set; } /// <summary> /// æ¯å¦æ¯å叿³µ /// </summary> public bool IsSXB { get; set; } /// <summary> /// æ¯è½¬é /// </summary> public double ns { get; set; } /// <summary> /// è®¡ç®æ¯è½¬é /// </summary> public void CalcNs() { var calc_q = this.Q ; if(IsSXB) calc_q = this.Q / 2; ns = Math.Round( 3.65 * n * Math.Sqrt(calc_q / 3600) / Math.Pow(this.H, 0.75),2); } } } WinFrmUI/DPumpHydr.WinFrmUI.Volute/¶ÏÃæÉè¼Æ/ViewModel/SectionBaseInfo.cs
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,183 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DPumpHydr.WinFrmUI.Volute.ViewModel { public class SectionBaseInfo { /// <summary> /// æªé¢å½¢ç¶ç±»å 对称 ä¸å¯¹ç§° ç©å½¢ /// </summary> public int ShapeType { get; set; } /// <summary> /// 平念é /// </summary> public double V3 { get; set; } /// <summary> /// å¼å§æªé¢ç¼å· /// </summary> public int StartSectionNumber { get; set; } public List<double> GaMa1 { get; set; } public List<double> GaMa2 { get; set; } public List<double> Area { get; set; } /// <summary> /// 计ç®å¹³åæµé /// </summary> /// <param name="hdr_info"></param> /// <param name="geom_info"></param> public void CalcV3(HdrBaseInfo hdr_info, GeomBaseInfo geom_info) { //UGéé¢ç¨çæ¯ m_Håºè¯¥éäº var g = 9.81; this.V3 = Math.Round(geom_info.K3 * Math.Sqrt(2 * g * hdr_info.Q), 2); } public void CalcArea(HdrBaseInfo hdr_info, GeomBaseInfo geom_info, double v3) { this.V3 = v3; var area8 = hdr_info.Q * 1000000 / (3600 * v3); int i = 0; if (this.Area == null) { this.GaMa1 = new List<double>(10); this.GaMa2 = new List<double>(10); this.Area = new List<double>(10); for (i = 0; i < 10; i++) { this.GaMa1.Add(0); this.GaMa2.Add(0); this.Area.Add(0); } } this.Area[8] = area8; if (geom_info.IsQieYuJiYuan) {//éèåäºåºå for (i = StartSectionNumber; i < 8; i++) Area[i] = area8 * (45 * i - geom_info.FAI0) / (360 - geom_info.FAI0); } else {//éç¨æ£å¸¸åé¢ for (i = StartSectionNumber; i < 8; i++) Area[i] = area8 * 45 * i / 360; } if (StartSectionNumber == 2) Area[1] = Area[2]; Area[0] = Area[1]; } /// <summary> /// åå§åå½¢ç¶ç±»å /// </summary> /// <param name="hdr_info"></param> /// <param name="geom_info"></param> /// <param name="shapeType"></param> public void IntialShapeType(HdrBaseInfo hdr_info, GeomBaseInfo geom_info, int shapeType) { this.ShapeType = shapeType; double m_gama81, m_gama82; switch (shapeType) { case 0: m_gama81 = 15.0; m_gama82 = 15.0; break; case 1: m_gama81 = 15.0; m_gama82 = 30.0; break; case 2: m_gama81 = 0.0; m_gama82 = 0.0; break; default: m_gama81 = 0.0; m_gama82 = 0.0; break; } InitialGama(hdr_info, geom_info, m_gama81, m_gama82);//设置gama r1 /gama r2 } /// <summary> /// åå§ågama /// </summary> /// <returns></returns> public string InitialGama(HdrBaseInfo hdr_info, GeomBaseInfo geom_info, double m_gama81, double m_gama82) { if (this.GaMa1 == null) { this.GaMa1 = new List<double>(10); this.GaMa2 = new List<double>(10); this.Area = new List<double>(10); for (int i = 0; i < 10; i++) { this.GaMa1.Add(0); this.GaMa2.Add(0); this.Area.Add(0); } } if (ShapeType == 2)//æé¢å½¢ç¶:ç©å½¢ { for (int i = 0; i < GaMa1.Count; i++) { this.GaMa1[i] = 0; this.GaMa2[i] = 0; } return null; } if ((m_gama81 < 8.0) || (m_gama82 < 8.0)) { return "è¾å ¥ç第8æé¢çè§åº¦è¿å°ï¼è¯·éæ°è¾å ¥"; } this.GaMa1[8] = m_gama81; this.GaMa1[8] = m_gama82; this.GaMa1[7] = m_gama81 - 1; this.GaMa1[7] = m_gama82 - 1; this.GaMa1[6] = m_gama81 - 2; this.GaMa1[6] = m_gama82 - 2; this.GaMa1[5] = m_gama81 - 3; this.GaMa1[5] = m_gama82 - 3; this.GaMa1[4] = m_gama81 - 4; this.GaMa1[4] = m_gama82 - 4; this.GaMa1[3] = m_gama81 - 5; this.GaMa1[3] = m_gama82 - 5; this.GaMa1[2] = m_gama81 - 6; this.GaMa1[2] = m_gama82 - 6; this.GaMa1[1] = m_gama81 - 7; this.GaMa1[1] = m_gama82 - 7; if (geom_info.FAI0 > 45)//没æç¬¬ä¸ç«¯é¢ { this.GaMa1[1] = 0; this.GaMa1[1] = 0; } return null; } } }