public static VisualizedData GetVisualizedData(GeometricParameters geometricParameters, ModeParameters modeParameters,
                                                       EmpiricalCoefficients empiricalCoefficients,
                                                       MaterialPropertiesParameters materialPropertiesParameters, double z)
        {
            double Y   = GetShearStrainRate(modeParameters.Vu, geometricParameters.H);
            double Qa  = GetSpecificHeatFluxQa(geometricParameters.W, modeParameters.Tu, empiricalCoefficients);
            double Qy  = GetSpecificHeatFluxQy(geometricParameters, empiricalCoefficients, Y);
            double QCH = GetVolumetricFlowRate(geometricParameters, modeParameters);

            double l = geometricParameters.L;

            List <Point> temperature = new List <Point>();
            List <Point> viscosity   = new List <Point>();

            for (double i = 0; i < l; i += z)
            {
                double T  = GetMaterialTemperature(empiricalCoefficients, materialPropertiesParameters, Qa, Qy, QCH, geometricParameters.W, i);
                double Nu = GetMaterialViscosity(empiricalCoefficients, T, Y);
                temperature.Add(new Point(i, T));
                viscosity.Add(new Point(i, Nu));
            }
            double lastT  = GetMaterialTemperature(empiricalCoefficients, materialPropertiesParameters, Qa, Qy, QCH, geometricParameters.W, l);
            double lastNu = GetMaterialViscosity(empiricalCoefficients, lastT, Y);

            temperature.Add(new Point(l, lastT));
            viscosity.Add(new Point(l, lastNu));

            return(new VisualizedData(temperature, viscosity));
        }
 /// <summary>
 /// Удельный тепловой поток
 /// </summary>
 /// <param name="parameters">Геометрические параметры</param>
 /// <param name="empiricalCoefficients">Эмперические коэффициенты математической модели</param>
 /// <param name="Y">Скорость деформации сдвига</param>
 /// <returns></returns>
 public static double GetSpecificHeatFluxQy(GeometricParameters parameters, EmpiricalCoefficients empiricalCoefficients, double Y)
 {
     return(parameters.H * parameters.W * empiricalCoefficients.u0 * Math.Pow(Y, empiricalCoefficients.n + 1));
 }
 /// <summary>
 /// Объемный расход потока материала в канале
 /// </summary>
 /// <param name="geometricParameters">Геометрические параметры канала</param>
 /// <param name="modeParameters">Режимные параметры процесса</param>
 /// <returns></returns>
 public static double GetVolumetricFlowRate(GeometricParameters geometricParameters, ModeParameters modeParameters)
 {
     return((geometricParameters.H * geometricParameters.W * modeParameters.Vu * GetGeometricCoefficient(geometricParameters)) / 2);
 }
        /// <summary>
        /// Коэффициент геометрической формы канала
        /// </summary>
        /// <param name="geometricParameters">Геометрические параметры канала</param>
        /// <returns></returns>
        public static double GetGeometricCoefficient(GeometricParameters geometricParameters)
        {
            double ratio = geometricParameters.H / geometricParameters.W;

            return(0.125 * ratio * ratio - 0.625 * ratio + 1);
        }