校验test_mql机械观测量
This commit is contained in:
1 parent
6f34ac16bf
commit
a63fda313b
3 files changed
+57
-3
No files matched your search
@@ -92,6 +92,45 @@ class TestMqlMechanicalAssemblyTests(unittest.TestCase):
|
||||
self.assertEqual(node.sum_mode, 1)
|
||||
self.assertIn("dynamic_mechanical_node_alternative_2", self.assembly.aliases)
|
||||
|
||||
|
||||
def test_all_piston_geometry_observables_match_amesim_final_sample(self) -> None:
|
||||
for alias, piston in self.assembly.pistons.items():
|
||||
with self.subTest(alias=alias):
|
||||
geometry = piston.geometry()
|
||||
x4 = self.amesim_results.series(f"x4@{alias}")[-1]
|
||||
x5 = self.amesim_results.series(f"x5@{alias}")[-1]
|
||||
v4 = self.amesim_results.series(f"v4@{alias}")[-1]
|
||||
v5 = self.amesim_results.series(f"v5@{alias}")[-1]
|
||||
|
||||
self.assertAlmostEqual(
|
||||
geometry.chamber_length_mm(x4, x5),
|
||||
self.amesim_results.series(f"length@{alias}")[-1],
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
geometry.chamber_volume_cm3(x4, x5),
|
||||
self.amesim_results.series(f"vol1@{alias}")[-1],
|
||||
delta=1.0e-6,
|
||||
)
|
||||
self.assertAlmostEqual(
|
||||
geometry.chamber_volume_rate_l_min(v4, v5),
|
||||
self.amesim_results.series(f"vvol1@{alias}")[-1],
|
||||
delta=1.0e-8,
|
||||
)
|
||||
|
||||
def test_all_elastic_endstop_forces_match_amesim_final_sample(self) -> None:
|
||||
for endstop_alias, endstop_spec in self.assembly.elastic_endstops.items():
|
||||
piston_alias = endstop_alias.replace("elasticendstop", "pn_brp2")
|
||||
with self.subTest(alias=endstop_alias):
|
||||
endstop = endstop_spec.endstop()
|
||||
gap_mm = self.amesim_results.series(f"gap@{endstop_alias}")[-1]
|
||||
penetration_velocity_m_s = self.amesim_results.series(f"v5@{piston_alias}")[-1]
|
||||
|
||||
self.assertAlmostEqual(
|
||||
endstop.contact_force(gap_mm, penetration_velocity_m_s),
|
||||
self.amesim_results.series(f"f1@{endstop_alias}")[-1],
|
||||
delta=1.0e-3,
|
||||
)
|
||||
|
||||
def test_unit_helpers(self) -> None:
|
||||
self.assertAlmostEqual(mm_to_m(20.0), 0.02)
|
||||
self.assertAlmostEqual(n_per_mm_to_n_per_m(1.0e6), 1.0e9)
|
||||
|
||||
Reference in new issue
Block a user