Example #1
0
        static void Main(string[] args)
        {
            // Разделитель - точка
            var inf = new CultureInfo(System.Threading.Thread.CurrentThread.CurrentCulture.Name);
            System.Threading.Thread.CurrentThread.CurrentCulture = inf;
            inf.NumberFormat.NumberDecimalSeparator = ".";
            // Вывод курсовой
            //var ans = Database.Query("insert into liquid_list(name,formula,molar_mass) values('Бутан','C4H10',58.1)");
            //var ans = Database.Query("select * from liquid_list");
            /*string ConnectionString = "Data Source=|DataDirectory|\\EasyPACT.sdf";
            SqlCeConnection Connect = new SqlCeConnection(ConnectionString);
            Connect.Open();
            var command = Connect.CreateCommand();
            command.CommandTimeout = Connect.ConnectionTimeout;
            command.Connection = Connect;
            command.CommandType = CommandType.Text;
            command.CommandText = "select * from liquid_list";
            var table = new DataTable();
            var adapter = new SqlCeDataAdapter(command);
            adapter.Fill(table);
            command.CommandText = "insert into liquid_list ([name],[formula],molar_mass) values('Бутан','C4H10',58.01)";
            adapter.UpdateCommand = command;
            var row = table.NewRow();
            row.BeginEdit();
            row.SetField("name", "Бутан");
            row.SetField("formula", "C4H10");
            row.SetField("molar_mass", Convert.ToSingle(58.01));
            row.EndEdit();
            table.Rows.Add(row);
            table.AcceptChanges();
            adapter.Update(table);
            table.AcceptChanges();
            //table.AcceptChanges();

            Connect.Close();*/
            //var ht = new HeatExchangerPipe(14);
            var liq = new LiquidMix("11,12", 0.28, 20, 760);
            var pip = new PipelineRound(33, 1, 0.069, 0.0025, 52);
            pip.AddLocalResistance(1);
            pip.AddLocalResistance(12);
            pip.AddLocalResistance(65.5);
            pip.AddLocalResistance(2.1);
            pip.AddLocalResistance(7);
            var lip = new LiquidInPipeline(liq, pip);
            pip = new PipelineRound(33, 1, 0.092, 0.0025, 6);
            pip.AddLocalResistance("1 1");
            for (var i = 0; i < 7; i++)
                pip.AddLocalResistance("4 90 1");
            var lip2 = new LiquidInPipeline(liq, pip);
            var net = Network.Create(lip2, lip);
            net.SetProductivity(30000/3600.0);
            Network.Get().ChooseHeatExchanger(liq.BoilingPoint, liq.BoilingPoint + 20);
            net.ChooseCentrifugalPump(5.6);
            Console.WriteLine("Смесь: {0}", liq.Name);
            Console.WriteLine("\tТемпература: {0} град.", liq.Temperature);
            Console.WriteLine("\tДавление: {0} мм рт. ст.", liq.Pressure);
            Console.WriteLine("\tТемпература кипения: {0} град.", liq.BoilingPoint);
            Console.WriteLine("\tВязкость: {0} Па*с", liq.ViscosityDynamic);
            Console.WriteLine("\tТеплоемкость: {0} Дж/кг К", liq.ThermalCapacity);
            Console.WriteLine("\t: {0} Дж/кг К", liq.ThermalCapacity);
            Console.WriteLine("Трубопровод всасывающий");
            Console.WriteLine("\tРазмеры: {0}x{1} м", net.VacuumLine.Pipeline.ExternalDiameter,
                              net.VacuumLine.Pipeline.ExternalDiameter - net.VacuumLine.Pipeline.Diameter);
            Console.WriteLine("\tДлина: {0} м",net.VacuumLine.Pipeline.Length);
            Console.WriteLine("\tКоэффициент м.с.: {0}",net.VacuumLine.Pipeline.FactorOfLocalResistance);
            Console.WriteLine("Трубопровод нагнетательный");
            Console.WriteLine("\tРазмеры: {0}x{1} м", net.ForcingLine.Pipeline.ExternalDiameter,
                              net.ForcingLine.Pipeline.ExternalDiameter - net.ForcingLine.Pipeline.Diameter);
            Console.WriteLine("\tДлина: {0} м", net.ForcingLine.Pipeline.Length);
            Console.WriteLine("\tКоэффициент м.с.: {0}", net.ForcingLine.Pipeline.FactorOfLocalResistance);
            Console.WriteLine("Смесь во всасывающем ТП");
            Console.WriteLine("\tСкорость: {0} м/с",net.VacuumLine.Speed);
            Console.WriteLine("\tКритерий Рейнольдса: {0}",net.VacuumLine.Re);
            Console.WriteLine("\tКоэффициент трения: {0}", net.VacuumLine.FactorOfAFriction);
            Console.WriteLine("\tПотеря давления на трение: {0} Па",net.VacuumLine.LossOfPressureUponAFriction());
            Console.WriteLine("\tПотеря давления на м.с.: {0} Па",net.VacuumLine.LossOfPressureUponLocalResistances());
            Console.WriteLine("\tПотеря давления: {0} Па", net.VacuumLine.LossOfPressureUponLocalResistances() + net.VacuumLine.LossOfPressureUponAFriction());
            Console.WriteLine("\tПотеря напора: {0} м",
                              (net.VacuumLine.LossOfPressureUponLocalResistances() +
                               net.VacuumLine.LossOfPressureUponAFriction())/net.VacuumLine.Liquid.Density/9.81);
            Console.WriteLine("Смесь в нагнетательном ТП");
            Console.WriteLine("\tСкорость: {0} м/с", net.ForcingLine.Speed);
            Console.WriteLine("\tКритерий Рейнольдса: {0}", net.ForcingLine.Re);
            Console.WriteLine("\tКоэффициент трения: {0}", net.ForcingLine.FactorOfAFriction);
            Console.WriteLine("\tПотеря давления на трение: {0} Па", net.ForcingLine.LossOfPressureUponAFriction());
            Console.WriteLine("\tПотеря давления на м.с.: {0} Па", net.ForcingLine.LossOfPressureUponLocalResistances());
            Console.WriteLine("\tПотеря давления: {0} Па", net.ForcingLine.LossOfPressureUponLocalResistances() + net.ForcingLine.LossOfPressureUponAFriction());
            Console.WriteLine("\tПотеря напора: {0} м",
                              (net.ForcingLine.LossOfPressureUponLocalResistances() +
                               net.ForcingLine.LossOfPressureUponAFriction()) / net.ForcingLine.Liquid.Density / 9.81);
            Console.WriteLine("Смесь в трубном пространстве ТО");
            Console.WriteLine("\tСкорость: {0} м/с", net.HeatExchanger.LiquidInPipeline.Speed);
            Console.WriteLine("\tКритерий Рейнольдса: {0}", net.HeatExchanger.LiquidInPipeline.Re);
            Console.WriteLine("\tКоэффициент трения: {0}", net.HeatExchanger.LiquidInPipeline.FactorOfAFriction);
            Console.WriteLine("\tПотеря давления на трение: {0} Па", net.HeatExchanger.LiquidInPipeline.LossOfPressureUponAFriction());
            Console.WriteLine("\tПотеря давления на м.с.: {0} Па", net.HeatExchanger.LiquidInPipeline.LossOfPressureUponLocalResistances());
            Console.WriteLine("\tПотеря давления: {0} Па", net.HeatExchanger.LiquidInPipeline.LossOfPressureUponLocalResistances() + net.HeatExchanger.LiquidInPipeline.LossOfPressureUponAFriction());
            Console.WriteLine("\tПотеря напора: {0} м",
                              (net.HeatExchanger.LiquidInPipeline.LossOfPressureUponLocalResistances() +
                               net.HeatExchanger.LiquidInPipeline.LossOfPressureUponAFriction()) / net.HeatExchanger.LiquidInPipeline.Liquid.Density / 9.81);
            Console.WriteLine("Затраты на создание скорости потока: {0} Па", net.ForcingLine.LossOfPressureUponCreationOfSpeed());
            Console.WriteLine("Затраты на подъем жидкости: {0} Па", net.ForcingLine.LossOfPressureUponLifting(5.6));
            Console.WriteLine("Полный напор: {0} м", (net.VacuumLine.LossOfPressureUponLocalResistances() +
                                                 net.VacuumLine.LossOfPressureUponAFriction())/
                                                net.VacuumLine.Liquid.Density/9.81 +
                                                (net.ForcingLine.LossOfPressureUponLocalResistances() +
                                                 net.ForcingLine.LossOfPressureUponAFriction())/
                                                net.ForcingLine.Liquid.Density/9.81 +
                                                (net.HeatExchanger.LiquidInPipeline.LossOfPressureUponLocalResistances() +
                                                 net.HeatExchanger.LiquidInPipeline.LossOfPressureUponAFriction())/
                                                net.HeatExchanger.LiquidInPipeline.Liquid.Density/9.81 +
                                                net.ForcingLine.LossOfPressureUponLifting(5.6) / 9.81 / net.ForcingLine.Liquid.Density);
            Console.WriteLine("Для смеси {0} с параметрами t={1} и p={2} подходит ТО {3}, чтобы ее вскипятить.", liq.Id,
                              liq.Temperature, liq.Pressure, net.HeatExchanger.Id);
            Console.WriteLine("Выбранный насос: {0}.",net.Pump.Brand);
            var liq2 = new LiquidPure("6", 20, 760);
            Console.WriteLine("Коэффициент теплопроводности ацетона: {0}",liq2.ThermalConductivity / 1.163);
            Console.ReadKey();
        }
        private void Next_2_Click(object sender, RoutedEventArgs e)
        {
            bool g = true;
            double result = 0;
            var Grid_Add_Pipeline = this.Content as MyGrid;
            var Material_In = Grid_Add_Pipeline.Children[6] as MyComboBox;
            var Pipeline_Type = Grid_Add_Pipeline.Children[4] as MyComboBox;
            var Diameter_In = Grid_Add_Pipeline.Children[12] as MyTextBox;
            var Wall_Width_In = Grid_Add_Pipeline.Children[16] as MyTextBox;
            var Length_In = Grid_Add_Pipeline.Children[8] as MyTextBox;

            var Material_Out = Grid_Add_Pipeline.Children[23] as MyComboBox;
            var Pipeline_Out_Type = Grid_Add_Pipeline.Children[21] as MyComboBox;
            var Diameter_Out = Grid_Add_Pipeline.Children[29] as MyTextBox;
            var Wall_Width_Out = Grid_Add_Pipeline.Children[33] as MyTextBox;
            var Length_Out = Grid_Add_Pipeline.Children[25] as MyTextBox;

            var Diameter_In_Measure_Choose = Grid_Add_Pipeline.Children[13] as MyComboBox;
            var Wall_Width_In_Measure_Choose = Grid_Add_Pipeline.Children[17] as MyComboBox;
            var Length_In_Measure_Choose = Grid_Add_Pipeline.Children[9] as MyComboBox;

            var Diameter_Out_Measure_Choose = Grid_Add_Pipeline.Children[30] as MyComboBox;
            var Wall_Width_Out_Measure_Choose = Grid_Add_Pipeline.Children[34] as MyComboBox;
            var Length_Out_Measure_Choose = Grid_Add_Pipeline.Children[26] as MyComboBox;

            if ((double.TryParse(Diameter_In.Text, out result) == false) || (double.TryParse(Wall_Width_In.Text, out result) == false) ||
                (double.TryParse(Length_In.Text, out result) == false) || (double.TryParse(Diameter_Out.Text, out result) == false) ||
                (double.TryParse(Wall_Width_Out.Text, out result) == false) || (double.TryParse(Length_Out.Text, out result) == false))
                g = false;

            if (g == false)
            {
                MessageBox.Show("Некоторые данные введены неправильно");
            }

            if (g == true)
            {
                //MessageBox.Show("Все отлично!");

                double DiaInNew = double.Parse(Diameter_In.Text);
                if (Diameter_In_Measure_Choose.SelectedIndex == 1)
                {
                    DiaInNew /= 100;
                }
                if (Diameter_In_Measure_Choose.SelectedIndex == 2)
                {
                    DiaInNew /= 1000;
                }

                double WallWidthInNew = double.Parse(Wall_Width_In.Text);
                if (Wall_Width_In_Measure_Choose.SelectedIndex == 1)
                {
                    WallWidthInNew /= 100;
                }
                if (Wall_Width_In_Measure_Choose.SelectedIndex == 2)
                {
                    WallWidthInNew /= 1000;
                }

                double LengthInNew = double.Parse(Length_In.Text);
                if (Length_In_Measure_Choose.SelectedIndex == 1)
                {
                    LengthInNew /= 100;
                }
                if (Length_In_Measure_Choose.SelectedIndex == 2)
                {
                    LengthInNew /= 1000;
                }

                double DiaOutNew = double.Parse(Diameter_Out.Text);
                if (Diameter_Out_Measure_Choose.SelectedIndex == 1)
                {
                    DiaOutNew /= 100;
                }
                if (Diameter_Out_Measure_Choose.SelectedIndex == 2)
                {
                    DiaOutNew /= 1000;
                }

                double WallWidthOutNew = double.Parse(Wall_Width_Out.Text);
                if (Wall_Width_Out_Measure_Choose.SelectedIndex == 1)
                {
                    WallWidthOutNew /= 100;
                }
                if (Wall_Width_Out_Measure_Choose.SelectedIndex == 2)
                {
                    WallWidthOutNew /= 1000;
                }

                double LengthOutNew = double.Parse(Length_Out.Text);
                if (Length_Out_Measure_Choose.SelectedIndex == 1)
                {
                    LengthOutNew /= 100;
                }
                if (Length_Out_Measure_Choose.SelectedIndex == 2)
                {
                    LengthOutNew /= 1000;
                }

                var Pip = new PipelineRound(Material_In.SelectedIndex + 1, Pipeline_Type.SelectedIndex + 1, DiaInNew, WallWidthInNew, LengthInNew);
                var lip_In = new LiquidInPipeline(liq, Pip);
                var Pip2 = new PipelineRound(Material_Out.SelectedIndex + 1, Pipeline_Out_Type.SelectedIndex + 1, DiaOutNew, WallWidthOutNew, LengthOutNew);
                var lip_Out = new LiquidInPipeline(liq, Pip2);

                Network.Create(lip_In, lip_Out);

                Resistance rst = new Resistance(lip_In, lip_Out, Temperature_Out,NK_dou,VP);
                rst.Show();
            }
        }