补充test_mql机械节点运动学

This commit is contained in:
huojiarong committed 2026-07-20 09:09:49 +00:00
1 parent 0035243361
commit 8782f96baf
2 files changed
+57 -1

No files matched your search

+25
View File
@@ -63,6 +63,31 @@ class TestMqlMechanicalAssemblyTests(unittest.TestCase):
for index, mass_state in enumerate(snapshot.states):
self.assertAlmostEqual(rhs[2 * index + 1], mass_state.velocity_m_s)
def test_mechanical_mass_snapshot_exposes_lmechan1_node_kinematics(self) -> None:
closure = TestMqlMechanicalMassClosure(self.assembly)
state = closure.initial_state_vector()
state[16] = 0.2
state[17] = 0.37
state[18] = -0.3
state[19] = -0.72
snapshot = closure.snapshot(state)
front = snapshot.node_kinematics_by_alias[
"dynamic_mechanical_node_alternative_2"
]
rear = snapshot.node_kinematics_by_alias[
"dynamic_mechanical_node_alternative_3"
]
self.assertEqual(set(front.velocities_m_s), set(range(1, 9)))
self.assertEqual(set(front.displacements_m), set(range(1, 9)))
self.assertEqual(set(rear.velocities_m_s), set(range(1, 9)))
self.assertEqual(set(rear.displacements_m), set(range(1, 9)))
self.assertAlmostEqual(front.velocities_m_s[1], -0.2)
self.assertAlmostEqual(front.displacements_m[8], -0.37)
self.assertAlmostEqual(rear.velocities_m_s[1], -0.3)
self.assertAlmostEqual(rear.displacements_m[8], -0.72)
def test_system_simulates_mechanical_mass_state_closure(self) -> None:
system = TestMqlSystem()