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)
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))
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)
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)
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)
def test_jac_of_unary_operator(self): a = pybamm.Scalar(1) b = pybamm.UnaryOperator("Operator", a) with self.assertRaises(NotImplementedError): b.jac(None)