def testL3GeomIncidentVelocity_homoPos(self): "PBC: L6Geom incident velocity (homoDeform=='pos')" S=woo.master.scene S.cell.homoDeform='pos'; S.one() S.engines=[ForceResetter(),ContactLoop([Cg2_Sphere_Sphere_L6Geom()],[Cp2_FrictMat_FrictPhys()],[Law2_L6Geom_FrictPhys_IdealElPl(noBreak=True)]),Leapfrog(reset=True)] i=utils.createContacts([0],[1])[0] S.dt=1e-10; S.one() self.assertAlmostEqual(self.initVel.norm(),i.geom.vel.norm())
def testL6GeomIncidentVelocity(self): "PBC: L6Geom incident velocity (homoDeform==Cell.HomoGradV2)" S=woo.master.scene S.cell.homoDeform=Cell.HomoGradV2 S.one() S.engines=[ForceResetter(),ContactLoop([Cg2_Sphere_Sphere_L6Geom()],[Cp2_FrictMat_FrictPhys()],[Law2_L6Geom_FrictPhys_IdealElPl(noBreak=True)]),Leapfrog(reset=True)] i=utils.createContacts([0],[1])[0] S.dt=1e-10; S.one() # tiny timestep, to not move the normal too much self.assertAlmostEqual(self.initVel.norm(),i.geom.vel.norm())
def testL6GeomIncidentVelocity(self): "PBC: L6Geom incident velocity (homoDeform=='gradV2')" S = woo.master.scene S.cell.homoDeform = 'gradV2' S.one() S.engines = [ ForceResetter(), ContactLoop([Cg2_Sphere_Sphere_L6Geom()], [Cp2_FrictMat_FrictPhys()], [Law2_L6Geom_FrictPhys_IdealElPl(noBreak=True)]), Leapfrog(reset=True) ] i = utils.createContacts([0], [1])[0] S.dt = 1e-10 S.one() # tiny timestep, to not move the normal too much self.assertAlmostEqual(self.initVel.norm(), i.geom.vel.norm())