private void button1_Click(object sender, EventArgs e)//считать { FunctionsModel functions = new FunctionsModel(); usergraph = new UseZedgraph(zedGraph1); usergraph.clearAll(); usergraph.clearDataINFile("Интенсивность.txt"); usergraph.clearDataINFile("Интенсивность обезразмерянная.txt"); usergraph2 = new UseZedgraph(zedGraph2); Inizialization(); double x_000 = dt_000 / (h_000 * w_000); // обезразмерка double A0 = I_000 * x_000; //5 8 13 int nSloiDx = System.Convert.ToInt32(ddd / 0.3) + 1; textBox10.Text = System.Convert.ToString(nSloiDx); double n11 = n001 * nSloiDx;//6E17 double[][] NNN = new double[4][]; NNN[0] = new double[nSloiDx]; NNN[1] = new double[nSloiDx]; NNN[2] = new double[nSloiDx]; NNN[3] = new double[nSloiDx]; for (int i = 0; i < nSloiDx; i++) { NNN[0][i] = n11; NNN[1][i] = 0; NNN[2][i] = 0; NNN[3][i] = 0; } // double[] XX = new double[201]; // double[] YY = new double[201]; progressBar1.Minimum = 1; progressBar1.Maximum = nSloiDx; progressBar1.Value = 1; int number_chosen_layer1 = System.Convert.ToInt32(textBox11.Text); int number_chosen_layer2 = System.Convert.ToInt32(textBox12.Text); int number_chosen_layer3 = System.Convert.ToInt32(textBox13.Text); double[] sloj_T1 = new double[Z]; double[] sloj_T2 = new double[Z]; double[] AXIS_x_data = new double[Z]; double scet_AXIS_X = 0; for (int g = 0; g < Z; g++)// начальные условия { sloj_T1[g] = fGausT(g, A0, t00, q_); AXIS_x_data[g] = scet_AXIS_X; scet_AXIS_X = scet_AXIS_X + 0.01; } double maximum, maximum2, maximum3; double t_shift_1 = functions.max_x(sloj_T1, Z), t_shift_2 = functions.max_x(sloj_T1, Z); double V_g1 = 0, V_g2 = 0; double[] V_G = new double[nSloiDx]; maximum = functions.max_y(sloj_T1, Z); if (radioButton3.Checked) { makeGraphInLayer(sloj_T1, x_000, Color.Black, 0, usergraph); } if (radioButton4.Checked) { makeGraphInLayer(sloj_T1, maximum, Color.Black, 0, usergraph); } Model model = new Model(sloj_T1, sigma1, sigma1 * s2s1, t21, t32, NNN); for (int i = 0; i < nSloiDx; i++) { progressBar1.Value = i + 1; // model.shiftLayer(model.Runge_Kutta_all(i)); model.shiftLayer(model.Intensity_transfer_1(i)); //Сбрасываем в файл usergraph.putDataInFile(AXIS_x_data, model.getSloi1(), x_000, "Интенсивность.txt"); maximum3 = functions.max_y(model.getSloi1(), Z); usergraph.putDataInFile(AXIS_x_data, model.getSloi1(), maximum3, "Интенсивность обезразмерянная.txt"); if (radioButton3.Checked) { if (i == number_chosen_layer1) { makeGraphInLayer(model.getSloi1(), x_000, Color.Red, number_chosen_layer1, usergraph); usergraph.install_pane("t (нс)", "I, (Вт/см2)"); } if (i == number_chosen_layer2) { makeGraphInLayer(model.getSloi1(), x_000, Color.Blue, number_chosen_layer2, usergraph); usergraph.install_pane("t (нс)", "I, (Вт/см2)"); } if (i == number_chosen_layer3) { makeGraphInLayer(model.getSloi1(), x_000, Color.Green, number_chosen_layer3, usergraph); usergraph.install_pane("t (нс)", "I, (Вт/см2)"); } } if (radioButton4.Checked) { if (i == number_chosen_layer1) { maximum2 = functions.max_y(model.getSloi1(), Z); makeGraphInLayer(model.getSloi1(), maximum2, Color.Red, number_chosen_layer1, usergraph); usergraph.install_pane("t (нс)", "I/I0"); } if (i == number_chosen_layer2) { maximum2 = functions.max_y(model.getSloi1(), Z); makeGraphInLayer(model.getSloi1(), maximum2, Color.Blue, number_chosen_layer2, usergraph); usergraph.install_pane("t (нс)", "I/I0"); } if (i == number_chosen_layer3) { maximum2 = functions.max_y(model.getSloi1(), Z); makeGraphInLayer(model.getSloi1(), maximum2, Color.Green, number_chosen_layer3, usergraph); usergraph.install_pane("t (нс)", "I/I0"); } } //////////////////////// // t_shift_1 = functions.max_x(model.getSloi1(),Z); V_g1 = V_g2; V_g2 = functions.groupVelosity(functions.max_x(model.getSloi1(), Z)); // V_G[i] = functions.groupVelosityMomentum(V_g1,V_g2); if (radioButton5.Checked)//Время смещения { V_G[i] = functions.max_x(model.getSloi1(), Z); usergraph2.install_pane("dx", "t max, пс"); } if (radioButton6.Checked)//Групповая скорость { V_G[i] = functions.groupVelosity(functions.max_x(model.getSloi1(), Z)); usergraph2.install_pane("dx", "v/c"); } if (radioButton7.Checked)//Мгновенная скорость { V_g1 = V_g2; V_g2 = functions.max_x(model.getSloi1(), Z); V_G[i] = functions.groupVelosityMomentum(V_g1, V_g2); usergraph2.install_pane("dx", "v/c"); } if (radioButton8.Checked)//Коэффициент пропускания { V_G[i] = functions.max_y(model.getSloi1(), Z) / maximum; usergraph2.install_pane("dx", "T"); } if (radioButton9.Checked)//Время смещения мгновенное { t_shift_1 = t_shift_2; t_shift_2 = functions.max_x(model.getSloi1(), Z); V_G[i] = functions.timeShiftMomentum(t_shift_1, t_shift_2); usergraph2.install_pane("dx", "время смещения"); } } /////////////////////////////////////////////////////////////// if (scet_line == 3) { makeGraphInLayer2(V_G, nSloiDx, Color.Green, "Групповая скорость", usergraph2); scet_line++; } if (scet_line == 2) { makeGraphInLayer2(V_G, nSloiDx, Color.Blue, "Групповая скорость", usergraph2); scet_line++; } if (scet_line == 1) { makeGraphInLayer2(V_G, nSloiDx, Color.Red, "Групповая скорость", usergraph2); scet_line++; } if (scet_line == 0) { makeGraphInLayer2(V_G, nSloiDx, Color.Black, "Групповая скорость", usergraph2); scet_line++; } }
private void button3_Click(object sender, EventArgs e)//Очистить { usergraph.clearAll(); usergraph2.clearAll(); scet_line = 0; }