示例#1
0
        public void TestOozinozSkyocket()
        {
            double burnArea   = .0030;
            double burnDepth  = .06;
            double burnVolume = burnArea * burnDepth;
            double fuelMass   = burnVolume * FUEL_DENSITY;
            double totalMass  = fuelMass * 1.1;
            double burnRate   = .020;

            PhysicalRocket pr = new PhysicalRocket(burnArea, burnRate, fuelMass, totalMass);

            OozinozSkyrocket or = new OozinozSkyrocket(pr);

            double tol = 0.01;

            or.SetSimTime(0);
            Assert.AreEqual(totalMass, or.GetMass(), tol, "initial mass");
            Assert.AreEqual(SPECIFIC_IMPULSE * FUEL_DENSITY * burnArea * burnRate, or.GetThrust(), tol, "thrust");

            double bt = burnDepth / burnRate;

            or.SetSimTime(bt * 1.01);
            Assert.AreEqual(totalMass - fuelMass, or.GetMass(), tol, "end mass");
            Assert.AreEqual(0, or.GetThrust(), tol, "thrust");
        }
        public void TestOozinozSkyocket()
        {
            double burnArea   = .0030;
            double burnDepth  = .06;
            double burnVolume = burnArea * burnDepth;
            double fuelMass   = burnVolume * FUEL_DENSITY;
            double totalMass  = fuelMass * 1.1;
            double burnRate   = .020;

            PhysicalRocket pr = new PhysicalRocket(burnArea, burnRate, fuelMass, totalMass);

            OozinozSkyrocket or = new OozinozSkyrocket(pr);

            double tol = 0.01;

            or.SetSimTime(0);
            Assertion.AssertEquals("masa pocz¹tkowa", totalMass, or.GetMass(), tol);
            Assertion.AssertEquals("ci¹g", SPECIFIC_IMPULSE * FUEL_DENSITY * burnArea * burnRate, or.GetThrust(), tol);

            double bt = burnDepth / burnRate;

            or.SetSimTime(bt * 1.01);
            Assertion.AssertEquals("masa koñcowa", totalMass - fuelMass, or.GetMass(), tol);
            Assertion.AssertEquals("ci¹g", 0, or.GetThrust(), tol);
        }