初版:实现 AMESim 机械因果化与事件求解

初步支持 MECMAS21 刚性质量状态归并、端止事件、恢复系数,以及 LSTP 接触和压力流量显式因果化。

已知问题:显式传播仍会重复扫描全网方程,长时刚性仿真性能待优化;自适应积分器遇到越出物理域的试探状态时,尚未实现恢复并缩步重试。
This commit is contained in:
ljz committed 2026-08-03 15:45:48 +08:00
1 parent de265cdde6
commit 971e8f2336
9 files changed
+2808 -169

No files matched your search

@@ -127,7 +127,7 @@ class PressureFlowSolverInitializationTests(unittest.TestCase):
with patch.object(
PressureFlowSolver,
"_seed_explicit_mass_flows",
"_solve_explicit_flow_unknowns",
return_value=None,
), patch("scipy.optimize.least_squares", side_effect=exact_status_zero):
diagnostics = exact_solver.solve()
@@ -148,7 +148,7 @@ class PressureFlowSolverInitializationTests(unittest.TestCase):
with patch.object(
PressureFlowSolver,
"_seed_explicit_mass_flows",
"_solve_explicit_flow_unknowns",
return_value=None,
), patch("scipy.optimize.least_squares", side_effect=inaccurate_status_zero):
with self.assertRaises(AlgebraicSolveError):
@@ -168,7 +168,7 @@ class PressureFlowSolverInitializationTests(unittest.TestCase):
with patch.object(
PressureFlowSolver,
"_seed_explicit_mass_flows",
"_solve_explicit_flow_unknowns",
return_value=None,
), patch("scipy.optimize.least_squares", side_effect=exact_invalid_status):
with self.assertRaises(AlgebraicSolveError):