Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовой 11 вариант Литовченко / 11 Вариант ПРОГРАММА
.txtusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace CourseWork
{
class Program
{
static public double tau(double x)
{
return x / (3600 * 0.00445);
}
static public double T1(double t)
{
return 800 + ((1100 - 800) / (0.96 - 0)) * (t - 0);
}
static public double T2(double t)
{
return 1100 + ((1400 - 1100) / (3.10 - 0.96)) * (t - 0.96);
}
static public double T3(double t)
{
return 1400 + ((1200 - 1400) / (3.81 - 3.10)) * (t - 3.10);
}
public delegate double function(double x, double y);
static public double F1(double t, double y)
{
return T1(t) - y;
}
static public double F2(double t, double y)
{
return T2(t) - y;
}
static public double F3(double t, double y)
{
return T3(t) - y;
}
static public double[] RungeKutta(function f, double fa, double a, double b, int n)
{
double h = (b - a) / (n - 1);
double[] res = new double[n + 1];
res[0] = fa;
for (int i = 1; i <= n; ++i)
{
double x = a + (i - 1) * h,
y = res[i - 1];
double k1 = h * f(x, y),
k2 = h * f(x + h / 2, y + h * k1 / 2),
k3 = h * f(x + h / 2, y + h * k2 / 2),
k4 = h * f(x + h, y + h * k3);
double D = (k1 + 2 * k2 + 2 * k3 + k4) / 6;
res[i] = res[i - 1] + D;
}
return res;
}
static public double Tr (double[] f, double a, double b, int n)
{
int m = f.Length;
double result = (f[0] + f[m - 1]) / 2;
for (int j = 1; j < m - 1; j++)
{
result += f[j];
}
result *= (b - a) / n;
return result;
}
static void Main(string[] args)
{
double t1 = tau(0),
t2 = tau(15.4),
t3 = tau(49.6),
t4 = tau(61.0);
int n = 50;
double[] z1 = RungeKutta(F1, 20, t1, t2, n);
double[] z2 = RungeKutta(F2, z1[z1.Length - 1], t2, t3, n);
double[] z3 = RungeKutta(F3, z2[z2.Length - 1], t3, t4, n);
double[] G1 = new double[n];
double[] G2 = new double[n];
double[] G3 = new double[n];
for (int i = 0; i < n; ++i)
{
double s1 = (t2 - t1) / (n - 1);
double s2 = (t3 - t2) / (n - 1);
double s3 = (t4 - t3) / (n - 1);
G1[i] = (T1(t1 + i * s1) - z1[i]) / (1400 - z1[i]);
G2[i] = (T2(t2 + i * s2) - z2[i]) / (1400 - z2[i]);
G3[i] = (T3(t3 + i * s3) - z3[i]) / (1400 - z3[i]);
}
double G = (1400 * 0.7 * 3600 * 0.00445) / (0.8 * 20.9 * Math.Pow(10, 6)) * (Tr(G1, t1, t2, n) + Tr(G2, t2, t3, n) + Tr(G3, t3, t4, n));
Console.WriteLine(" РАСПРЕДЕЛЕНИЕ ТЕМПЕРАТУР МЕТАЛЛА ПО ЗОНАМ ПЕЧИ ");
Console.WriteLine();
Console.WriteLine(" ЗОНА 1 ЗОНА 2 ЗОНА 3 ");
Console.WriteLine();
Console.WriteLine(" Рас-ние Температура Рас-ние Температура Рас-ние Температура ");
Console.WriteLine(" от входа металла от входа металла от входа металла ");
Console.WriteLine();
for (int i = 0; i < n; ++i)
{
double x1 = 0,
x2 = 15.9,
x3 = 49.6,
x4 = 61.0;
Console.WriteLine(" {0,5:f2} {1,10:f3} {2,5:f2} {3,10:f3} {4,5:f2} {5,10:f3} ",
x1 + i * (x2 - x1) / n, z1[i],
x2 + i * (x3 - x2) / n, z2[i],
x3 + i * (x4 - x3) / n, z3[i]);
}
Console.WriteLine();
Console.WriteLine("РАСХОД ТОПЛИВА: G = {0:f6}", G);
Console.ReadKey();
}
}
}
Соседние файлы в папке Курсовой 11 вариант Литовченко