예제 #1
0
        public double Find(double t, double davlenie)
        {
            double _B15;
            double plotnost = Raschot.PlotnostAreometrInNeft(_areometr, _plotnostAreometr, _tIzm);

            plotnost = Raschot.IteracionMetodForAreometr(out _B15, plotnost, _tIzm, _typeGroup);
            double Y = Raschot.CalcY(plotnost, t);
            double resultPlotnost = Raschot.CalcPlotnost(plotnost, _B15, Y, t, davlenie);

            return(Math.Round(resultPlotnost, 1));
        }
예제 #2
0
        public double Find(double t, double davlenie)
        {
            double _B15;
            double plotnost       = Raschot.IteracionMetodForPlotnometr(out _B15, _plotnostPlotnometr, _tIzm, _davlenie, _typeGroup);
            double Y              = Raschot.CalcY(plotnost, t);
            double resultPlotnost = Raschot.CalcPlotnost(plotnost, _B15, Y, t, davlenie);

            if (_pogreshnost < 0.5)
            {
                return(Math.Round(resultPlotnost, 2));
            }
            return(Math.Round(resultPlotnost, 1));
        }
예제 #3
0
        public static double IteracionMetodForPlotnometr(out double B15, double firstPlotnost, double tIzm, double davlenie, TypeGroup typeGroup) //итерационный метод нахождения плотности для плотнометра
        {
            /*1 итерация*/
            B15 = Raschot.CalcKoefB15(firstPlotnost, typeGroup);
            double Y               = Raschot.CalcY(firstPlotnost, tIzm);
            double endPlotnost     = Raschot.CalcPlotnostForIterPlotnometr(firstPlotnost, B15, Y, tIzm, davlenie);
            double currentPlotnost = 0;

            while (Math.Abs(endPlotnost - currentPlotnost) > 0.01)//разность между итерациями
            {
                currentPlotnost = endPlotnost;
                B15             = Raschot.CalcKoefB15(currentPlotnost, typeGroup);
                Y           = Raschot.CalcY(currentPlotnost, tIzm);
                endPlotnost = Raschot.CalcPlotnostForIterPlotnometr(firstPlotnost, B15, Y, tIzm, davlenie);
            }
            return(Math.Round(endPlotnost, 1));
        }