示例#1
0
        public ActionResult Index()
        {
            shlak_raschet shlak_model = new shlak_raschet();

            ViewBag.index = shlak_model;
            return(View());
        }
示例#2
0
 public ActionResult EnterVoid(double CaO, double SiO2, double Al2O3, double MgO)
 {
     #region  асчеты
     shlak_raschet     raschet  = new shlak_raschet(CaO, SiO2, Al2O3, MgO);
     string            xlsname  = "shlak2.xlsx";
     string            path     = Server.MapPath("~/Content/" + xlsname);
     Excel.Application app      = new Excel.Application();
     Excel.Workbook    wkbook   = app.Workbooks.Open(path);
     Excel.Worksheet   wksheet  = wkbook.Sheets[1];
     Excel.Worksheet   wksheet2 = wkbook.Sheets[7];
     Excel.Worksheet   wksheet3 = wkbook.Sheets[8];
     wksheet.Range["C3"].Value = raschet.CaO;
     wksheet.Range["C4"].Value = raschet.SiO2;
     wksheet.Range["C5"].Value = raschet.Al2O3;
     wksheet.Range["C6"].Value = raschet.MgO;
     //вязкость шлака при температуре 1400
     double pseudocoef1_1400 = double.Parse(wksheet2.Range["B157"].Value.ToString());
     double pseudocoef2_1400 = double.Parse(wksheet2.Range["C157"].Value.ToString());
     double pseudocoef3_1400 = double.Parse(wksheet2.Range["D157"].Value.ToString());
     //берем коэфициенты из расчета шлака при 1500 с поправкой на глинозем
     double pseudocoef1_1500 = double.Parse(wksheet3.Range["B157"].Value.ToString());
     double pseudocoef2_1500 = double.Parse(wksheet3.Range["C157"].Value.ToString());
     double pseudocoef3_1500 = double.Parse(wksheet3.Range["D157"].Value.ToString());
     //расчитываем полиномы
     double vis1400_ras        = pseudocoef3_1400 + pseudocoef2_1400 * raschet.Al2O3 + pseudocoef1_1400 * Math.Pow(raschet.Al2O3, 2);
     double vis1500_ras        = pseudocoef3_1500 + pseudocoef2_1500 * raschet.Al2O3 + pseudocoef1_1500 * Math.Pow(raschet.Al2O3, 2);
     double coefB_ras          = -0.01 * (Math.Log10(Math.Log10(Math.Abs(vis1400_ras))) - Math.Log10(Math.Log10(Math.Abs(vis1500_ras))));
     double coefA_ras          = Math.Log10(Math.Log10(Math.Abs(vis1500_ras))) - 1500 * coefB_ras;
     double Vis1350RasEx       = Math.Pow(10, Math.Pow(10, coefA_ras + coefB_ras * 1350));
     double vis1450RasEx       = Math.Pow(10, Math.Pow(10, coefA_ras + coefB_ras * 1450));
     double vis1550RasEx       = Math.Pow(10, Math.Pow(10, coefA_ras + coefB_ras * 1550));
     double temp7puaz_ras      = (coefA_ras - Math.Log10(Math.Log10(7))) / -coefB_ras;
     double tempPlav25puaz_ras = (coefA_ras - Math.Log10(Math.Log10(25))) / -coefB_ras;
     double gradVisc           = (25 - 7) / (temp7puaz_ras - tempPlav25puaz_ras);
     double gradViscCels       = vis1400_ras - vis1500_ras;
     #endregion  асчеты
     raschet.OtnCaOSiO2            = CaO / SiO2;
     raschet.OtnCaMgOnaSiO         = (CaO + MgO) / SiO2;
     raschet.OtnCaOMgOnaSiO2Al2O3  = (CaO + MgO) / (SiO2 + Al2O3);
     raschet.Viscosity1350         = Vis1350RasEx;
     raschet.Viscosity1400         = vis1400_ras;
     raschet.Viscosity1450         = vis1450RasEx;
     raschet.Viscosity1500         = vis1500_ras;
     raschet.Viscosity1550         = vis1550RasEx;
     raschet.TempVisc25puaz        = tempPlav25puaz_ras;
     raschet.TempVisc7puaz         = temp7puaz_ras;
     raschet.GradVisc7_25puaz      = gradVisc;
     raschet.GradVisc1400_1500grad = gradViscCels;
     wkbook.Save();
     wkbook.Close(true, Type.Missing, Type.Missing);
     app.Quit();
     ViewBag.result = raschet;
     return(View());
 }