def initialize(self, io): self.nsds = io._model.nonSmoothDynamicalSystem() self.topo = self.nsds.topology() self.joint1_inter = self.topo.getInteraction('joint1') self.joint1 = Mechanics.joints.cast_NewtonEulerJointR( self.joint1_inter.relation()) self.bar = self.topo.getDynamicalSystem('bar') self.post = self.topo.getDynamicalSystem('post') self.y = Kernel.SiconosVector(5) self.yDoF = Kernel.SiconosVector(1) self.jachq = Kernel.SimpleMatrix(1, 14)
def test_getVector(): assert (sk.getVector([1, 2, 3]) == np.array([1, 2, 3])).all() v = sk.SiconosVector(3) v.setValue(0, 1) v.setValue(1, 2) v.setValue(2, 4) assert (sk.getVector(v) != np.array([1, 2, 3])).any() assert (sk.getVector(v) == np.array([1, 2, 4])).all() v1 = sk.SiconosVector([1, 2, 3]) v2 = sk.SiconosVector(np.asarray([1, 2, 3])) assert (sk.getVector(v1) == sk.getVector(v2)).all()
def test_castVector(): i = [1.0, 4.0, 3.0] v = sk.SiconosVector([1, 2, 3]) assert str(v) == '[3](1,2,3)' repr(v) assert v[0] == 1.0 try: v[5] raise Exception("expected IndexError") except IndexError: pass v[1] = 4 assert v[1] == 4.0 try: v[4] = 5 raise Exception("expected IndexError") except IndexError: pass for x, y in zip(v, i): assert x == y for x, y in zip(list(v), i): assert x == y for x, y in zip(np.array(v), i): assert x == y assert 3.0 in v assert 5.0 not in v
def initialize(self, io): ang_force = 6.0 self.io = io topo = io._nsds.topology() self.wheels = [ topo.getDynamicalSystem('wheel%d' % i) for i in [1, 2, 3, 4] ] self.wheel_const = np.array(self.wheels[0].fExt()) self.wheel_force = Kernel.SiconosVector(3) self.wheel_force.setVector(0, self.wheel_const) self.wheel_torque = Kernel.SiconosVector(3) self.wheel_torque.setValue(1, ang_force) # Same force and torque to all wheels [w.setFExtPtr(self.wheel_force) for w in self.wheels] [w.setMExtPtr(self.wheel_torque) for w in self.wheels]