Пример #1
0
        public static WBSolver GetNewSolver2(WBProjectOptions options)
        {
            var layerOpts2 = StandartOpts;
            var geom       = new GunShape();

            geom.AddPoint(layerOpts2.X_left - 0.2, 0.132);
            geom.AddPoint(layerOpts2.X_right + 5, 0.132);
            var initLayer = new OvLayer();

            initLayer.Geom = geom;
            GunPowder powder = new GunPowder();

            powder = powder_AGARD();
            List <GunPowder> powder_list = new List <GunPowder>()
            {
                powder
            };
            List <double> conc_list = new List <double>()
            {
                1
            };
            MixtureGunPowder mixture = new MixtureGunPowder(powder_list, conc_list);

            initLayer.InitLayer(0d, layerOpts2, MySuoerFunc(mixture), InitOvBound);
            var grid   = new OvGridRK("OvGrid_tst1", initLayer);
            var solver = new WBSolver(grid, options);

            initLayer.SynchNodes_X_V();
            return(solver);
        }
        public void PsiTest()
        {
            var powders    = GunPowderFactory.GetAllPowderNames();
            var badPowders = new List <string>();

            for (int i = 0; i < powders.Length; i++)
            {
                var  powder   = GunPowder.Factory(powders[i]);
                bool goodPwdr = powder.Psi(-10) == 0d &&
                                powder.Psi(999) == 1d;
                if (!goodPwdr)
                {
                    badPowders.Add(powders[i]);
                }
            }
            Assert.AreEqual(0, badPowders.Count);
        }
Пример #3
0
        public static GunPowder powder_ign_AGARD()
        {
            var powder = new GunPowder();

            powder.f        = 1.009e6;
            powder.alpha_k  = 1.0838e-3;
            powder.dest     = 1575;
            powder.k        = 1.25;
            powder.nu       = 0.9;
            powder.T1       = 2585;
            powder.lambda_1 = 0.2049;
            powder.lambda_2 = -0.8977;
            powder.kappa_1  = 0.7185;
            powder.kappa_2  = 0.5386;
            powder.Ik       = 1.276e6;
            powder.zk       = 1.5;
            return(powder);
        }
Пример #4
0
        public void GetPressureTest()
        {
            var powder = new GunPowder();

            powder.f        = 1.009e6;
            powder.alpha_k  = 1.0838e-3;
            powder.dest     = 1575;
            powder.k        = 1.25;
            powder.nu       = 0.9;
            powder.T1       = 2585;
            powder.lambda_1 = 0.2049;
            powder.lambda_2 = -0.8977;
            powder.kappa_1  = 0.7185;
            powder.kappa_2  = 0.5386;
            powder.Ik       = 1.276e6;
            powder.zk       = 1.5;
            List <GunPowder> powder_list = new List <GunPowder>()
            {
                powder
            };
            List <double> conc_list = new List <double>()
            {
                1
            };
            MixtureGunPowder mixture = new MixtureGunPowder(powder_list, conc_list);
            var cell = new OvCell(null, mixture)
            {
                ro = 840,
                u  = 0,
                p  = 1e5,
                X  = 0,
                V  = 0
            };

            cell.e = cell.GetE();
            var p = cell.GetPressure();

            Assert.AreEqual(cell.p, p, 0.1);
        }