补充test_mql质量端止动原语

This commit is contained in:
huojiarong committed 2026-07-15 10:19:24 +00:00
1 parent a63fda313b
commit f6dda509a2
5 files changed
+142

No files matched your search

@@ -5,6 +5,7 @@ from pathlib import Path
from PythonModels.components.amesim_mechanical import (
AmesimElasticEndstop,
AmesimMassFrictionEndstops,
AmesimPistonGeometry,
circular_area,
m_to_mm,
@@ -76,6 +77,22 @@ class AmesimMechanicalComponentsTest(unittest.TestCase):
self.assertEqual(endstop.static_contact_force(0.1), 0.0)
self.assertEqual(endstop.penetration_m_from_gap_mm(0.1), 0.0)
def test_mass_endstop_penetration_and_viscous_friction(self) -> None:
mass = AmesimMassFrictionEndstops(
mass_kg=50.0,
lower_limit_m=-1.0,
upper_limit_m=0.8,
lower_stiffness_n_per_m=1.0e9,
upper_stiffness_n_per_m=1.0e9,
viscous_friction_n_per_m_per_s=12.0,
)
self.assertEqual(mass.lower_penetration_m(0.0), 0.0)
self.assertEqual(mass.upper_penetration_m(0.0), 0.0)
self.assertAlmostEqual(mass.lower_static_force_magnitude(-1.001), 1.0e6, delta=1.0e-6)
self.assertAlmostEqual(mass.upper_static_force_magnitude(0.801), 1.0e6, delta=1.0e-6)
self.assertAlmostEqual(mass.viscous_friction_force(0.25), -3.0)
if __name__ == "__main__":
unittest.main()