Exemple #1
0
        public OutputDate3D CulcTeploPosl3D(InputDate3D inputDate)
        {
            OutputDate3D mass_data = new OutputDate3D();

            double[,,] array1 = ToMulti3D(inputDate.Mass_u);

            double h     = inputDate.H;
            double time  = inputDate.Time;
            double tau   = inputDate.Tau;
            Teplo  teplo = new Teplo();

            double[,,] array2 = teplo.PoslCulс3D(array1, time, tau, h);

            mass_data.Culc_Teplo = ToJagged3D(array2);
            return(mass_data);
        }
Exemple #2
0
        public void Test_Rigth_Work_3D()
        {
            Mock <ILogger> stubLogger = new Mock <ILogger>();
            Teplo          teplo      = new Teplo(stubLogger.Object);

            int    n    = 10;
            double time = 10;
            double tau  = 0.01;
            double h    = 1;

            double[,,] u    = new double[n, n, n];
            double[,,] unew = new double[n, n, n];

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int k = 0; k < n; k++)
                    {
                        u[i, j, k] = unew[i, j, k] = 10;
                    }
                }
            }

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    u[i, j, 0] = unew[i, j, 0] = 50;
                }
            }

            unew = teplo.PoslCulс3D(u, time, tau, h);

            bool flag = false;

            if (unew[1, 1, 1] < unew[n - 2, n - 2, n - 2])

            {
                flag = true;
            }
            Assert.IsFalse(flag, "Считает не правильно");
        }
        public void Test_Rigth_Work_3D()
        {
            Teplo  teplo = new Teplo();
            int    n     = 5;
            double time  = 10;
            double tau   = 0.01;
            double h     = 1;

            double[,,] u    = new double[n, n, n];
            double[,,] unew = new double[n, n, n];

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    for (int k = 0; k < n; k++)
                    {
                        u[i, j, k] = unew[i, j, k] = 10;
                    }
                }
            }

            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    u[i, j, 0] = unew[i, j, 0] = 50;
                }
            }

            unew = teplo.PoslCulс3D(u, time, tau, h);

            bool flag = false;

            if (unew[0, 0, 0] < unew[n - 1, n - 1, n - 1])

            {
                flag = true;
            }
            Assert.IsFalse(flag, "Считает не правильно");
        }