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); }
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); }
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); }