接入test_mql外力信号边界

This commit is contained in:
huojiarong committed 2026-07-20 09:18:05 +00:00
1 parent c8de46fac2
commit bb4a71c612
2 files changed
+136 -7

No files matched your search

+34 -2
View File
@@ -36,9 +36,41 @@ class TestMqlMechanicalAssemblyTests(unittest.TestCase):
self.assertEqual(len(self.assembly.masses), 10)
self.assertEqual(len(self.assembly.elastic_endstops), 8)
self.assertEqual(len(self.assembly.mechanical_nodes), 2)
self.assertEqual(len(self.assembly.zero_force_sources), 16)
self.assertEqual(len(self.assembly.piecewise_signals), 2)
self.assertEqual(len(self.assembly.force_connectors), 2)
self.assertEqual(self.assembly.component_count, 46)
self.assertEqual(len(self.assembly.zero_force_sources), 16)
self.assertEqual(self.assembly.component_count, 48)
def test_piecewise_force_sources_match_amesim_samples(self) -> None:
front_signal = self.assembly.piecewise_signals["piecewiselinear_1"]
rear_signal = self.assembly.piecewise_signals["piecewiselinear"]
self.assertAlmostEqual(front_signal.output_at(0.0), 1.0e12)
self.assertAlmostEqual(front_signal.output_at(0.8000000000000009), 0.0)
self.assertAlmostEqual(rear_signal.output_at(0.0), 1.0e17)
self.assertAlmostEqual(rear_signal.output_at(0.8000000000000009), 49000.0)
self.assertEqual(
self.assembly.force_connectors["forcecon_2"].target_mass_alias,
"mass_friction_endstops_18",
)
self.assertEqual(
self.assembly.force_connectors["forcecon_1"].target_mass_alias,
"mass_friction_endstops_19",
)
self.assertAlmostEqual(
self.assembly.force_connectors["forcecon_2"].force_at(
0.0,
self.assembly.piecewise_signals,
),
self.amesim_results.series("force@forcecon_2")[0],
)
self.assertAlmostEqual(
self.assembly.force_connectors["forcecon_1"].force_at(
0.8000000000000009,
self.assembly.piecewise_signals,
),
self.amesim_results.series("force@forcecon_1")[80],
)
def test_mechanical_mass_closure_exposes_all_mecmas21_states(self) -> None:
closure = TestMqlMechanicalMassClosure(self.assembly)