示例#1
0
    def test_simulate(self):
        # Make system 1
        x = SX.sym('x')
        y = SX.sym('y')
        t = SX.sym('t')
        tau = SX.sym('tau')

        ode = SX(1)
        alg = y - (5 - t)

        sys = DAESystem(x=x, y=y, ode=ode, alg=alg, tau=tau, t=t)

        # Test
        res = sys.simulate(x_0=0, t_f=5, t_0=0, y_0=1)

        self.assertAlmostEqual(res['xf'], 5)
        self.assertAlmostEqual(res['zf'], 0)
示例#2
0
    def test_simulate_with_options(self):
        # Make system 1
        x = SX.sym('x')
        y = SX.sym('y')
        t = SX.sym('t')
        tau = SX.sym('tau')

        ode = SX(1)
        alg = y - (5 - t)

        sys = DAESystem(x=x, y=y, ode=ode, alg=alg, tau=tau, t=t)

        # Test
        res = sys.simulate(x_0=0,
                           t_f=5,
                           t_0=0,
                           y_0=1,
                           integrator_options={'abstol': 1e-10})

        self.assertAlmostEqual(res['xf'], 5)
        self.assertAlmostEqual(res['zf'], 0)