Пример #1
0
 def test_id(self):
     a = pybamm.Scalar(4)
     un1 = pybamm.UnaryOperator("test", a)
     un2 = pybamm.UnaryOperator("test", a)
     un3 = pybamm.UnaryOperator("new test", a)
     self.assertEqual(un1.id, un2.id)
     self.assertNotEqual(un1.id, un3.id)
     a = pybamm.Scalar(4)
     un4 = pybamm.UnaryOperator("test", a)
     self.assertEqual(un1.id, un4.id)
     d = pybamm.Scalar(42)
     un5 = pybamm.UnaryOperator("test", d)
     self.assertNotEqual(un1.id, un5.id)
Пример #2
0
    def test_unary_operator(self):
        a = pybamm.Symbol("a", domain=["test"])
        un = pybamm.UnaryOperator("unary test", a)
        self.assertEqual(un.children[0].name, a.name)
        self.assertEqual(un.domain, a.domain)

        # with number
        log = pybamm.log(10)
        self.assertEqual(log.evaluate(), np.log(10))
Пример #3
0
    def test_unary_operator(self):
        a = pybamm.Symbol("a", domain=["test"])
        un = pybamm.UnaryOperator("unary test", a)
        self.assertEqual(un.children[0].name, a.name)
        self.assertEqual(un.domain, a.domain)

        # with number
        a = pybamm.InputParameter("a")
        absval = pybamm.AbsoluteValue(-a)
        self.assertEqual(absval.evaluate(inputs={"a": 10}), 10)
        self.assertEqual(absval.evaluate(inputs={"a": 10}, known_evals={})[0], 10)
Пример #4
0
 def test_unary_operator(self):
     a = pybamm.Symbol("a", domain=["test"])
     un = pybamm.UnaryOperator("unary test", a)
     self.assertEqual(un.children[0].name, a.name)
     self.assertEqual(un.domain, a.domain)
Пример #5
0
 def test_jac_of_unary_operator(self):
     a = pybamm.Scalar(1)
     b = pybamm.UnaryOperator("Operator", a)
     y = pybamm.StateVector(slice(0, 1))
     with self.assertRaises(NotImplementedError):
         b.jac(y)
Пример #6
0
 def test_jac_of_unary_operator(self):
     a = pybamm.Scalar(1)
     b = pybamm.UnaryOperator("Operator", a)
     with self.assertRaises(NotImplementedError):
         b.jac(None)